Important
This library is under active development and may change.
vhrharmonize is an open-source Python library and CLI suite for preprocessing very high resolution (VHR) satellite imagery into analysis-ready products.
Current tested/supported end-to-end workflow: WorldView.
Additional providers and sensors (for example, Planet) are being added.
- Atmospheric correction workflows (Py6S default, FLAASH optional backend)
- RPC orthorectification
- Pansharpening
- Optional cloud masking with OmniCloudMask
- Tile utilities and tile-aware pairwise alignment (elastix)
- Batch scene discovery + metadata/override processing
- CLI and library-first interfaces
- Python
>=3.9(3.11+ recommended) - GDAL-compatible environment
6Sexecutable for Py6S workflows (default)- ENVI Task Engine only for FLAASH workflows
conda create -n vhrharmonize python=3.11 -c conda-forge
conda activate vhrharmonizegit clone https://github.com/cankanoa/vhrharmonize.git
cd vhrharmonize
pip install -e .Optional extras:
pip install -e ".[cloud]" # omnicloudmask
pip install -e ".[elastix]" # itk-elastix
pip install -e ".[py6s]" # backward-compat extra; Py6S is included in base install
pip install -e ".[spectralmatch]"
pip install -e ".[docs]"For conda users, install 6S with:
mamba install -n vhrharmonize -c conda-forge py6s sixsFor usage docs:
docs/getting-started/quickstart.mddocs/cli/overview.md
Primary CLI commands:
vhr-worldview --help
vhr-fetch-modis-water-vapor --help
vhr-cloudmask-raster --help
vhr-pansharpen-orthos --help
vhr-align-image-pair --helpDocs site:
python -m mkdocs serve -f docs/mkdocs.ymlWe welcome all contributions! To get started:
- Fork the repository and create a new feature branch.
- Make your changes.
- Open a Pull Request against the main repository.
We appreciate any feedback, suggestions, or pull requests to improve this project.
This project is licensed under the MIT License. See LICENSE for details.