rio-pansharpen
pansharpens Landsat 8 scenes.
What is pansharpening?
Pansharpening is a process of using the spatial information in the high-resolution grayscale band (panchromatic, or pan-band) and color information in the multispectral bands to create a single high-resolution color image.
P pan-pixel cluster + M single multispectral pixel = M pan-sharpened pixel
Find more examples and information in the Mapbox pansharpening blog post.
Install
We highly recommend installing in a virtualenv. Once activated,
pip install -U pip pip install rio-pansharpen
Or install from source
git checkout https://github.com/mapbox/rio-pansharpen.git cd rio-pansharpen pip install -U pip pip install -r requirements.txt pip install -e .
Python API
pansharpen.worker
The worker module pansharpens Landsat 8. Visit the USGS Landsat page page for more information on Landsat 8 band designations.
1. worker.pansharpen
The worker.pansharpen function accepts the following as inputs:
numpy 3D array with shape == (3, vis_height, vis_width)
affine transform defining the georeferencing of the vis array
numpy 2D array with shape == (pan_height, pan_width)
affine transform defining the georeferencing of the pan array
pansharpening method
and outputs:
numpy 3D array with shape == (3, pan_height, pan_width)
>>> from pansharpen import worker
>>> from pansharpen.methods import Brovey
...
>>> pansharpened = worker.pansharpen(vis, vis_transform, pan, pan_transform,
pan_dtype, r_crs, dst_crs, weight,
method="Brovey", src_nodata=0)
2. worker.calculate_landsat_pansharpen
>>> from pansharpen import worker
>>> from pansharpen.utils import _calc_windows
>>> import riomucho
...
>>> worker.calculate_landsat_pansharpen(src_paths, dst_path, dst_dtype,
weight, verbosity, jobs, half_window,
customwindow)
CLI
pansharpen
Usage: rio pansharpen [OPTIONS] [SRC_PATHS]... DST_PATH
Pansharpens a landsat scene. Input is a panchromatic band (B8), plus 3 color
bands (B4, B3, B2)
rio pansharpen B8.tif B4.tif B3.tif B2.tif out.tif
Or with shell expansion
rio pansharpen LC80410332015283LGN00_B{8,4,3,2}.tif out.tif
Options:
--dst-dtype [uint16|uint8]
-w, --weight FLOAT Weight of blue band [default = 0.2]
-v, --verbosity
-j, --jobs INTEGER Number of processes [default = 1]
--half-window Use a half window assuming pan in aligned with
rgb bands, default: False
-c, --customwindow INTEGER Specify blocksize for custom windows >
150[default=src_blockswindows]
--help Show this message and exit.
--help Show this message and exit.
Comparison of Different Pansharpening Methods
We’ve implemented the Weighted Brovey Transform for pansharpening, which is appropriate for data like Landsat where the panchromatic band is relatively similar in resolution to the color bands.
For more information on other pansharpening methods such as IHS, PCA, P+XS, Wavelet, VWP, Wavelet with Canny Edge Detector etc, please read our notes here.
Metadata
Release files for rio-pansharpen 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| rio-pansharpen-0.2.0.tar.gz | 6.6 kB | Without provenance | Details for rio-pansharpen-0.2.0.tar.gz |
Release files / rio-pansharpen-0.2.0.tar.gz
| Download URL | rio-pansharpen-0.2.0.tar.gz |
|---|---|
| Size | 6.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e9e9cf3515e0302e0842a30888c0ed9b026cb97a616df6e463286a937372f25a
|
|
BLAKE2b-256 checksum How to use checksums |
ac2c403daf21023a61a8a2a4993f04377707074c4492dc5ee893698b594dfad2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for rio-pansharpen 0.2.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.