Study of corals with Sentinel-2 Deep Resolution 3 (S2DR3) using QGis and SCP


Following on from the article “How to increase the resolution of Sentinel 2 images from 10 to 1m” and “Using S2DR3 in Google Colab to study corals in Mauritius,” let’s take a look at how to use super-resolution layers in QGIS with the SCP plugin.



1. Loading data into QGIS

  1. Open QGIS → Add-ons menu → Semi-Automatic Classification Plugin (SCP).
  2. In the SCP panel → Preprocessing tab, add the GeoTIFF file from Colab:
    Path: /MyDrive/Sentinel2_Coraux_S2DR3/output/…_MS.tif (it contains all bands)
  3. Click on “Band set” → “Create band set”, then add all S2DR3 bands (B0 to B9).
  4. Check that the resolution is 1 m and that the bands are aligned correctly.

Here is the complete table of Sentinel-2 bands with their center wavelengths and native resolutions (before S2DR3 super-resolution).

Sentinel-2 bands and wavelengths

BandName / DescriptionWavelength (nm)Native resolution (m)Typical usee
B1Coastal / Aerosols44360Atmospheric studies, shallow coastal waters
B2Blue49010Clear water, bathymetry, coral health
B3Green56010Aquatic vegetation, corals, seagrass beds
B4Red66510Chlorophyll detection, stressed corals
B5Red Edge 170520Red/NIR transition, vegetation
B6Red Edge 274020Vegetation health, turbidity
B7Red Edge 378320Detailed analysis of coastal vegetation
B8NIR (Near Infrared)84210Vegetation detection, depth (clear water)
B8ARed Edge 486520Improved contrast between soil and vegetation
B9Water vapor band94560Atmospheric correction (water vapor)
B10Cirrus137560Cirrus cloud detection
B11SWIR 1 (Short infrared)161020Sediment, humidity, turbidity
B12SWIR 2 (Short infrared)219020Soil discrimination, high turbidity

Key coral applications

ThemeMain bandsExplanationDetection of living coralsB2, B3, B4Corals reflect more in green than in blue, but absorb strongly in red.Seagrass beds and algaeB3, B5, B6The Red Edge reveals the chlorophyll pigments in seagrass beds. Bathymetry (relative depth)B2/B3, B3/B4As depth increases, blue reflectance decreases rapidly.Turbidity/sedimentsB8, B11, B12Infrared is strongly absorbed by water but well reflected by suspended particles.

ThemeMain bandsExplanation
Detection of living coralsB2, B3, B4Corals reflect more in green than in blue, but absorb strongly in red.Seagrass beds and algae
Seagrass beds and algaeB3, B5, B6Red Edge reveals the chlorophyll pigments in seagrass beds.
Bathymetry (relative depth)B2/B3, B3/B4As depth increases, blue reflectance decreases rapidly.
Turbidity/sedimentsB8, B11, B12Infrared is strongly absorbed by water but well reflected by suspended particles.

RGB compositions for viewing reefs

Theme Bands (R-G-B) Main visual effect True color (natural) B4-B3-B2 Realistic view of water and seabed. Shallow coastline/corals B3-B2-B1 Improved sensitivity to depth variations and seagrass beds. Turbidity/sediment detectionB11-B8-B4Highlights murky or sandy areas.Bathymetric analysisB2-B3-B4 (or B2-B3-B8)Ideal for visualizing depth variations on light backgrounds.

ThemeBands (R-G-B)Main visual effect
True color (natural)B4-B3-B2Realistic view of water and seabed.
Shallow coastline/coralsB3-B2-B1Improved sensitivity to depth variations and seagrass beds.
Turbidity/sediment detectionB11-B8-B4Highlights murky or sandy areas.
Bathymetric analysisB2-B3-B4 (ou B2-B3-B8)Ideal for visualizing depth variations on light backgrounds.

Tip: Adjust the transparency of the water using the contrast curve to better distinguish the corals.


Useful bands for corals

BandNameNative resolutionMain sensitivity
B1Coastal aerosol60 m → 1 m S2DR3Shallow coral colonies, turbidity.
B2Blue10 m → 1 mClear waters, depth, substrate.
B3Green10 m → 1 mReflectance of corals and seagrass beds.
B4Red10 m → 1 mContrast with terrestrial areas.
B8NIR10 m → 1 mHealth of coastal vegetation, turbidity.
B11SWIR120 m → 1 mHumidity, sediments, depth.
B12SWIR220 m → 1 mDetection of wetlands and mineral areas.

Recommended spectral indices

IndexFormula (SCP → Band calc)Interpretation
NDWI (Normalized Difference Water Index)(B3 - B8) / (B3 + B8)Delimits water/land areas.
BSI (Bare Soil Index)((B11 + B4) - (B8 + B2)) / ((B11 + B4) + (B8 + B2))Identifies sand/exposed substrates.
NDTI (Turbidity Index)(B11 - B8) / (B11 + B8)Detects turbid or sediment-laden water.
Coral Index (expérimental)(B3 - B2) / (B3 + B2)Highlights shallow coral areas (the higher the value, the more green reflectance dominates).
Depth Ratio (relative depth)B2 / B3Estimates bathymetric variations on light-colored bottoms.

For all these indices:

  • Apply a 3×3 filter to reduce noise.
  • Use the “Spectral” palette to better visualize gradients.

Example of relative depth

The ratio between bands B2 and B3 allows you to visualize bathymetric variations. We will see in detail how to do this.

  1. In SCP, go to the “Band Calculation” tab,
  2. enter the formula “bandset1b2”/ “bandset1b3”
  3. Click on Launch

This gives us the index raster

We can compare our result with that obtained using ICESat_2 Space_Based Laser Bathymetry, available in ArcGIS Online.


Example: Detection of living corals (B2, B3, B4 – Sentinel-2)

Objective

Identify areas where living corals stand out from sand and seagrass beds, by exploiting their higher reflectance in green and lower reflectance in red.


Required bands

BandNameWavelength (nm)Usefulness
B2Blue490Sensitive to clear water and shallow areas
B3Green560Maximum reflectance of living corals
B4Red665Absorbed by zooxanthellae pigments (living corals)

Spectral index “Coral Index” (CI)

Simple formula inspired by the NDVI principle, adapted to corals:

\(
\text{Coral Index} = \frac{B3 – B4}{B3 + B4}
\)

This index is positive for living corals (higher reflectance in green than in red), and tends towards 0 or negative for sand or deep water areas.


Calculating the index in QGIS / SCP

  1. Open SCP → “Band Sets” tab.
    • Add bands B2, B3, B4 (pre-processed or from S2DR3).
  2. Click on “Band Calculation” (calculator).
  3. In the formula field, enter: (“bandset1b3”- “bandset1b4”)/ (‘bandset1b3’+ “bandset1b4”), which corresponds to (B3 – B4) / (B3 + B4)
  4. Choose an output name: Coral_Index.tif
  5. Click Run

In our case, we obtain:

The presence of land gives negative values. We can apply a mask to hide the areas that do not interest us, or simply force the symbology by keeping only the positive values.

This gives:


3×3 filtering (noise reduction)

In QGIS:

  • Open the Processing Toolbox.
  • Search for Grass->Raster->r.neighbors.
    → Input: CoralIndex.tif.
    → Kernel size: 3.
    → Output: CoralIndex_filtered.tif.

The difference between the raw index and the filtered index is clearly visible when zooming in on an area of coral:

Coral_Index.tif …………………………………………………… Coral_Index_Filtered.tif

Visualization

  • Style → Pseudo-color palette (viridis or RdYlGn)
  • Rule:
    • High values (green) → likely living corals
    • Low values (blue/red) → sand, seagrass beds, or deep water

Field interpretation (Blue Bay – Île aux Aigrettes)

  • Light green-yellow areas: healthy reefs, living corals
  • Dark green-blue areas: bare substrate or dead corals
  • Blue areas: seagrass beds or deep water
  • Very dark areas: turbidity or water shadows

Comparison of original Sentinel-2 vs. S2DR3

  1. Download the original Sentinel-2 scene (L2A, 10 m) for the same date via Copernicus Hub or SCP → Download products.
  2. In QGIS:
    • Create a 10 m RGB composition and another with the 1 m S2DR3 bands.
    • Use “Swipe map view” or “Transparency slider” to compare them visually.
  3. Quantitative option:
    • Calculate NDWI, NDVI, or Coral Index for both images.
    • Use Raster → Raster calculator to generate a difference (Δ): NDWI_S2DR3 – NDWI_Sentinel2.
    • Areas of high difference indicate added details or detected variations.

Tips for reliable analysis

  • Check the metadata: date, cloud cover, solar angle.
  • Avoid days with high waves or turbidity (reflections alter ratios).
  • S2DR3 details are inferred by AI: use them for identification, not for precise metric measurement.
  • For areas of scientific interest, combine S2DR3 with drone or aerial photo observations for validation.

Example of SCP workflow (summary)

  1. Load S2DR3 bands (1 m) → create Band Set.
  2. Calculate NDWI, NDTI, Coral Index.
  3. Classify with “Unsupervised → K-means” or “Supervised → ROI + Classification.”
  4. Export classes (coral, seagrass beds, sand, deep water).
  5. Compare with Sentinel-2 10 m for validation.

Si cet article vous a intéressé et que vous pensez qu'il pourrait bénéficier à d'autres personnes, n'hésitez pas à le partager sur vos réseaux sociaux en utilisant les boutons ci-dessous. Votre partage est apprécié !

Leave a Reply

Your email address will not be published. Required fields are marked *