Cloud masking

From AWF-Wiki
(Difference between revisions)
Jump to: navigation, search
(Sentinel-2 cloud and cloud shaodow masking)
(Sentinel-2 cloud and cloud shaodow masking)
Line 10: Line 10:
 
# Double click on a color field of some classes (Layer Properties Style) to open the change color window. Change the opacity from 100% to 0%. Find the best threshold for clouds.
 
# Double click on a color field of some classes (Layer Properties Style) to open the change color window. Change the opacity from 100% to 0%. Find the best threshold for clouds.
 
[[File:Qgis_cloud_qi_pseudo.png|400px]] [[File:Qgis_cloud_qi_opacity.png|300px]]
 
[[File:Qgis_cloud_qi_pseudo.png|400px]] [[File:Qgis_cloud_qi_opacity.png|300px]]
# Create a binary cloud mask (bitmask) where clouds = 1 and non-clouds = 0. Use the Processing tool {{mitem|text= Orfeo Toolbox --> Miscellaneous --> Band Math}}. Tick the single band QI layer in the '''Input Image list''' list. You may write a conditional ''ifelse expression'' using lazy operators. Type into the '''Expression''' field: {{typed|text=(im1b1>30)?1:0}}
+
# Create a binary cloud mask (bitmask) where clouds = 1 and non-clouds = 0. Use the Processing tool {{mitem|text= Orfeo Toolbox --> Miscellaneous --> Band Math}}. Tick the single band QI layer in the '''Input Image list''' list. You may write a conditional ''ifelse expression'' using lazy operators. Type into the '''Expression''' field: {{typed|text=(im1b1>30)?1:0}}. If pixel values of band 1 of multiband image 1 are larger than 30 then replace with 1 otherwise replace with 0.
If pixel values of band 1 of multiband image 1 are larger than 30 then replace with 1 otherwise replace with 0.
+
[[File:Qgis_cloud_bandmath.png|400px]]]
# Apply a circular majority filter with a radius of 7 pixels.   
+
Mark the output layer in the [[TOC]] and click [[File:Qgis_local_hist.png]] to stretch the histogram to view extents.  
 +
# Apply a circular majority filter with a radius of 7 pixels. Open the Processing tool {{mitem|text= SAGA Toolbox --> Raster filter --> Majority filter}}. The input Grid is the Output image of the band math operation step. Change the '''Search mode''' to Circle with an radius of 7 pixels.
 +
[[File:Qgis_cloud_majority.png|400px]]
  
 
    
 
    
  
 
[[Category:QGIS Tutorial]]
 
[[Category:QGIS Tutorial]]

Revision as of 08:22, 13 November 2017

Sentinel-2 cloud and cloud shaodow masking

The exclusion of clouds and cloud shadow is an important processing step which is usually done in an early preprocessing stage. The Sentinel-2 products are annotated with Quality Indicators (QI_DATA). In the Level 2A product you may find a file in the folder QI_DATA with the extension _CLD_20m.jp2 (data type: 8bit unsigned integer, spatial resolution 20m) which might be used for masking clouds. The data range is from 0 for high confidence clear sky to 100 for high confidence cloudy (for more details see L2A Product Definition Document).

  1. Load a multiband Sentinel-2 satellite image (Level 2-A product) Changing Raster Layer Style to display a true color and a false color composite.
  2. Zoom in to a cloudy part of the image and compare the extent of cloud and cloud shadow in both composites. Which composite is better for displaying clouds?

Qgis cloud tcc.png Qgis cloud fcc.png

  1. The original single band cloud quality indicator band is included in this specifc multiband file as band No. 13. Follow Split stack to extract this band.
  2. Overlay the QI Cloud band on top of the color composites. Use the Identify Feature Tool for requesting pixel values of the QI band file inside a cloud. Which values represent clouds?
  3. In (Layer Properties Style load Load the full data range (minimum/maximum values) ). Then change the Style to a Pseudocolor map with interpolation discrete and 10 equal interval classes as shown in the screenshot.
  4. Double click on a color field of some classes (Layer Properties Style) to open the change color window. Change the opacity from 100% to 0%. Find the best threshold for clouds.

Qgis cloud qi pseudo.png Qgis cloud qi opacity.png

  1. Create a binary cloud mask (bitmask) where clouds = 1 and non-clouds = 0. Use the Processing tool Orfeo Toolbox --> Miscellaneous --> Band Math. Tick the single band QI layer in the Input Image list list. You may write a conditional ifelse expression using lazy operators. Type into the Expression field: (im1b1>30)?1:0. If pixel values of band 1 of multiband image 1 are larger than 30 then replace with 1 otherwise replace with 0.

Qgis cloud bandmath.png] Mark the output layer in the TOC and click Qgis local hist.png to stretch the histogram to view extents.

  1. Apply a circular majority filter with a radius of 7 pixels. Open the Processing tool SAGA Toolbox --> Raster filter --> Majority filter. The input Grid is the Output image of the band math operation step. Change the Search mode to Circle with an radius of 7 pixels.

Qgis cloud majority.png

Personal tools
Namespaces

Variants
Actions
Navigation
Development
Toolbox
Print/export