Skip to main content

vhrharmonize: VHR Satellite Imagery Preprocessing Library

PyPI version PyPI Downloads Your-License-Badge DOI


Overview

vhrharmonize is an open-source Python library, CLI, and QGIS plugin 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 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

# Helpful commands:
# Create preview image and download
conda install gdal
gdal raster resize --size 1%,1% -r average --co TILED=YES --co COMPRESS=DEFLATE "input.tif" "preview.tif"
rsync -avP user@ip:preview.tif .preview.tif

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.

Metadata

Release files for vhrharmonize 2.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vhrharmonize 2.0.4
File Size Uploaded Provenance Actions
vhrharmonize-2.0.4.tar.gz 103.0 kB With provenance Details for vhrharmonize-2.0.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for vhrharmonize 2.0.4
File Interpreter ABI Platform Actions
vhrharmonize-2.0.4-py3-none-any.whl Python 3 none any Details for vhrharmonize-2.0.4-py3-none-any.whl

Total release size: 209.3 kB

Release files / vhrharmonize-2.0.4.tar.gz

Download URL vhrharmonize-2.0.4.tar.gz
Size 103.0 kB
Tags Source
SHA-256 checksum
How to use checksums
7dd58f3cfd2b21fc1a1caa6a7b1733286a1451c0d62c73f95a762b2bdca2fef8
BLAKE2b-256 checksum
How to use checksums
c0a847a44c7c727c370dc83c5d83e9a5d2843c68822677c3b993756d550b5d33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 29, 2026.

Transparency log

Release files / vhrharmonize-2.0.4-py3-none-any.whl

Download URL vhrharmonize-2.0.4-py3-none-any.whl
Size 106.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2f6cbb50e8145b2b9d37b13f818a98fc2542a1bd6e6e7a8f00b8dfbd65360f6c
BLAKE2b-256 checksum
How to use checksums
9c27599a8e05a784dc06e032fa7a4fdae95b38eb651d2700d8610043533907f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 29, 2026.

Transparency log

Security for vhrharmonize 2.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for vhrharmonize-2.0.4.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 29, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page