tmnov tutorial : Calibration 6
Quite an achievement!!!

return to Calibration 5      next to Model 2

1 - NO NEED for field data, nor for atmospheric correction
2 - this is demonstrated in this website, using a variety of hyper/multi spectral data
Requirements are
1 - homogeneous water body and atmosphere
2 - some coverage of optically deep water
3 - some coverage of dry land
Problems are
1 - the precision on estimated depth is found wanting, because the noise-equivalent change in radiance  of accessible data is too high for shallow water column correction work 
2 - radiance data should be preprocessed by the provider at level 1 in order to improve S/N ratio
3 - exponential decay: the deeper/darker the bottom, the poorer the performances
I keep digging
until suitable data
become available
Calibration 6: first seatruth

seatruth dataset

nice -20  ./4SM.4.08 -Process/14_Aug_2011/05_AUG_2011  -OriginFUGRO-NPA                    @@  
-Mis/Bahamas/Caicos/Landsat/TM/FUGRO-NPA/UTM_19_008/0.030_0.030/22_NOV_1990                          @@
-LS/0255.0/255.0/255.0/255.0                              @@
-cWL/0.500/0.602/0.500/0.500_AutoCAL                          @@
-M/@000001/00002/00003/00004                              @@
@CP/0000.0/000.0/000.0/000.0_1.52m                          @@
-LsM/199.8/104.0/121.2/099.1_AutoCAL                          @@
-LsM/199.8/108.0/121.2/099.1                              @@
-LsM/219.2/120.0/135.6/111.1_cLM=1.130                      @@
-Lsw/061.0/017.7/011.2/006.9_AutoCAL                        @@
-Lsw/60.42/17.41/10.79/06.50                                  @@
-dLsw000.0/000.0/000.0/000.0                                 @@
-Lw/0009.8/001.5/000.0/000.0_AutoCAL                          @@
-Lw/0010.6/001.5/000.0/000.0                              @@
-Lm/0001.0/001.0/001.0/255.0                              @@
-KK1_2_0.5195/Knir4.500/mask_3_AutoCAL                          @@
-Z/MSL0.00/n_1/RLBgb1.220/mask_3                          @@
@Z/MSL0.00/n_1/RLBgb1.090/mask_3                          @@
-B/tclNe/Bmin0/cLM1 .13                              @@
-deglint/vRbaD/GlintM25.0_AutoCAL                      @@
-deglint/vRbaD/GlintM10.0                          @@
@deglint/vRbaD/GlintM00.0                          @@
-extract/v/fullBDH/NIRmax200.0/mBPL4/mask_4                              @@
-calibrate/v/BDSNpZg/BDh_12_13_34                          @@
-Model/mask_3                                  @@
-Smooth/5/D/Smart+                              @@
-RegressZZv/p/seatruth*depth_points_reproject_pruned/ZM/2_3/0_201/0_30_2.0/*                      @@

<<=====   Seatruth 0-10 m


Quite good!
We can call it absolute calibration,
without the need for any field data

Seatruth 0-30 m
Still something wrong
We want to increase Lswgreen a bit

==>   -dLsw000.0/000.8/000.0/000.0

Seatruth 0-30 m
That we like better!


           Now we reach to quite an achievement in 4SM
Green solution vs Red solution: Z2 vs Z3
ProfileAB with regression
Regression of Green solution depths against Red solution depths


nice -20  ./4SM.4.08  -Process/14_JUL_2011  -Origin/BILKO                    @@
-Mis/Bahamas/Caicos/Landsat/TM/FUGRO-NPA/UTM_19_008/0.030_0.030/22_NOV_1990      @@
-LS/0255.0/255.0/255.0/255.0                                @@
-cWL/0.500/0.600/0.500/0.500                                @@
-cWL/0.500/0.600/0.500/0.500                                @@
-M/@000001/00002/00003/00004                                @@
@CP/0000.0/000.0/000.0/000.0_2.98m                            @@
-LsM/183.5/092.9/115.6/095.3_AutoCAL                            @@
-LsM/203.3/104.4/131.3/108.6_cLM=1.150                            @@
-LsM/209.3/119.4/131.3/108.6                                @@
-LsM/209.3/116.4/131.3/108.6                                @@
-Lsw/061.0/017.7/011.2/006.9_AutoCAL                            @@
-dLsw000.0/000.0/00-.5/000.0                                @@
-Lw/0009.8/001.5/000.0/000.0_AutoCAL                            @@
-Lm/0001.0/001.0/005.0/255.0                                @@
-Lm/0001.0/001.0/001.0/255.0                                @@
-KK1_2_0.4785/Knir4.500/mask_3                            @@
-Z/MSL0.00/N_1/RLBgb1.15_0.60/mask_3                        @@
-B/tclNe/Bmin0/cLM1.00                                @@
-deglint/vRbaD/GlintM25.0                            @@
-extract/v/mBPL2/mask_3                                @@
-calibrate/v/BdSNpZG/BDh_12_13_34                            @@
-Model/mask_3                                    @@
-Smooth/5/D/Smart+                                @@
@ProfileAB/L/profile_1/chAB_1_2_3_4                                        @@
@ProfileAB/Z/profile_1/chAB_1_2_3_4                                        @@
-ProfileAB/R/profile_3/chAB_2_3/2_3/0_201/0_30_2.0/*                                @@

Profile 3
runs over areas with bottom detection 
in all three visible bands
  • When running a profile,
  • for all pixels modeled with the 3-bands case
  • 4SM computes Z3
    • then Lmred is set to 255
    • and Z2 is computed
  • In other words, we can consider Z3 to be closer to true depth, and use it as if it were a seatruth depth!
  • Of course we should like Z2 to be as close as possible to Z3!!!!
  • For this you can test the resilience of the model calibration parameters, one at a time:
  • -cWL/0.500/0.500/0.500/0.500
  • -LsM/209.3/119.4/131.3/108.6
  • -dLsw000.0/000.0/000.0/000.0
  • -dLsw000.0/000.0/001.0/000.0
  • -Lm/0001.0/001.0/005.0/255.0
  • -Z/MSL0/N_1/RLBgb1.00_1.00
  • -deglint/vRbaD/GlintM00.0
  • -Smooth/5/D/smart+
  • -Smooth/1/D/Smart+
  • you name it : 4SM reads from raw data, then computes depth and watercolumn correction "on the fly", then runs the seatruth exercise

Not bad, Eh!

Not bad, Eh!

  • red.........for WZ=3   three bands case
  • green.....for WZ=2   two    bands case

  • Note that the transition from three-bands case to two-bands case has become virtually "invisible"
  • This means that the average spectral properties where WZ=2 are similar to where WZ=3
No need for field data?

This claim rests
on our ability to estimate
spectral attenuation coefficients,
using Jerlov's data.
  • The most critical point to reach there is the choice of an effective wavelength for the green band.
  • For hyperspectral images, and SPOT images, using wavelength at mid-waveband works to satisfaction.
  • For IKONOS and WV2 images, I have too few studies
  • For Landsat images, there appears to be no rule, although the following must be investigated.
    • It might be a question of geometry of the light field
    • For this Caicos image in november in the tropical northern hemisphere, CoefWLgreen=0.60 : sun ~at its lowest in the sky
    • For the Geraldton image in june in the tropical southern hemisphere, CoefWLgreen=0.50 : sun ~at its highest in the sky
  • Analytical or semi-analytical models like Sambucca or EOMAP or HydroLight, should be able to answer this question of the effective wavelength of wide wavebands.

  • We can be confident that the intensity of the "greeneness" of the bottom signature represented in this image is "realistic" for a majority of pixels
  • Therefore, the "water column correction" of this TM image has been achieved to satisfaction

Ready for seatruthing, at last!
Now we are ready at last  for a real seatruth control

Calibration 6: last seatruth
Regression of computed depths against seatruth depths

Now we are ready at last for a real seatruth control

nice -20 ./ 4SM.4.08  -Process/08_NOV_2011  -Origin/BILKO                    @@
-Mis/Bahamas/Caicos/Landsat/TM/FUGRO-NPA/UTM_19_008/0.030_0.030/22_NOV_1990      @@
-LS/0255.0/255.0/255.0/255.0                      @@
-cWL/0.500/0.600/0.500/0.500                      @@
-M/@000001/00002/00003/00004                      @@
@CP/0000.0/000.0/000.0/000.0_2.98m                     @@
-LsM/209.3/116.4/131.3/108.6                      @@
-Lsw/061.0/017.7/011.2/006.9_AutoCAL                     @@
-dLsw000.0/000.0/00-.5/000.0                      @@
-Lw/0009.8/001.5/000.0/000.0_AutoCAL                     @@
-Lm/0001.0/001.0/001.0/255.0                      @@
-KK1_2_0.4785/Knir4.500/mask_3                     @@
-Z/MSL0.00/N_1/RLBgb1.15_0.60/mask_3                    @@
-B/tclNe/Bmin0/cLM1.00                      @@
-deglint/vRbaD/GlintM25.0                     @@
-extract/v/mBPL2/mask_3                      @@
-calibrate/v/BdSNpZG/BDh_12_13_34                     @@
-Model/mask_3                       @@
-Smooth/5/D/Smart+                      @@
@ProfileAB/L/profile_1/chAB_1_2_3_4                        @@
@ProfileAB/Z/profile_1/chAB_1_2_3_4                        @@
@ProfileAB/R/profile_3/chAB_2_3/2_3/0_201/0_30_2.0/*                      @@
  • The seatruth dataset contains scattered depth points are scattered
  • It is sorted by decreasing depth
  • This allows us to plot a simili-profile which gieves a useful view at the performances of the calibration
  • 4SM shall compute
    • the usual seatruth regression
    • AND
    • the simili-profile
  • This is a powerful tool for the practioner to further assess/consolidate various aspects of the model calibration
  • You can test the resilience of the model calibration parameters, one at a time:
    • -cWL/0.500/0.500/0.500/0.500
    • -LsM/209.3/119.4/131.3/108.6
    • -dLsw000.0/000.0/000.0/000.0
    • -dLsw000.0/000.0/001.0/000.0
    • -Lm/0001.0/001.0/005.0/255.0
    • -Z/MSL0/N_1/RLBgb1.00_1.00
    • -deglint/vRbaD/GlintM00.0
    • -Smooth/5/D/smart+
    • -Smooth/1/D/Smart+
    • you name it : 4SM reads from raw data, then computes depth and watercolumn correction "on the fly", then runs the seatruth exercise

We should not be too concerned if the slope of the regression line is not exactly 1

This view allows us to decide whether or not we are satisfied with the result
next to Model 2