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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vhrharmonize-2.0.0.tar.gz (102.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vhrharmonize-2.0.0-py3-none-any.whl (106.3 kB view details)

Uploaded Python 3

File details

Details for the file vhrharmonize-2.0.0.tar.gz.

File metadata

  • Download URL: vhrharmonize-2.0.0.tar.gz
  • Upload date:
  • Size: 102.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vhrharmonize-2.0.0.tar.gz
Algorithm Hash digest
SHA256 32ecd5988a0fc2b177f979d8572036b38e7a7b5f542324d3322e1bf47282c462
MD5 b243d081d725986e8d7e0a00fbf99663
BLAKE2b-256 a0c8ab116cfeb059546699363c612ae022c9cd4bd75e7fe66b38fcb119487fe0

See more details on using hashes here.

Provenance

The following attestation bundles were made for vhrharmonize-2.0.0.tar.gz:

Publisher: publish.yml on cankanoa/vhrharmonize

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vhrharmonize-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: vhrharmonize-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 106.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for vhrharmonize-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 23228091be80a332cbc7c2e66a4c1f9f1c974057ac5e01afe1cad798261c5f34
MD5 e1cd43b92e184aca54fc670151fcb6c8
BLAKE2b-256 d23195d300f8eee4d0585f43aca99e1445e3e555f3e9e8a6876b28c0a5fa2de3

See more details on using hashes here.

Provenance

The following attestation bundles were made for vhrharmonize-2.0.0-py3-none-any.whl:

Publisher: publish.yml on cankanoa/vhrharmonize

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

2.0.4

2 files

2.0.3

2 files

2.0.2

2 files

2.0.1

2 files

This release

2.0.0 This release

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.0.1

2 files

1.0.0

2 files

0.0.2

2 files

0.0.1

2 files

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