[GRASS-SVN] r45786 - grass/branches/develbranch_6/imagery/i.atcorr
svn_grass at osgeo.org
svn_grass at osgeo.org
Sun Mar 27 04:28:54 EDT 2011
Date: 2011-03-27 01:28:54 -0700 (Sun, 27 Mar 2011)
New Revision: 45786
better explain how to add sensors
--- grass/branches/develbranch_6/imagery/i.atcorr/Iwave.cpp 2011-03-27 08:28:08 UTC (rev 45785)
+++ grass/branches/develbranch_6/imagery/i.atcorr/Iwave.cpp 2011-03-27 08:28:54 UTC (rev 45786)
@@ -10,22 +10,8 @@
#pragma warning(disable:4305) /* disable warning about initialization of a float by a double */
-/* Adding new band filters (see also Iwave.h):
- * Note: the spectral range ranges 250 to 4000 nm (see Iwave.h) which is
- * 4000-250=3750nm, and (4000-250)/1500=2.5. Hence, the resulting step
- * size is 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 bands data one after the other.
- * Example Lsat TM: (435-250) / 2.5 = 74
- * o add iwave value, also in Iwave.h
- * o add to GeomCond.cpp and GeomCond.h
+/* Adding new band filters:
+ * see README
--- grass/branches/develbranch_6/imagery/i.atcorr/README (rev 0)
+++ grass/branches/develbranch_6/imagery/i.atcorr/README 2011-03-27 08:28:54 UTC (rev 45786)
@@ -0,0 +1,47 @@
+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 iwave values, also in Iwave.h
+ o add to GeomCond.cpp and GeomCond.h
+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.
+ create_iwave.py <csv file>
+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
+Program will interpolate filter function to 2.5 nm steps
+and output a CPP template file in the IWave format.
More information about the grass-commit