Build Status Coverage Status

rio-cloudmask

Rasterio plugin for identifying clouds in multi-spectral satellite imagery.

This project is based laregely on the research by Zhu and Woodcock

as well as the subsequent fmask and cfmask software implementations.

Why build our own? The CFmask software produces excellent results but is designed to be part of a larger USGS processing framework, thus bringing with it some implementation overhead and assumptions that prevent easy integration with other systems. In short, we need a pip installable, numpy-based tool that works with GDAL raster formats and integrates well with Rasterio data processing pipelines.

Example

Given this input data from Landsat 8 (LC80130312015295LGN00)

rgb

Assuming we've already derived Top of Atmosphere (TOA) reflectance and brightness temperatures using rio-toa, we can use those to create a uint8 mask suitable for use as an alpha band in an RGBA image:

rio cloudmask LC8*_B[2-7]_toa.tif LC8*_B9_toa.tif LC8*_B10_toa.tif -o test.tif

mask

Status

The first iteration of the cloudmask algorithm implements the potential cloud layer

Still to do...

See also

Another Python implementation: Python Fmask