NOTE: s2cloudless masks are now available as a precomputed layer within Sentinel Hub. Check the announcement blog post and technical documentation.
The s2cloudless Python package provides automated cloud detection in Sentinel-2 imagery. The classification is based on a single-scene pixel-based cloud detector developed by Sentinel Hub's research team and is described in more details in this blog.
The package requires a Python version >= 3.6. The package is available on the PyPI package manager and can be installed with
$ pip install s2cloudless
To install the package manually, clone the repository and
$ pip install .
One of s2cloudless
dependencies is lightgbm
package. If having problems during installation, please
check the LightGBM installation guide.
Before installing s2cloudless
on Windows, it is recommended to install package shapely
from
Unofficial Windows wheels repository
The inputs to the cloud detector are Sentinel-2 images. In particular, the cloud detector requires the following 10
Sentinel-2 band reflectances: B01, B02, B04, B05, B08, B8A, B09, B10, B11, B12, which are obtained from raw
reflectance value in the following way: B_i/10000
.
You don't need to worry about any of this, if you're doing classification of scenes obtained using Sentinel Hub Process API. The API is supported in Python with sentinelhub-py package.
Jupyter notebook on how to use the cloud detector to produce cloud mask or cloud probability map can be found in the examples folder.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.