How to Deglint
"Simple and robust removal of sun glint for mapping shallow-water benthos."
In addition to the Path_Radiance, Glint/Haze/Adjacency_Effect is present everywhere in the image
- In the form of evenly distributed sky dome light reflected at the sea surface: ideally, this is incorporated into the Lsw, La and LsM terms. An illustration of this is the fact that clouds sometimes cast a shadow even in the NIR band, while usually they don't.
- GLINT : in the form of glitter of skylight and of sunlight that is modulated by the swell at the sea surface: most conspicuous.
- HAZE : in the form of faint lumps of haze .
- ADJACENCY : in the form of a subtle and gradual increase of the Path_Radiance when moving from open waters towards the waterline: the ill-famed atmospheric adjacency effect. This is most conspicuous along deserts when the atmosphere is loaded with aerosols, but can be a real pain under a deep blue sky along densely vegetated temperate lands.
- Altogether, these various sources add to the water-leaving radiance. For all practical purpose in 4SM, we call that addition the "glint", and we try to remove as much of it as possible, in spite of the fact that each of these sources has its own spectral properties.
Removing the "glint" is necessary in all flavors of shallow water modeling
- Some claim that some kind of Fourier transform can do that: unfortunately, this only removes that part of the glint which is spatially modulated by the swell, but leaves untouched the rest which is randomly distributed
- In 4SM, deglinting is based on the fact that a NIR band has very little penetration in water.
- Therefore, the signal that is observed in the NIR band is deemed to be caused by the glint (or haze): Lglint nir=Ls nir- Lsw nir
- This may only hold as long as the sea bottom is not detected by the NIR band
- Therefore, in 4SM, deglinting is only allowed within a certain range of Ls nir
- BUT this may not be possible in some circumstances:
- for example, under a deep blue and very clear sky, the glitter signal in the NIR band may very well be very small and hardly correlated at all to other bands
- while the correlation is excellent in the visible range
- in this regard, a slightly hazy atmosphere is best, as it ensures a strong enough "glint" in the NIR band.
- For the purpose of removing the glint, the first thing is to investigate the spectral composition of the glint over an optically deep water area:
- It is usually the case that a fairly strong correlation can be observed among wavebands:
- Ls[i] =bias[ci] [nir ] + slope[i] [nir]*Ls[nir]
- Under a clear blue sky on a calm and clear day, the composition of the glint is mostly that of the light from the skydome, i.e. high in blue, low in green, and even lower in red and near-infrared: a "deep blue" sky, mostly caused by Rayleigh scattering.
- Under a hazy sky, the composition of the glint is more evenly distributed across the visible spectrum: a "milky sky", strongly affected by Mie scattering.
- The haze which surrounds the clouds can be removed to a certain extent, as it exhibits very strong interband spectral correlations : see tmnov cloud tmnov deglint
Retrieve Glint Statistics: this is done using a shapefile glint.shp
- Specify a glint extraction area in shapefile glint.shp :
- all pixels under this shapefile shall then be used for automatic extraction of glint statistics.
- Anyway, the practitioner shall have to settle for a set of glint regression parameters that he feels comfortable with.
- If Deglinting is required and a suitable glint text file is not available, 4SM shall first retrieve the glint statistics, then proceed with the required processing.
- NOTE: much stronger correlations may be retrieved by enabling light smoothing
Remove the glint
Once a set of inter band correlation coefficients based on the NIR band has been extracted from the image
over an optically deep water area to represent a mix of average sky/sun-glint, average haze and average adjacency effect,
these correlations are used to remove the glint :
- Lglint[i] = slope[i] [nir] *(Ls[nir]-Lsw[nir]) ==> Ls[i]=Ls[i]-Lglint[i]
- In 4SM, this is done by enabling the -D(d)eglint... commandline argument
- -Deglint....: to run the Deglinter
- -deglint.....: to enable deglinting when running other modules like Linearizer, Calibrator, Model, ZZRegressor, ABProfiler, ZZProfiler
If no -Lsw... commandline argument is specified, then 4SM
- evaluates a new glint regression from the specified glint area
- uses the lowest and the highest observed raw Ls[nir] from the specified glint area to specify the deglinting interval
- all marine pixels that exhibit Ls[nir] inside this interval shall be deglinted