Markus Neteler dd0d83222c new Wiki URL před 12 roky
..
sensors_csv 070e5491ee Added VGT1 and VGT2 atmospheric correction. Thanks to Alfredo Alessandrini for the extraction from 6S sources. před 14 roky
test_suite 42d580c9ec added DEM před 16 roky
6s.cpp 3b9cbc9c1c i.atcorr: cache fix, manual update před 14 roky
6s.h db49180dd7 welcome to GRASS 7.0.svn před 17 roky
Abstra.cpp 78e6275e1d i.atcorr: use same indentation rules for all files před 17 roky
Abstra.h db49180dd7 welcome to GRASS 7.0.svn před 17 roky
AerosolConcentration.cpp 78e6275e1d i.atcorr: use same indentation rules for all files před 17 roky
AerosolConcentration.h db49180dd7 welcome to GRASS 7.0.svn před 17 roky
AerosolModel.cpp 0c685e19eb i.atcorr: use G_warning()/G_fatal_error() instead of fprintf(stderr, ...) před 17 roky
AerosolModel.h db49180dd7 welcome to GRASS 7.0.svn před 17 roky
Altitude.cpp 3b9cbc9c1c i.atcorr: cache fix, manual update před 14 roky
Altitude.h 3b9cbc9c1c i.atcorr: cache fix, manual update před 14 roky
AtmosModel.cpp 0c685e19eb i.atcorr: use G_warning()/G_fatal_error() instead of fprintf(stderr, ...) před 17 roky
AtmosModel.h db49180dd7 welcome to GRASS 7.0.svn před 17 roky
Date.h db49180dd7 welcome to GRASS 7.0.svn před 17 roky
Gauss.h db49180dd7 welcome to GRASS 7.0.svn před 17 roky
GeomCond.cpp 070e5491ee Added VGT1 and VGT2 atmospheric correction. Thanks to Alfredo Alessandrini for the extraction from 6S sources. před 14 roky
GeomCond.h 070e5491ee Added VGT1 and VGT2 atmospheric correction. Thanks to Alfredo Alessandrini for the extraction from 6S sources. před 14 roky
Interp.cpp 78e6275e1d i.atcorr: use same indentation rules for all files před 17 roky
Interp.h db49180dd7 welcome to GRASS 7.0.svn před 17 roky
Iwave.cpp 070e5491ee Added VGT1 and VGT2 atmospheric correction. Thanks to Alfredo Alessandrini for the extraction from 6S sources. před 14 roky
Iwave.h 070e5491ee Added VGT1 and VGT2 atmospheric correction. Thanks to Alfredo Alessandrini for the extraction from 6S sources. před 14 roky
Makefile 3b9cbc9c1c i.atcorr: cache fix, manual update před 14 roky
Output.cpp db49180dd7 welcome to GRASS 7.0.svn před 17 roky
Output.h 2f67f7eb32 include missing c++ header needed for gcc 4.4. debian bug https://trac.osgeo.org/grass/ticket/526204, patch from Martin Michlmayr před 16 roky
README 070e5491ee Added VGT1 and VGT2 atmospheric correction. Thanks to Alfredo Alessandrini for the extraction from 6S sources. před 14 roky
Transform.cpp 78e6275e1d i.atcorr: use same indentation rules for all files před 17 roky
Transform.h db49180dd7 welcome to GRASS 7.0.svn před 17 roky
common.cpp f6c40d2c95 Fix warnings před 14 roky
common.h 3b9cbc9c1c i.atcorr: cache fix, manual update před 14 roky
computations.cpp 0c685e19eb i.atcorr: use G_warning()/G_fatal_error() instead of fprintf(stderr, ...) před 17 roky
create_iwave.py 97cf9860c3 Daniel Victoria: bugfixes for filter function před 14 roky
gauss.cpp 78e6275e1d i.atcorr: use same indentation rules for all files před 17 roky
i.atcorr.html dd0d83222c new Wiki URL před 12 roky
main.cpp e37dd9bc05 fix typo, code comment před 14 roky

README

Adding new band filters (see also Iwave.h):

Note: the spectral range is from 250 nm to 4000 nm (see Iwave.h) which is
4000-250=3750nm. The step size is (4000-250)/1500=2.5 nm in the ffu.s array.

o bands are defined by their discrete filter function
o to compute a band position in the 1500 slots of ffu.s array, start
with 250nm using 2.5nm increments. The result is the starting index
for the spectral band.
o 1500 is the number of wavelength spectral description slots.
- a 'for' loop fills up the slots with 0
- then the ffu.s array is filled with each of the spectral band data
one after the other.
Example Lsat TM: (435-250) / 2.5 = 74

o add filter function to Iwave.cpp, before IWave::equivwl()
o add else-if in IWave::parse() in Iwave.cpp
o add print strings in Iwave.cpp

o add iwave values and signature in Iwave.h
o add to GeomCond.cpp and GeomCond.h
o add to i.atcorr.html


Preparation of the Iwave.cpp file code:

The helper script create_iwave.py can help to interpolate the filter functions
to the correct step size of 2.5 nm (in case that the filter function data
are delivered with a different step size).
The output filter function in a format as needed in the Iwave.cpp file.

The script create_iwave.py basically needs a .csv file with spectral
response for each band in a column. The first column has to be the
wavelength (nm). The first line (and only first) is a header with
wavelength, followed by band names file name is used for sensor name.
See for example ./sensors_csv/ikonos.csv.

Usage
create_iwave.py

If generates the filter function as IWave.cpp template from csv file.

Note: If the spectral response is null for a frequency, leave it empty
in csv file. Ex.:

WL(nm),band 1,band 2,band 3,band 4
455,0.93,,,
485,0.94,0.00,,
545,0.00,0.87,0.00,

Program will interpolate filter function to 2.5 nm steps
and output a CPP template file in the IWave format.