Python CC-BY-SA-4.0

sentinel2-cloud-detector

Sentinel Hub Cloud Detector for Sentinel-2 images in Python

S

sentinel-hub

Dernière activité 15 janv. 2026
sentinel-hub/sentinel2-cloud-detector

494

étoiles

98

forks

4

issues ouvertes

classificationcloud-detectorpython-librarysentinel-2sentinel-hub

Ce README est souvent en anglais.

Package version Conda version Supported Python versions Build Status Overall downloads Last month downloads Code coverage

Sentinel Hub's cloud detector for Sentinel-2 imagery

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 detail in this blog.

The s2cloudless algorithm was part of an international collaborative effort aimed at intercomparing cloud detection algorithms. The s2cloudless algorithm was validated together with 9 other algorithms on 4 different test datasets and in all cases found to be on the Pareto front. See the paper

Installation

The package requires a Python version >= 3.8. 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

Input: Sentinel-2 scenes

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 values in the following way: B_i/10000. From product baseline 04.00 onward additional harmonization factors have to be applied to data according to instructions from ESA.

You don't need to worry about any of this, if you are using Sentinel-2 data obtained from Sentinel Hub Process API. By default, the data is already harmonized according to documentation. The API is supported in Python with sentinelhub-py package and used within s2cloudless.CloudMaskRequest class.

Examples

A Jupyter notebook on how to use the cloud detector to produce cloud mask or cloud probability map can be found in the examples folder.

License

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Projets similaires

Download and process satellite imagery in Python using Sentinel Hub services.

Pythonawsogc-servicespython-library
Ssentinel-hub
911 étoiles255

Python module for hyperspectral image processing

Pythonanomaly-detectionhyperspectralhyperspectral-image-classification
Sspectralpython
684 étoiles148

DSen2-CR: A network for removing clouds from Sentinel-2 images. This repo contains the model code, written in Python/Keras, as well as links to pre-trained checkpoints and the SEN12MS-CR dataset.

Pythoncloud-removaldeep-learningoptical
Aameraner
181 étoiles39