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@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