OmniCloudMask
State-of-the-art cloud and cloud shadow segmentation for satellite imagery

OmniCloudMask is a Python library for cloud and cloud shadow detection in high to moderate resolution satellite imagery. It supports resolutions from 10 m to 50 m — and down to 5 m with recent model versions — and works with imagery from Sentinel-2, Landsat, PlanetScope, Maxar, and other sensors with Red, Green, and NIR bands. See Choosing a Resolution for guidance on picking the right resolution for your data.
Key Features
Works with any imagery containing Red, Green, and NIR bands (10 m to 50 m resolution, and down to 5 m with recent models)
Any processing level (L1C, L2A, TOA, surface reflectance, etc.)
Validated on Sentinel-2, Landsat 8, PlanetScope, and Maxar imagery
Supports CUDA, MPS (Apple Silicon), and CPU inference
Optional confidence map export
Fast inference with multi-threaded patch-based processing
Batch prediction for datasets of same-sized image chips
Output Classes
OmniCloudMask produces segmentation masks with four classes defined by the CloudSEN12 dataset:
Value |
Class |
|---|---|
0 |
Clear |
1 |
Thick Cloud |
2 |
Thin Cloud |
3 |
Cloud Shadow |
Resources
Contents
- Installation
- Quickstart
- How It Works
- Usage Guide
- Spectral Channels
- Device Selection
- GPU Performance Optimization
- Downscale for Higher Throughput
- Low VRAM Configuration
- CPU Inference
- Confidence Maps
- Batch Prediction for Image Datasets
- Output Directory
- Metadata Tags
- Skip Existing Predictions
- Custom Data Loaders
- Multiband GeoTIFF Loader
- Model Versions
- Custom Models
- Choosing a Resolution
- Performance
- Spatial Context
- API Reference
- Troubleshooting & FAQ
- Contributing
- Who’s Using It?
- Changelog
- Model Changelog