[GRASS-SVN] r44935 - grass/branches/releasebranch_6_4/imagery/i.atcorr

svn_grass at osgeo.org svn_grass at osgeo.org
Mon Jan 10 08:55:10 EST 2011


Author: aghisla
Date: 2011-01-10 05:55:10 -0800 (Mon, 10 Jan 2011)
New Revision: 44935

Modified:
   grass/branches/releasebranch_6_4/imagery/i.atcorr/Iwave.cpp
Log:
Recalculated AVNIR filters according to corrected create_iwave.py function, present revision. Merged from trunk.

Modified: grass/branches/releasebranch_6_4/imagery/i.atcorr/Iwave.cpp
===================================================================
--- grass/branches/releasebranch_6_4/imagery/i.atcorr/Iwave.cpp	2011-01-10 13:55:05 UTC (rev 44934)
+++ grass/branches/releasebranch_6_4/imagery/i.atcorr/Iwave.cpp	2011-01-10 13:55:10 UTC (rev 44935)
@@ -1963,61 +1963,65 @@
 void IWave::avnir(int iwa)
 {
     /* "band 1" of AVNIR */
-    static const float sr1[64] = {
-		.0000, .0000, .0000, .0008, .0017, .0049, .0080,
-		.0293, .0776, .1260, .2609, .3958, .5315, .6672,
-		.7223, .7262, .7300, .7272, .7245, .7717, .8189,
-		.8815, .9068, .9322, .9496, .9669, .9708, .9747,
-		1.0000, .9849, .9699, .9507, .9316, .9365, .9415,
-		.9849, .9600, .9351, .7552, .5754, .3911, .2068,
-		.0655, .0440, .0226, .0150, .0075, .0046, .0018,
-		.0000, .0000, .0000, .0000, .0000, .0000, .0000
+    static const float sr1[65] = {
+		.0000, .0000, .0000, .0008, .0017, .0049, .0080, .0186,
+		.0293, .0776, .1260, .2609, .3958, .5315, .6672, .6947,
+		.7223, .7262, .7300, .7272, .7245, .7717, .8189, .8502,
+		.8815, .9068, .9322, .9496, .9669, .9708, .9747, .9873,
+		1.0000, .9849, .9699, .9507, .9316, .9365, .9415, .9632,
+		.9849, .9600, .9351, .7552, .5754, .3911, .2068, .1361,
+		.0655, .0440, .0226, .0150, .0075, .0046, .0018, .0009,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000
     };
-
+	
     /* "band 2" of AVNIR */
-    static const float sr2[56] = {
-		.0000, .0000, .0000, .0008, .0015, .0030, .0045,
-		.0202, .0470, .0739, .1358, .1977, .3205, .4433,
-		.6832, .7137, .7442, .7594, .7746, .8089, .8432,
-		.8719, .8721, .8724, .8873, .9022, .9254, .9486,
-		.9764, .9882, 1.0000, .9904, .9808, .9349, .8890,
-		.7843, .7651, .7458, .7156, .6854, .5639, .4425,
-		.1586, .0985, .0384, .0236, .0088, .0053, .0017
+    static const float sr2[57] = {
+		.0000, .0000, .0000, .0008, .0015, .0030, .0045, .0123,
+		.0202, .0470, .0739, .1358, .1977, .3205, .4433, .5633,
+		.6832, .7137, .7442, .7594, .7746, .8089, .8432, .8576,
+		.8719, .8721, .8724, .8873, .9022, .9254, .9486, .9625,
+		.9764, .9882, 1.0000, .9904, .9808, .9349, .8890, .8367,
+		.7843, .7651, .7458, .7156, .6854, .5639, .4425, .3005,
+		.1586, .0985, .0384, .0236, .0088, .0053, .0017, .0008,
+		.0000
     };
-
+	
     /* "band 3" of AVNIR */
-    static const float sr3[80] = {
-		.0000, .0000, .0000, .0000, .0000, .0000, .0000,
-		.0016, .0025, .0034, .0043, .0051, .0075, .0099,
-		.0153, .0228, .0304, .0462, .0620, .0995, .1370,
-		.2844, .3857, .4871, .5747, .6624, .7198, .7771,
-		.8021, .7991, .7960, .7989, .8017, .8312, .8606,
-		.9359, .9592, .9825, .9912, 1.0000, .9931, .9862,
-		.9275, .9046, .8818, .8607, .8395, .8344, .8293,
-		.8136, .7470, .6804, .5481, .4158, .3100, .2043,
-		.0898, .0634, .0369, .0273, .0177, .0135, .0093,
-		.0060, .0045, .0030, .0023, .0015, .0016, .0016
+    static const float sr3[81] = {
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0008,
+		.0016, .0025, .0034, .0043, .0051, .0075, .0099, .0126,
+		.0153, .0228, .0304, .0462, .0620, .0995, .1370, .2107,
+		.2844, .3857, .4871, .5747, .6624, .7198, .7771, .7896,
+		.8021, .7991, .7960, .7989, .8017, .8312, .8606, .8982,
+		.9359, .9592, .9825, .9912, 1.0000, .9931, .9862, .9568,
+		.9275, .9046, .8818, .8607, .8395, .8344, .8293, .8215,
+		.8136, .7470, .6804, .5481, .4158, .3100, .2043, .1471,
+		.0898, .0634, .0369, .0273, .0177, .0135, .0093, .0076,
+		.0060, .0045, .0030, .0023, .0015, .0016, .0016, .0008,
+		.0000
     };
-
+	
     /* "band 4" of AVNIR */
-    static const float sr4[120] = {
-		.0000, .0000, .0000, .0000, .0000, .0000, .0000,
-		.0023, .0023, .0022, .0033, .0045, .0080, .0115,
-		.0264, .0484, .0704, .1138, .1572, .2351, .3129,
-		.5733, .7244, .8754, .9377, 1.0000, .9884, .9768,
-		.9288, .9091, .8894, .8763, .8633, .8627, .8622,
-		.8885, .9136, .9388, .9437, .9486, .9531, .9576,
-		.9247, .8969, .8691, .8467, .8242, .7893, .7545,
-		.7117, .6911, .6705, .6560, .6414, .6357, .6299,
-		.6217, .6227, .6237, .6025, .5812, .5843, .5874,
-		.5860, .5696, .5532, .5251, .4969, .4438, .3908,
-		.2475, .1906, .1338, .1033, .0727, .0543, .0359,
-		.0224, .0161, .0097, .0069, .0040, .0038, .0036,
-		.0025, .0024, .0024, .0015, .0007, .0004, .0000,
-		.0007, .0006, .0006, .0006, .0006, .0003, .0000,
-		.0000, .0000, .0000, .0000, .0000, .0000, .0000
+    static const float sr4[121] = {
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0011,
+		.0023, .0023, .0022, .0033, .0045, .0080, .0115, .0190,
+		.0264, .0484, .0704, .1138, .1572, .2351, .3129, .4431,
+		.5733, .7244, .8754, .9377, 1.0000, .9884, .9768, .9528,
+		.9288, .9091, .8894, .8763, .8633, .8627, .8622, .8753,
+		.8885, .9136, .9388, .9437, .9486, .9531, .9576, .9411,
+		.9247, .8969, .8691, .8467, .8242, .7893, .7545, .7331,
+		.7117, .6911, .6705, .6560, .6414, .6357, .6299, .6258,
+		.6217, .6227, .6237, .6025, .5812, .5843, .5874, .5867,
+		.5860, .5696, .5532, .5251, .4969, .4438, .3908, .3191,
+		.2475, .1906, .1338, .1033, .0727, .0543, .0359, .0292,
+		.0224, .0161, .0097, .0069, .0040, .0038, .0036, .0030,
+		.0025, .0024, .0024, .0015, .0007, .0004, .0000, .0003,
+		.0007, .0006, .0006, .0006, .0006, .0003, .0000, .0000,
+		.0000, .0000, .0000, .0000, .0000, .0000, .0000, .0000,
+		.0000
     };
-
+	
     static const float wli[4] = {0.390, 0.485, 0.545, 0.700};
     static const float wls[4] = {0.550, 0.625, 0.745, 1.000};
 
@@ -2029,13 +2033,13 @@
 
     switch(iwa)
     {
-    case 1: for(i = 0; i < 64; i++)  ffu.s[56+i] = sr1[i];
+    case 1: for(i = 0; i < 65; i++)  ffu.s[56+i] = sr1[i];
         break;
-    case 2: for(i = 0; i < 56; i++)  ffu.s[94+i] = sr2[i];
+    case 2: for(i = 0; i < 57; i++)  ffu.s[94+i] = sr2[i];
         break;
-    case 3: for(i = 0; i < 80; i++)  ffu.s[118+i] = sr3[i];
+    case 3: for(i = 0; i < 81; i++)  ffu.s[118+i] = sr3[i];
         break;
-    case 4: for(i = 0; i < 120; i++)  ffu.s[180+i] = sr4[i];
+    case 4: for(i = 0; i < 121; i++)  ffu.s[180+i] = sr4[i];
         break;
     }
 }



More information about the grass-commit mailing list