What follows is now outdated
since the ScreenCastify tool is so/most practical.
Still worth reading though,
as you want to capture the spirit
of 4SM's collection of tools.

copy Line_11 into Line _13

#LINE_13: FinalModeling=============FinalModeling=============
nice -20  ./4SM.4.08  -Process/nosu  -Origin/Tarawa_Kiribati @@
-DB/tarawa-subset/27_1_0_0/3_1/650_600/718.079_169.221/1_1 @@
-Mis/Tarawa/Kiribati/Spot/XS/NA/UTM_19_008/0.020_0.020/1_JAN_1986 @@
-M/0000001/00002/00003 @@
-CP/196.96/157.85/058.64_0.25m @@
-CP/185.04/130.29/027.71_0.50m @@
-LsM/203.4/192.1/178.5_cLM=1.150 @@
-Lsw/026.6/013.6/008.5 @@
-dLsw001.0/000.6/000.0 @@
-Lw/0001.5/000.0/000.0 @@
-Lm/0001.0/001.0/255.0 @@
-KK1_2_0.2589/Knir4.361/mask_3 @@
-Z/MSL0.00/n_0/mask_3 @@
-B/tclNe/Bmin0/LBref170_100/cLM1.00  @@
-deglint/vRbaD/GlintM25.0 @@
-extract/v/mBPL3/mask_4 @@
-Calibrate/v/BdSNpZg/BDh_12_13 @@
-Model/mask_4 @@
-smooth/5/Smart+ @@



add  a -ProfileAB/Z/profile_1/chAB_1_2_3 argument
Now all model parameters seem to be satisfactory for the whole image subset, 
  • disable the -Extract... and -Calibrate... argument
    • -extract...
    • -calibrate...
  • check that -Model... argument is enabled
  • ensure no mask is used   -Model/mask_4
  • The two -CP... arguments can be taken out or disabled,
    • as this refinement only applies to very limited environment,
    • and is certainly not justified over other areas.
      • @CP/196.96/157.85/058.64_0.25m @@
      • @CP/185.04/130.29/029.71_0.50m @@ 
  • run the script tarawa-subset.sh
    • if -Model/Mask_4 is left enabled, only pixels under Mask_4 are processed
      • while other pixels are simply duplicated.
    • to prevent this, please ensure Mask_4 is disabled into mask_4 with a lowercase m,
      • so that 4SM processes the whole image.
  • Smoothing: -Smooth_3d/smart+
    • -smooth...,   smoothing disabled
    • -Smooth...,  smoothing enabled(for marine pixels only)
      • WinRadMax=5 is applied: the circular smoothing window has a radius of 5 pixels
        • that is 81 pixels in the smoothing kernel
      • d no smoothing of optically deep waters
      • D smoothing of pixels masked at mSE=240 (optically deep waters)
    • /smart...  plain smoothing applies
    • /Smart... smart smoothing applies
    • + SmoothPlus is enabled
    • - SmoothPlus is disabled
  • Smart-Smoothing is a complex feature in 4SM. 
    • Enough of that for the moment!

The two -CP... arguments can be taken out or disabled,
as this refinement only applies to very limited environment,
and is certainly not justified over other areas in this image. 

#LINE_13: FinalModeling=============FinalModeling=============
nice -20  ./4SM.4.08  -Process/nosu  -Origin/Tarawa_Kiribati @@
-DB/tarawa-subset/27_1_0_0/3_1/650_600/718.079_169.221/1_1 @@
-Mis/Tarawa/Kiribati/Spot/XS/NA/UTM_19_008/0.020_0.020/1_JAN_1986 @@
-M/0000001/00002/00003 @@
@CP/196.96/157.85/058.64_0.25m @@
@CP/185.04/130.29/027.71_0.50m @@
-LsM/203.4/192.1/178.5_cLM=1.150 @@
-Lsw/026.6/013.6/008.5 @@
-dLsw001.0/000.6/000.0 @@
-Lw/0001.5/000.0/000.0 @@
-Lm/0001.0/020.p/255.0 @@
-KK1_2_0.2589/Knir4.361/mask_3 @@
-Z/MSL0.00/n_0/mask_3 @@
-B/tclNe/Bmin0/LBref170_100/cLM1.00  @@
-deglint/vRbaD/GlintM25.0 @@
-extract/v/mBPL3/mask_4 @@
-Calibrate/v/BdSNpZg/BDh_12_13 @@
-Model/mask_4 @@
-smooth/5/Smart+ @@

  • Minimum threshold radiance values are applied in order to control artifacts:
    • -Lm0001.0/0004.0/0005.0.
  • You need to experiment with those thresholds, see what happens, until satisfied, as -deglint... does not solve all problems.
    • Set Lm[2] to 1.0 instead of 4.0, see that
      • we seem to have foul waters at some locations inside the lagoon
      • the electronic noise suddenly invades the output.
    • Set Lm[3] to 255 to disable the use of the NIR band altogether,
      • see that this does not affect computed depths over bright sandy bottoms.
      • but over very shallow seaweeds or algae, which is not the case here,
        • the use of XS3 can make a world of a difference.
    • Set Lm[2] to 255 to see the extent of RED coverage.
    • set Lm[2] to .../004.p/... to enable progressive Lm
  • NIR solution must be enabled: - M0001/00002/00003
    • it is controlled through the -Lm[NIR]
  • ONE-band-case enabled: note in the - M00001/00002/00003 argument that all three bands are enabled:
    • in deeper areas where the Red band is extinct
    • depths are computed using XS1 alone (the one-band solution), assuming constant bottom brightness Lbref[1]
    • this is obtained by enabling the first band in the -M... argument and choosing an appropriate value for Lbref[1] in -B... argument
  • TWO-band-case only
    • to disable the one-band case
    • change -M00001/00002/00003 into - M@00001/00002/00003 .
    • ==> deeper areas are mapped to optically deep waters instead.
  • Lbref[1] : is used to compute Z in the ONE-band-case :
    • -B/tclne_3.0/200_100/1/1.00
    • LBref[1]=200 is used for the One-band case for pixels that are assumed to be bright bottoms
    • change its value to other values like 170 or 220, see what happens:
      • this affects retrieved depth
      • Z=(log(LBref-Lw)-log(Ls-Lsw))/K
    • choose your prefered value for LBref[1].
  • Lbref[2] : is used to compute Z in the ONE-band-case
    • -B/tclne_3.0/150_040/1/1.00
    • this used for the one-band case for pixels masked at 236:
    • typically in areas that are assumed to be dark bottoms, like coral reefs, outer reef slope...
  • CoefLM
    • note that the last parameter is set to CoefLM=1.00 
      • -B/tclne_2.0/150_040/1/cLM1.00
    • All water column corrected reflectances are multiplied by this CoefLM value.
    • Change its value to any other value, like 1.2 or 0.87, see what happens
      • see that computed bottom reflectances are affected accordingly
      • while computed depths remain unaffected.
    • Once/if a new -LsM... argument has been settled and enabled
      • make sure you return CoefLM to 1.0
        • -B/tclne_2.0/150_040/1/cLM1.00 
  • This argument is comprised of many variables
    • which are all provided in the 4sm.def defaults textfile
    • try "gedit 4sm.def"
  • -Z/MSL0.0/...   provides a tide height and datum
    • it is only used in the following event:
      • seatruth:      ?tide height is added to tide-corrected seatruth depth?
      • deliverable: tide height is subtracted when writing final deliverable SDB
        • ?in order to write a tide-corrected deliverable product
  • the 4sm.def defaul text file is written upon the AutoCAL process
  • its content may be manually edited as desired
  • it is read at the start of reading the command line
    • any of its content may be overriden by the command line

  • Some blue areas remain, where the average bottom reflectance is saturated to 201
  • To avoid that, CoefLM should be set to a value higher than 1.15:
    • try that NOW
    • .../cLM1.20
Tarawa atoll is a very complex scene
  • It is not possible to account for the many lacks of homogeneity in this scene
    • the lagoon water body is open to the ocean westwards
    • the lagoon also receives oceanic waters through the hoas
    • the reef flat and the reef slope should be modeled with specific calibration for very clear waters
    • over 50,000 persons live in the southern part of the atoll
      • this must have an impact on the attenuation properties of the waters at a very local scale
      • try to extract calibration data for some sub-areas along the southern part of the lagoon, see for yourself
  • I have seen the South-West part of the lagoon affected by "milky" waters
  • etc
  • Deeper than 3-5 m, the green band is the only source of information
    • the only way to compute a depth is to assume a constant bottom type reflectance:
    • LBref[1]=150 in a range of 0-200 is assumed for of supposedlybright bottoms
    • LBref[2]= 40 in a range of 0-200 is assumed for areas of supposedly dark bottoms which are (or should be) masked at 236, like the outer reef flat and slope
  • Still: a very nice opportunity for training
    • existing nautical maps show a maximum depth of ~16 m just north of the main pass at lowest tide
    • this shows that our combination of LBref[1]=150 and Kgreen=0.269 seems to "ballpark" the problem quite close!
  • A 4-bands multispectral image certainly should be better
    • although the attenuation coefficients for Kblue~=0.28 and Kgreen~=0.27 are probably very close to each other for a OIII water type of Jerlov
    • this would yield a ratio Kblue/Kgreen very close to 1
    • if this would be the case, then the one-band case would be the only way to produce an estimate of water depth deeper than 3-5 m
    • it is our experience that the ratio Ki/Kj must be <0.8 for water column correction to be achievable using a multispectral image: Ki<<Kj
see on your screen
  • see location of profile_1
  • enable a -ProfileAB/Z/profile_1/chAB_1_2_3 argument
  • enable -Smooth/5/Smart+
  • run the script
  • 00.0 to 09.0 km .....lagoon
  • 09.0 to 10.5 km .....reef rim
  • 10.5 to 22.0 km .....ocean
  • 00.0 to 07.0 km......WZ=1: One-band case
  • 07.00 to 09.2 km....WZ=2: Red solution


Not smoothed -smooth/5/Smart+

Smoothed -Smooth/5/Smart+ 

NOTdeglinted_Smoothed -deglint/vRbaD/GlintM0
Deglinted_Smoothed -deglint/vRbaD/GlintM25

Deglinted_Smoothed GlintM25 Lmred=1
 Deglinted_Smoothed GlintM25 



that's all, folks 




Créer un site
Créer un site