[GRASS-SVN] r72131 - grass/trunk/imagery/i.atcorr

svn_grass at osgeo.org svn_grass at osgeo.org
Thu Jan 25 08:49:28 PST 2018


Author: mmetz
Date: 2018-01-25 08:49:27 -0800 (Thu, 25 Jan 2018)
New Revision: 72131

Modified:
   grass/trunk/imagery/i.atcorr/i.atcorr.html
   grass/trunk/imagery/i.atcorr/iwave.cpp
Log:
i.atcorr: update ETM+

Modified: grass/trunk/imagery/i.atcorr/i.atcorr.html
===================================================================
--- grass/trunk/imagery/i.atcorr/i.atcorr.html	2018-01-25 16:43:54 UTC (rev 72130)
+++ grass/trunk/imagery/i.atcorr/i.atcorr.html	2018-01-25 16:49:27 UTC (rev 72131)
@@ -582,13 +582,13 @@
 <tr><td>59</td><td>POLDER band 7 P1 (0.8100-0.9200)</td></tr>
 <tr><td>60</td><td>POLDER band 8 (non polar) (0.8650-0.9400)</td></tr>
 
-<tr><td>61</td><td><b>etm+ (landsat7)</b> band 1 (0.435-0.520)</td></tr>
-<tr><td>62</td><td>etm+ (landsat7) band 2 (0.506-0.621)</td></tr>
-<tr><td>63</td><td>etm+ (landsat7) band 3 (0.622-0.702)</td></tr>
-<tr><td>64</td><td>etm+ (landsat7) band 4 (0.751-0.911)</td></tr>
-<tr><td>65</td><td>etm+ (landsat7) band 5 (1.512-1.792)</td></tr>
-<tr><td>66</td><td>etm+ (landsat7) band 7 (2.020-2.380)</td></tr>
-<tr><td>67</td><td>etm+ (landsat7) band 8 (0.504-0.909)</td></tr>
+<tr><td>61</td><td><b>etm+ (landsat7)</b> band 1 blue (435nm - 517nm)</td></tr>
+<tr><td>62</td><td>etm+ (landsat7) band 2 green (508nm - 617nm)</td></tr>
+<tr><td>63</td><td>etm+ (landsat7) band 3 (625nm - 702nm)</td></tr>
+<tr><td>64</td><td>etm+ (landsat7) band 4 NIR (753nm - 910nm)</td></tr>
+<tr><td>65</td><td>etm+ (landsat7) band 5 SWIR (1520nm - 1785nm)</td></tr>
+<tr><td>66</td><td>etm+ (landsat7) band 7 SWIR (2028nm - 2375nm)</td></tr>
+<tr><td>67</td><td>etm+ (landsat7) band 8 PAN (505nm - 917nm)</td></tr>
 
 <tr><td>68</td><td><b>liss (IRC 1C)</b> band 2 (0.502-0.620)</td></tr>
 <tr><td>69</td><td>liss (IRC 1C) band 3 (0.612-0.700)</td></tr>

Modified: grass/trunk/imagery/i.atcorr/iwave.cpp
===================================================================
--- grass/trunk/imagery/i.atcorr/iwave.cpp	2018-01-25 16:43:54 UTC (rev 72130)
+++ grass/trunk/imagery/i.atcorr/iwave.cpp	2018-01-25 16:49:27 UTC (rev 72131)
@@ -1325,139 +1325,141 @@
        http://ltpwww.gsfc.nasa.gov/IAS/handbook/handbook_toc.html
     */
     /* 1st spectral band of enhanced thematic mapper plus */
-    static const float sr1[35] = {
-	.0160, .0710, .2870, .6665, .7920, .8570, .8390, .8060,
-	.7790, .8460, .9010, .8995, .8900, .8510, .8750, .8930,
-	.8840, .9300, .9580, .9540, .9800, .9750, .9650, .9625,
-	.9950, .9900, .9900, .9795, .9830, .9685, .9600, .7685,
-	.2930, .0545, .0090
+    static const float sr1[36] = {
+        .0000, .0160, .0710, .2870, .6665, .7920, .8570, .8390,
+        .8060, .7790, .8460, .9010, .8995, .8900, .8510, .8750,
+        .8930, .8840, .9300, .9580, .9540, .9800, .9750, .9650,
+        .9625, .9950, .9900, .9900, .9795, .9830, .9685, .9600,
+        .7685, .2930, .0545, .0090
     };
 
     /* 2nd spectral band of enhanced thematic mapper plus */
-    static const float sr2[50] = {
-	.0006, .0015, .0030, .0117, .0260, .0740, .1740, .3480,
-	.5520, .6960, .7590, .7845, .8220, .8695, .9050, .9285,
-	.9470, .9525, .9520, .9515, .9530, .9500, .9540, .9670,
-	.9590, .9405, .9330, .9385, .9510, .9565, .9550, .9560,
-	.9730, .9915,1.0000, .9760, .9420, .9300, .9120, .7985,
-	.5740, .3400, .1850, .1055, .0620, .0375, .0210, .0109,
-	.0048, .0021
+    static const float sr2[52] = {
+        .0000, .0006, .0015, .0030, .0118, .0260, .0740, .1740,
+        .3480, .5520, .6960, .7590, .7845, .8220, .8695, .9050,
+        .9285, .9470, .9525, .9520, .9515, .9530, .9500, .9540,
+        .9670, .9590, .9405, .9330, .9385, .9510, .9565, .9550,
+        .9560, .9730, .9915, 1.0000, .9760, .9420, .9300, .9120,
+        .7985, .5740, .3400, .1850, .1055, .0620, .0375, .0210,
+        .0109, .0048, .0022, .0000
     };
 
     /* 3rd spectral band of enhanced thematic mapper plus */
-    static const float sr3[36] = {
-	.0001, .0006, .0020, .0095, .0470, .1740, .4190, .7310,
-	.9210, .9425, .9370, .9365, .9490, .9645, .9730, .9705,
-	.9580, .9550, .9620, .9800, .9930, .9980,1.0000, .9955,
-	.9920, .9885, .9770, .9545, .9320, .8805, .7290, .4440,
-	.1830, .0660, .0250, .0121
+    static const float sr3[39] = {
+        .0000, .0000, .0001, .0005, .0020, .0095, .0470, .1740,
+        .4190, .7310, .9210, .9425, .9370, .9365, .9490, .9645,
+        .9730, .9705, .9580, .9550, .9620, .9800, .9930, .9980,
+        1.0000, .9955, .9920, .9885, .9770, .9545, .9320, .8805,
+        .7290, .4440, .1830, .0660, .0250, .0122, .0000
     };
 
     /* 4th spectral band of enhanced thematic mapper plus */
-    static const float sr4[70] = {
-	.0004, .0021, .0037, .0024, .0010, .0199, .0315, .0518,
-	.0690, .1100, .1750, .2710, .4020, .5555, .7050, .8120,
-	.8710, .8955, .9080, .9180, .9260, .9280, .9300, .9255,
-	.9250, .9280, .9230, .9165, .9080, .9035, .9090, .9240,
-	.9460, .9655, .9710, .9690, .9670, .9655, .9670, .9605,
-	.9490, .9310, .9250, .9295, .9430, .9610, .9850, .9925,
-	.9980, .9915, .9940, .9970, .9980, .9995, .9910, .9880,
-	.9690, .9265, .8680, .8175, .8190, .8800, .8540, .5725,
-	.2560, .1035, .0440, .0220, .0110, .0071
-
+    static const float sr4[68] = {
+        .0000, .0010, .0199, .0315, .0518, .0690, .1100, .1750,
+        .2710, .4020, .5555, .7050, .8120, .8710, .8955, .9080,
+        .9180, .9260, .9280, .9300, .9255, .9250, .9280, .9230,
+        .9165, .9080, .9035, .9090, .9240, .9460, .9655, .9710,
+        .9690, .9670, .9655, .9670, .9605, .9490, .9310, .9250,
+        .9295, .9430, .9610, .9850, .9925, .9980, .9915, .9940,
+        .9970, .9980, .9995, .9910, .9880, .9690, .9265, .8680,
+        .8175, .8190, .8800, .8540, .5725, .2560, .1035, .0440,
+        .0220, .0110, .0071, .0000
     };
 
     /* 5th spectral band of enhanced thematic mapper plus */
-    static const float sr5[116] = {
-	.0015, .0000, .0010, .0112, .0120, .0060, .0135, .0210,
-	.0400, .0530, .0760, .1028, .1480, .2052, .2740, .3660,
-	.4620, .5137, .5780, .6250, .6670, .7090, .7370, .7710,
-	.8080, .8315, .8590, .8750, .8930, .9013, .8960, .8953,
-	.8945, .8878, .8760, .8685, .8725, .8773, .8740, .8605,
-	.8680, .8785, .8990, .8940, .9000, .9020, .9190, .9248,
-	.9290, .9455, .9475, .9533, .9520, .9668, .9610, .9598,
-	.9780, .9587, .9535, .9513, .9517, .9550, .9440, .9345,
-	.9305, .9385, .9480, .9398, .9385, .9470, .9450, .9450,
-	.9553, .9648, .9690, .9733, .9910, .9960, .9975, .9945,
-	1.0000, .9913, .9865, .9885, .9895, .9875, .9810, .9812,
-	.9780, .9685, .9600, .9383, .9020, .8545, .7910, .6928,
-	.6077, .5257, .4275, .3420, .2670, .2028, .1585, .1187,
-	.0840, .0723, .0535, .0437, .0390, .0305, .0205, .0217,
-	.0110, .0100, .0060, .0020
+    static const float sr5[114] = {
+        .0060, .0060, .0120, .0060, .0135, .0210, .0400, .0530,
+        .0760, .1028, .1480, .2052, .2740, .3660, .4620, .5138,
+        .5780, .6250, .6670, .7090, .7370, .7710, .8080, .8315,
+        .8590, .8750, .8930, .9012, .8960, .8952, .8945, .8878,
+        .8760, .8685, .8725, .8772, .8740, .8605, .8680, .8785,
+        .8990, .8940, .9000, .9020, .9190, .9248, .9290, .9455,
+        .9475, .9532, .9520, .9667, .9610, .9597, .9780, .9587,
+        .9535, .9512, .9517, .9550, .9440, .9345, .9305, .9385,
+        .9480, .9397, .9385, .9470, .9450, .9450, .9553, .9647,
+        .9690, .9732, .9910, .9960, .9975, .9945, 1.0000, .9912,
+        .9865, .9885, .9895, .9875, .9810, .9812, .9780, .9685,
+        .9600, .9383, .9020, .8545, .7910, .6927, .6077, .5258,
+        .4275, .3420, .2670, .2027, .1585, .1187, .0840, .0722,
+        .0535, .0438, .0390, .0305, .0205, .0217, .0110, .0100,
+        .0060, .0079
     };
 
     /* 7th spectral band of enhanced thematic mapper plus */
-    static const float sr6[147] = {
-	.0020, .0020, .0120, .0085, .0090, .0177, .0170, .0313,
-	.0370, .0458, .0580, .0762, .0880, .1097, .1490, .1960,
-	.2420, .3030, .3670, .4368, .5190, .6100, .6765, .7182,
-	.7560, .7738, .7840, .7755, .7890, .7817, .7780, .7665,
-	.7615, .7680, .7750, .7690, .7880, .8085, .7940, .8230,
-	.8115, .8195, .8365, .8370, .8360, .8513, .8585, .8553,
-	.8710, .8735, .8750, .8590, .8715, .8593, .8720, .8625,
-	.8650, .8680, .8765, .8730, .8690, .8760, .8680, .8793,
-	.8735, .8760, .8800, .8745, .8700, .8578, .8630, .8585,
-	.8440, .8585, .8545, .8625, .8680, .8560, .8470, .8613,
-	.8510, .8520, .8380, .8465, .8403, .8305, .8355, .8382,
-	.8220, .8380, .8385, .8425, .8535, .8623, .8730, .8680,
-	.8790, .8908, .8980, .9195, .9200, .9263, .9275, .9340,
-	.9360, .9533, .9540, .9518, .9600, .9728, .9850, .9720,
-	.9700, .9938, .9895, .9748,1.0000, .9912, .9680, .9658,
-	.9555, .9295, .9290, .9255, .9030, .9235, .9290, .9285,
-	.9200, .8533, .7750, .6587, .5315, .4035, .2750, .2175,
-	.1310, .1035, .0750, .0518, .0290, .0280, .0135, .0193,
-	.0130, .0065, .0150
+    static const float sr6[155] = {
+        .0029, .0030, .0023, .0030, .0008, .0020, .0040, .0020,
+        .0020, .0120, .0085, .0090, .0178, .0170, .0312, .0370,
+        .0457, .0580, .0762, .0880, .1098, .1490, .1960, .2420,
+        .3030, .3670, .4367, .5190, .6100, .6765, .7183, .7560,
+        .7738, .7840, .7755, .7890, .7818, .7780, .7665, .7615,
+        .7680, .7750, .7690, .7880, .8085, .7940, .8230, .8115,
+        .8195, .8365, .8370, .8360, .8512, .8585, .8552, .8710,
+        .8735, .8750, .8590, .8715, .8592, .8720, .8625, .8650,
+        .8680, .8765, .8730, .8690, .8760, .8680, .8792, .8735,
+        .8760, .8800, .8745, .8700, .8578, .8630, .8585, .8440,
+        .8585, .8545, .8625, .8680, .8560, .8470, .8612, .8510,
+        .8520, .8380, .8465, .8403, .8305, .8355, .8382, .8220,
+        .8380, .8385, .8425, .8535, .8622, .8730, .8680, .8790,
+        .8908, .8980, .9195, .9200, .9263, .9275, .9340, .9360,
+        .9532, .9540, .9517, .9600, .9728, .9850, .9720, .9700,
+        .9938, .9895, .9748, 1.0000, .9912, .9680, .9657, .9555,
+        .9295, .9290, .9255, .9030, .9235, .9290, .9285, .9200,
+        .8532, .7750, .6588, .5315, .4035, .2750, .2175, .1310,
+        .1035, .0750, .0518, .0290, .0290, .0155, .0192, .0130,
+        .0065, .0150, .0022
     };
 
     /* 8th spectral band of enhanced thematic mapper plus (Pan) */
-    static const float sr7[164] = {
-	.0028, .0175, .0563, .1500, .3285, .5015, .5845, .5990,
-	.6018, .6095, .6143, .6100, .6035, .6035, .6118, .6270,
-	.6385, .6445, .6438, .6320, .6260, .6245, .6320, .6420,
-	.6593, .6775, .6898, .6970, .7005, .7050, .7110, .7130,
-	.7165, .7180, .7120, .7070, .7040, .7030, .7148, .7300,
-	.7440, .7535, .7615, .7640, .7533, .7450, .7353, .7290,
-	.7285, .7310, .7328, .7340, .7435, .7495, .7540, .7580,
-	.7618, .7680, .7720, .7790, .7815, .7850, .7900, .7930,
-	.7918, .7915, .7950, .7980, .8018, .8060, .8133, .8200,
-	.8275, .8315, .8370, .8420, .8485, .8545, .8605, .8680,
-	.8723, .8795, .8853, .8920, .8945, .8960, .8945, .8940,
-	.8943, .8955, .8975, .9000, .9033, .9035, .9023, .9000,
-	.8968, .8935, .8828, .8790, .8783, .8730, .8760, .8800,
-	.8813, .8865, .8910, .8930, .9035, .9105, .9183, .9200,
-	.9175, .9160, .9183, .9180, .9168, .9155, .9173, .9270,
-	.9290, .9375, .9497, .9570, .9638, .9695, .9715, .9770,
-	.9795, .9840, .9908, .9970, .9985, .9980, .9953, .9940,
-	.9920, .9930, .9925, .9870, .9755, .9650, .9583, .9490,
-	.9348, .9240, .9133, .9070, .9053, .9085, .9193, .9400,
-	.9658, .9780, .9625, .8950, .7520, .5715, .3962, .2580,
-	.1675, .1080, .0687, .0440
+    static const float sr7[175] = {
+        .0000, .0000, .0027, .0175, .0563, .1500, .3285, .5015,
+        .5845, .5990, .6018, .6095, .6142, .6100, .6035, .6035,
+        .6118, .6270, .6385, .6445, .6438, .6320, .6260, .6245,
+        .6320, .6420, .6593, .6775, .6897, .6970, .7005, .7050,
+        .7110, .7130, .7165, .7180, .7120, .7070, .7040, .7030,
+        .7147, .7300, .7440, .7535, .7615, .7640, .7532, .7450,
+        .7352, .7290, .7285, .7310, .7328, .7340, .7435, .7495,
+        .7540, .7580, .7617, .7680, .7720, .7790, .7815, .7850,
+        .7900, .7930, .7917, .7915, .7950, .7980, .8017, .8060,
+        .8133, .8200, .8275, .8315, .8370, .8420, .8485, .8545,
+        .8605, .8680, .8722, .8795, .8852, .8920, .8945, .8960,
+        .8945, .8940, .8942, .8955, .8975, .9000, .9032, .9035,
+        .9022, .9000, .8967, .8935, .8827, .8790, .8782, .8730,
+        .8760, .8800, .8812, .8865, .8910, .8930, .9035, .9105,
+        .9183, .9200, .9175, .9160, .9183, .9180, .9167, .9155,
+        .9173, .9270, .9290, .9375, .9497, .9570, .9637, .9695,
+        .9715, .9770, .9795, .9840, .9908, .9970, .9985, .9980,
+        .9952, .9940, .9920, .9930, .9925, .9870, .9755, .9650,
+        .9583, .9490, .9347, .9240, .9133, .9070, .9052, .9085,
+        .9193, .9400, .9657, .9780, .9625, .8950, .7520, .5715,
+        .3962, .2580, .1675, .1080, .0688, .0440, .0297, .0195,
+        .0130, .0080, .0055, .0035, .0023, .0020, .0010
     };
 
-    static const float wli[7] = { 0.4350, 0.5000, 0.6150, 0.7400, 1.5050, 2.0150, 0.5025 };
-    static const float wls[7] = { 0.5200, 0.6225, 0.7025, 0.9125, 1.7925, 2.3800, 0.9100 };
+    static const float wli[7] = {0.4325, 0.4975, 0.6100, 0.7475, 1.5100, 1.9975, 0.4975};
+    static const float wls[7] = {0.5225, 0.6275, 0.7075, 0.9175, 1.7950, 2.3850, 0.9350};
 
-    ffu.wlinf = wli[iwa-1];
-    ffu.wlsup = wls[iwa-1];
+    ffu.wlinf = (float)wli[iwa-1];
+    ffu.wlsup = (float)wls[iwa-1];
 
     int i;
-    for(i = 0; i < 1501; i++) ffu.s[i] = 0; 
+    for(i = 0; i < 1501; i++) ffu.s[i] = 0;
 
     switch(iwa)
     {
-    case 1: for(i = 0; i < 35; i++)	 ffu.s[74+i] = sr1[i];
-	break;
-    case 2: for(i = 0; i < 50; i++)	 ffu.s[100+i] = sr2[i];
-	break;
-    case 3: for(i = 0; i < 36; i++)	 ffu.s[146+i] = sr3[i];
-	break;
-    case 4: for(i = 0; i < 70; i++)	 ffu.s[196+i] = sr4[i];
-	break;
-    case 5: for(i = 0; i < 116; i++)	 ffu.s[502+i] = sr5[i];
-	break;
-    case 6: for(i = 0; i < 147; i++)	 ffu.s[706+i] = sr6[i];
-	break;
-    case 7: for(i = 0; i < 164; i++)	 ffu.s[101+i] = sr7[i];
+    case 1: for(i = 0; i < 36; i++)  ffu.s[73+i] = sr1[i];
+        break;
+    case 2: for(i = 0; i < 52; i++)  ffu.s[99+i] = sr2[i];
+        break;
+    case 3: for(i = 0; i < 39; i++)  ffu.s[144+i] = sr3[i];
+        break;
+    case 4: for(i = 0; i < 68; i++)  ffu.s[199+i] = sr4[i];
+        break;
+    case 5: for(i = 0; i < 114; i++)  ffu.s[504+i] = sr5[i];
+        break;
+    case 6: for(i = 0; i < 155; i++)  ffu.s[699+i] = sr6[i];
+        break;
+    case 7: for(i = 0; i < 175; i++)  ffu.s[99+i] = sr7[i];
+        break;
     }
 }
 



More information about the grass-commit mailing list