[GRASS-dev] seg fault of i.atcorr on quickbird

Yann dr.yann.chemin at gmail.com
Sun Nov 27 11:19:03 PST 2016


It seems there is a bug in either the python file or the csv file.

--------

python create_iwave.py sensors_csv/quickbird2.csv

  > Getting sensor name from csv file: quickbird2
  > Number of bands found: 5
Traceback (most recent call last):
   File "create_iwave.py", line 284, in <module>
     main()
   File "create_iwave.py", line 270, in main
     write_cpp(bands, values, sensor, os.path.dirname(inputfile))
   File "create_iwave.py", line 188, in write_cpp
     fi, li = interpolate_band(values[:,[0,b+1]])
   File "create_iwave.py", line 122, in interpolate_band
     filter_f = f(np.arange(start, stop, step))
   File "/usr/lib/python2.7/dist-packages/scipy/interpolate/polyint.py", 
line 79, in __call__
     y = self._evaluate(x)
   File 
"/usr/lib/python2.7/dist-packages/scipy/interpolate/interpolate.py", 
line 588, in _evaluate
     below_bounds, above_bounds = self._check_bounds(x_new)
   File 
"/usr/lib/python2.7/dist-packages/scipy/interpolate/interpolate.py", 
line 620, in _check_bounds
     raise ValueError("A value in x_new is above the interpolation "
ValueError: A value in x_new is above the interpolation range.


On 27/11/2016 20:06, Markus Neteler wrote:
> On Sun, Nov 27, 2016 at 7:47 PM, Yann <dr.yann.chemin at gmail.com> wrote:
>> trying to run i.atcorr on an image of Colombo.
>>
>> i.atcorr --overwrite input=radxs.1 parameters=6s_b1.txt output=refxs.1
> ...
>> Segmentation fault (core dumped)
>>
>> I looked into the iwave.cpp, it seems OK. What is the wavelength being less than 0.25 micron, never seen that before...
> I wonder about this:
>
> grep 'ffu.s\[-' imagery/i.atcorr/iwave.cpp
>      case 1: for(i = 0; i < 65; i++)  ffu.s[-99+i] = sr1[i];
>      case 2: for(i = 0; i < 65; i++)  ffu.s[-99+i] = sr2[i];
>      case 3: for(i = 0; i < 65; i++)  ffu.s[-99+i] = sr3[i];
>      case 4: for(i = 0; i < 65; i++)  ffu.s[-99+i] = sr4[i];
>      case 5: for(i = 0; i < 65; i++)  ffu.s[-99+i] = sr5[i];
>
> Negative value (-99)? If I remember correctly the Quickbird support
> was added still without using the script.
>
> In r69930 (just now) I have added the Quickbird2 filter functions as
> CSV which I got from Nikos in August to that you may re-run the
> create_iwave.py script and compare the resulting iwave.cpp etc code to
> that present in the source code at time.
>
> Markus



More information about the grass-dev mailing list