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

Band Name / Description Wavelength (nm) Native resolution (m) Typical usee
B1 Coastal / Aerosols 443 60 Atmospheric studies, shallow coastal waters
B2 Blue 490 10 Clear water, bathymetry, coral health
B3 Green 560 10 Aquatic vegetation, corals, seagrass beds
B4 Red 665 10 Chlorophyll detection, stressed corals
B5 Red Edge 1 705 20 Red/NIR transition, vegetation
B6 Red Edge 2 740 20 Vegetation health, turbidity
B7 Red Edge 3 783 20 Detailed analysis of coastal vegetation
B8 NIR (Near Infrared) 842 10 Vegetation detection, depth (clear water)
B8A Red Edge 4 865 20 Improved contrast between soil and vegetation
B9 Water vapor band 945 60 Atmospheric correction (water vapor)
B10 Cirrus 1375 60 Cirrus cloud detection
B11 SWIR 1 (Short infrared) 1610 20 Sediment, humidity, turbidity
B12 SWIR 2 (Short infrared) 2190 20 Soil 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.

Theme Main bands Explanation
Detection of living corals B2, B3, B4 Corals reflect more in green than in blue, but absorb strongly in red.Seagrass beds and algae
Seagrass beds and algae B3, B5, B6 Red Edge reveals the chlorophyll pigments in seagrass beds.
Bathymetry (relative depth) B2/B3, B3/B4 As depth increases, blue reflectance decreases rapidly.
Turbidity/sediments B8, B11, B12 Infrared 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.

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 detection B11-B8-B4 Highlights murky or sandy areas.
Bathymetric analysis B2-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

Band Name Native resolution Main sensitivity
B1 Coastal aerosol 60 m → 1 m S2DR3 Shallow coral colonies, turbidity.
B2 Blue 10 m → 1 m Clear waters, depth, substrate.
B3 Green 10 m → 1 m Reflectance of corals and seagrass beds.
B4 Red 10 m → 1 m Contrast with terrestrial areas.
B8 NIR 10 m → 1 m Health of coastal vegetation, turbidity.
B11 SWIR1 20 m → 1 m Humidity, sediments, depth.
B12 SWIR2 20 m → 1 m Detection of wetlands and mineral areas.


Recommended spectral indices

Index Formula (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 / B3 Estimates 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

Band Name Wavelength (nm) Usefulness
B2 Blue 490 Sensitive to clear water and shallow areas
B3 Green 560 Maximum reflectance of living corals
B4 Red 665 Absorbed 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 *