Hydro Preprocessing
Aquatic preprocessing with three water-mask methods, three sunglint-correction methods, and three water-column methods, including sensor-aware wavelength/band validation and depth-informed correction options.
1. Scope & Processing Contract
Hydro Preprocessing prepares optical Surface Reflectance imagery for shallow-water and aquatic analysis. It separates three different problems that must not be confused: water detection, surface sunglint, and water-column attenuation.
2. Input Data Contract
- Primary raster: reflectance imagery. If values already look like physical reflectance they are used directly; otherwise the engine can decode a known SR/TOA reflectance product. Raw DN/radiance must first pass through Spectral Preprocessing.
- Required visible channels: Blue, Green and Red. Band roles are auto-resolved from metadata/profile when possible and can be overridden manually.
- Optional NIR/SWIR: required by specific mask or sunglint methods.
- Hyperspectral O₂ bands: Kutser mode needs bands near ~739, ~760 and ~860 nm, automatically resolved when wavelength metadata is present.
- Depth / Bathymetry Raster: required by Sagawa BRI and Depth/Kd compensation; it is reprojected/resampled to the reflectance grid using bilinear resampling.
3. Water Mask — 3 Methods
| Method | Equation in current implementation | Required bands | Use |
|---|---|---|---|
| NDWI | (Green − NIR)/(Green + NIR) | Green, NIR | Generic open-water separation; suitable when SWIR is unavailable. |
| MNDWI | (Green − SWIR1)/(Green + SWIR1) | Green, SWIR1 | Useful when SWIR helps suppress non-water land/background responses. |
| AWEI | Blue + 2.5·Green − 1.5·(NIR + SWIR1) − 0.25·SWIR2 | Blue, Green, NIR, SWIR1, SWIR2 | Shadow-robust multi-band water extraction variant. |
Pixels are considered water when water_index > Water Index Threshold. The default threshold is 0.0. If fewer than 50 valid water pixels are found, the operation stops and asks for a new threshold/method.
4. Sunglint Correction — 3 Methods
4.1 Hedley NIR Regression
Hedley-style deglint uses NIR as a proxy for wave-induced specular reflection over water. The current implementation estimates deep-water pixels from the low end of the NIR distribution, then computes a regression slope for each visible band.
bi = Cov(Ri,P) / Var(P)P is the NIR proxy. Pref is a low-percentile proxy value estimated from deep-water pixels.
4.2 SWIR Deglint — Harmel-style
The implementation uses the same operational regression form but replaces the NIR proxy by SWIR1, or by mean(SWIR1, SWIR2) when both are available. This follows the physical advantage of low water-leaving SWIR signal for glint estimation.
R′i = Ri − bi(PSWIR − Pref)
4.3 Kutser O₂-760 Hyperspectral Deglint
Kutser et al. proposed using the oxygen absorption feature around 760 nm as a glint indicator where the assumption of negligible NIR water-leaving signal is unsafe. The current implementation computes a local absorption-depth proxy:
The depth is normalized by its scene-water maximum, then a visible glint spectrum is estimated from reference pixels with maximum/minimum O₂-depth proxy:
gλ = Rλ(bright) − Rλ(dark)
R′λ(p)=Rλ(p)−gλDnorm(p)
This is most appropriate for wavelength-resolved/hyperspectral imagery with actual spectral coverage around the O₂ feature.
5. Water Column Correction — 3 Methods
5.1 Lyzenga Depth-Invariant Index (DII)
Lyzenga reduces depth-related variation by combining log-transformed visible bands. For each pair of Blue/Green/Red bands, iTSensing estimates an attenuation-ratio proxy from scene water statistics.
a = [Var(Xi) − Var(Xj)] / [2 Cov(Xi,Xj)]
ki/kj = a + √(a²+1)
DIIij = Xi − (ki/kj)Xj
With three visible bands the tool outputs three pairwise indices: Blue–Green, Blue–Red and Green–Red.
5.2 Sagawa Bottom Reflectance Index (BRI)
Sagawa mode requires a depth raster plus effective attenuation coefficients for Blue, Green and Red. Deep-water background reflectance R∞ is estimated from pixels deeper than the selected depth percentile (default 90%).
The implementation caps the exponential internally for numerical stability. BRI is a bottom-related corrected index and its physical comparability depends on the validity of depth and effective attenuation coefficients.
5.3 Depth/Kd Exponential Compensation
This mode applies an explicit depth-dependent compensation to each visible band:
f is the optical path factor (default 2.0). The exponential factor is capped by Maximum Exponential Compensation Factor (default 20) to prevent extreme amplification at large depth/Kd.
6. Application Parameters
| Parameter | Applies to | Description |
|---|---|---|
| Sensor / Product Type | All | Auto Detect or manual sensor profile. |
| Water Mask Method | All | Auto, NDWI, MNDWI, AWEI, None. |
| Sunglint Correction Method | All | Auto, Hedley NIR, Harmel-style SWIR, Kutser O₂-760, None. |
| Water Column Correction Method | All | None, Lyzenga DII, Sagawa BRI, Depth/Kd Exponential. |
| Blue/Green/Red/NIR/SWIR1/SWIR2 Band | Method dependent | Optional manual 1-based band override; Auto uses semantic metadata/wavelength profiles. |
| Water Index Threshold | NDWI/MNDWI/AWEI | Water if index > threshold; default 0. |
| Deep-Water Glint Reference Percentile | Hedley/Harmel-style | Low NIR/SWIR subset used for regression reference; default 20%. |
| O₂ shoulder/center bands | Kutser | ~739, ~760, ~860 nm; auto-resolved where wavelengths exist. |
| Water Column Output | Any water-column method | Method product only, or corrected RGB + method product. |
| Depth Raster / band / sign | Sagawa, Depth/Kd | Bathymetry input aligned to the image grid. |
| Sagawa effective K Blue/Green/Red | Sagawa | Positive finite effective attenuation coefficients (m⁻¹). |
| Sagawa Deep-Water Depth Percentile | Sagawa | Depth percentile for R∞ estimation; default 90. |
| Kd Blue/Green/Red | Depth/Kd | Diffuse/effective attenuation coefficients in m⁻¹. |
| Kd Optical Path Factor | Depth/Kd | Default 2.0. |
| Maximum Compensation Factor | Depth/Kd | Default 20. |
| Output Nodata | All | Default −9999. |
7. Auto Selection & Sensor Compatibility
| Available spectral information | Water mask Auto | Sunglint Auto |
|---|---|---|
| Visible + NIR only | NDWI | Hedley NIR |
| Visible + NIR + SWIR | MNDWI | Harmel-style SWIR |
| Hyperspectral with ~739/760/860 nm | Depends on NIR/SWIR availability | Kutser O₂-760 preferred by Auto where required O₂ bands can be resolved. |
Water-column correction is not automatically forced; default is None. Lyzenga can run from image statistics alone, while Sagawa and Depth/Kd require bathymetry and explicit attenuation parameters.
8. Output Semantics
| Configuration | Output bands | Semantics |
|---|---|---|
| Water Column = None | 3 bands | Blue/Green/Red Hydro-Corrected Reflectance (masked if a water mask is enabled). |
| Lyzenga + Method Only | 3 bands | Pairwise DII indices: Blue–Green, Blue–Red, Green–Red. |
| Sagawa + Method Only | 3 bands | Blue/Green/Red Sagawa BRI. |
| Depth/Kd + Method Only | 3 bands | Blue/Green/Red exponentially compensated bands. |
| Corrected + Method | 6 bands | Hydro-corrected RGB followed by the three selected water-column products. |
Analysis provenance records detection metadata, reflectance normalization, chosen mask/glint/column methods, thresholds, slopes or O₂ references, attenuation/depth parameters and water-pixel count.
9. Recommended Workflows
Sentinel-2 shallow coast
L2A SR ↓ MNDWI ↓ Harmel-style SWIR ↓ Lyzenga DII ↓ Benthic features
Hyperspectral shallow water
Surface Reflectance ↓ Water mask ↓ Kutser O₂-760 ↓ Lyzenga / model ↓ Spectral analysis
Depth-informed correction
Surface Reflectance + Bathymetry + K / Kd ↓ Sagawa or Depth-Kd ↓ Bottom-related product
10. Quality Control
- Run Radiometric/Atmospheric Spectral Preprocessing first if the source is raw DN, radiance, or uncorrected Level-1.
- Check mask accuracy before estimating deglint regression; land contamination can bias slopes.
- Inspect sunglint before/after over water, especially around bright shallow bottom and emergent vegetation.
- For Hedley/SWIR regression, ensure the proxy has enough variance; the engine rejects near-zero variance.
- For Kutser, verify real wavelength coverage near the O₂ feature and sufficient dynamic range.
- For Lyzenga, avoid interpreting DII as physical reflectance; verify covariance stability and sufficient water pixels.
- For Sagawa/Depth-Kd, inspect depth alignment, sign convention, units and attenuation coefficients.
- Large exponential factors amplify noise; use the compensation cap and avoid applying deep-water corrections outside the model's validity range.
11. Scientific References
- McFeeters, S. K. (1996). The use of the Normalized Difference Water Index (NDWI) in the delineation of open water features. International Journal of Remote Sensing 17(7), 1425–1432. DOI: 10.1080/01431169608948714.
- Xu, H. (2006). Modification of normalised difference water index (NDWI) to enhance open water features in remotely sensed imagery. International Journal of Remote Sensing 27(14), 3025–3033. DOI: 10.1080/01431160600589179.
- Feyisa, G. L., Meilby, H., Fensholt, R. & Proud, S. R. (2014). Automated Water Extraction Index: a new technique for surface water mapping using Landsat imagery. Remote Sensing of Environment 140, 23–35. DOI.
- Hedley, J. D., Harborne, A. R. & Mumby, P. J. (2005). Simple and robust removal of sun glint for mapping shallow-water benthos. International Journal of Remote Sensing 26(10), 2107–2112. DOI.
- Harmel, T. et al. (2018). Sunglint correction of the MSI Sentinel-2 imagery over inland and sea waters from SWIR bands. Remote Sensing of Environment 204, 308–321. DOI.
- Kutser, T., Vahtmäe, E. & Praks, J. (2009). A sun glint correction method for hyperspectral imagery containing areas with non-negligible water leaving NIR signal. Remote Sensing of Environment 113(10), 2267–2274. DOI.
- Lyzenga, D. R. (1978). Passive remote sensing techniques for mapping water depth and bottom features. Applied Optics 17(3), 379–383. DOI.
- Sagawa, T. et al. (2010). Using bottom surface reflectance to map coastal marine areas: a new application method for Lyzenga's model. International Journal of Remote Sensing 31(12), 3051–3064. DOI.