Automated open source library to preprocess satellite imagery
Project description
vhrharmonize: VHR Satellite Imagery Preprocessing Library
Overview
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.
Features
- Atmospheric correction workflows (Py6S default, FLAASH optional backend)
- RPC orthorectification (Orthority)
- Pansharpening (Orthority)
- Optional cloud masking (OmniCloudMask)
- Pairwise alignment (coregix)
- Relative Radiometric Normalization (spectralmatch)
- WorldView scene discovery, IMD parsing, and standardized metadata mapping
- CLI and library-first interfaces
- Automated SLURM processing for distributed High Performance Computing processing
Installation
See the installation docs 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]
Getting Started
For an overview of using the library see the quickstart docs. The CLI can be usd by passing in arguments from a yaml file like this one configs/example.worldview.yml and running:
vhr-worldview --config-yaml example.worldview.yml
Or 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.tif
For 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 --help
To use on a super computer (slurm):
vhr-hpc prepare --config configs/example.hpc.yml # Create staged HPC/provider/slurm files
vhr-hpc upload --config configs/1.staged.hpc.yml # Upload required files
vhr-hpc start --config configs/1.staged.hpc.yml # Submit the job
vhr-hpc status --config configs/1.staged.hpc.yml # Print logs and job status
vhr-hpc download --config configs/1.staged.hpc.yml # Download declared outputs
# Other commands:
vhr-hpc stop --config configs/1.staged.hpc.yml # Cancel the submitted job
vhr-hpc close --config configs/1.staged.hpc.yml # Close the SSH multiplex connection
# Or all together:
vhr-hpc prepare --config configs/example.hpc.yml && vhr-hpc upload --config configs/1.staged.hpc.yml && vhr-hpc start --config configs/1.staged.hpc.yml && vhr-hpc status --config configs/1.staged.hpc.yml && vhr-hpc download --config configs/1.staged.hpc.yml
Contributing
We welcome all contributions! We appreciate any feedback, suggestions, or pull requests to improve this project. See the contributing docs.
License
This project is licensed under the MIT License. See the LICENSE for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vhrharmonize-1.0.1.tar.gz.
File metadata
- Download URL: vhrharmonize-1.0.1.tar.gz
- Upload date:
- Size: 100.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c6a66c5dee8862d1b8d975ff2e546c3011fa8e190b48277da6f39a0137ba86b
|
|
| MD5 |
20d91bdaf0d787054682cb746a4d119e
|
|
| BLAKE2b-256 |
9425f8606c72507b220d9babe4a218a49fbdd89cf230def983a8127000281916
|
Provenance
The following attestation bundles were made for vhrharmonize-1.0.1.tar.gz:
Publisher:
publish.yml on cankanoa/vhrharmonize
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vhrharmonize-1.0.1.tar.gz -
Subject digest:
3c6a66c5dee8862d1b8d975ff2e546c3011fa8e190b48277da6f39a0137ba86b - Sigstore transparency entry: 2221175213
- Sigstore integration time:
-
Permalink:
cankanoa/vhrharmonize@9f8bcccf82a3a90a44090d48d767e51685107115 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/cankanoa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9f8bcccf82a3a90a44090d48d767e51685107115 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vhrharmonize-1.0.1-py3-none-any.whl.
File metadata
- Download URL: vhrharmonize-1.0.1-py3-none-any.whl
- Upload date:
- Size: 105.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b46cf14dc0cad54d3d5253524aa6d62362957dfcc370ff5fcf0292aba8c4100d
|
|
| MD5 |
2e6429de7184dcf34f970c6d27222bf3
|
|
| BLAKE2b-256 |
163114640358a105d66cae3e6f49e4fd068cc51e03a756c6700cd2d4d9b6947b
|
Provenance
The following attestation bundles were made for vhrharmonize-1.0.1-py3-none-any.whl:
Publisher:
publish.yml on cankanoa/vhrharmonize
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vhrharmonize-1.0.1-py3-none-any.whl -
Subject digest:
b46cf14dc0cad54d3d5253524aa6d62362957dfcc370ff5fcf0292aba8c4100d - Sigstore transparency entry: 2221175714
- Sigstore integration time:
-
Permalink:
cankanoa/vhrharmonize@9f8bcccf82a3a90a44090d48d767e51685107115 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/cankanoa
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9f8bcccf82a3a90a44090d48d767e51685107115 -
Trigger Event:
push
-
Statement type: