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 supported end-to-end workflows: WorldView-3 B1 imagery. Additional providers and sensors (for example, Planet) will be added.
- Atmospheric correction workflows (Py6S default, FLAASH optional backend)
- RPC orthorectification with Orthority
- Pansharpening with Orthority
- Optional cloud masking with OmniCloudMask
- Pairwise alignment (coregix)
- Relative Radiometric Normalization with spectralmatch
- WorldView scene discovery, IMD parsing, and standardized metadata mapping
- CLI and library-first interfaces
See docs/getting-started/installation.md for detailed installation instructions or simply install like this:
conda create -n vhrharmonize -c conda-forge py6s sixs gdal python=3.11
conda activate vhrharmonize
pip install vhrharmonize[defaults]For an overview of using the library see docs/getting-started/quickstart.md. The CLI can be usd by passing in arguments from a yaml file like this one docs/configs/worldview.example.yml and running:
vhr-worldview --config-yaml worldview.example.ymlOr pass in arguments directly from the command line:
vhr-worldview \
--input-file-glob "/data/worldview/**/*.TIF" \
--output-dir ../../processed \
--run-alignment \
--alignment-fixed-image /data/reference.tifFor detailed arguments use:
vhr-worldview --help
vhr-fetch-modis-water-vapor --help
vhr-flaash --help
vhr-cloudmask-raster --help
vhr-pansharpen-orthos --help
vhr-align-image-pair --help
vhr-orthorectification --help
vhr-radiometric-normalization --help
vhr-py6s --helpWe welcome all contributions! We appreciate any feedback, suggestions, or pull requests to improve this project. See docs/getting-started/contributing.md.
This project is licensed under the MIT License. See LICENSE for details.