[GIS] Masking clouds with Fmask

arcgis-10.1arcgis-desktopclassificationlandsatremote sensing

I have been trying to mask clouds with the quality control band with landsat 8 imagery. The problem I continue to run into is that the quality control bands mistake tops of buildings and concrete as clouds.

Have you guys had better success with Fmask? I tried using it earlier, but couldn't find out where it put the file. The website said it would be called XXXFmask. Would I even be able to open Fmask files in Arcmap?

These are the steps I've taken.
1) Built raster attribute table for QC band (see below).
2) Selected only the pixels whose values said there were clouds present.
3) Used Raster to Polygon tool to convert selected pixels to a shapefile.
4) Selected all the cloud polygons and used mask tool on image analysis window to remove data from the cloud cells.
5) Now I plan to run my image classification tools. I've included an image of Greenville, TN before and after the raster is masked. NoData cells are displayed in pink for visibility.

QC layer's attribute tableComparison of the city of Greenville, TN with and without masking.  Masked cells with NoData displayed in pink.

Best Answer

What I ended up doing:

1) Download and decompress your landsat tile. Do not open and look at the images in ArcMap because ArcMap will create .proj on the fly and this will confuse poor fmask and prevent it from running.

2) Once your landsat tile of choice's file is decompressed/unzipped/etc. Follow the directions on fmask's website for masking clouds. I used their stand alone program so I didn't have to download Matlab.

3) After fmask runs there will be a file titled xxxfmask in with all the bands for the landsat imagry.

4) This file can only be opened in ENVI NOT in ArcGIS

5) I was lucky enough to have access to ENVI so I loaded the files onto one of my school's computers and opened them in ENVI and converted them to .shp files

6) Do whatever you want with the .shp cloud masks in Arcmap

Related Question