Skip to main content

Radiometric homogenisation of aerial and satellite imagery by fusion with satellite surface reflectance data.

Project description

Tests codecov License: AGPL v3

homonim

Radiometric homogenisation of aerial and satellite imagery by fusion with satellite surface reflectance data.

Description

homonim corrects multi-spectral aerial and satellite imagery to approximate surface reflectance, by fusion with concurrent and collocated satellite surface reflectance data. It is a form of spectral harmonisation, that adjusts for spatially varying atmospheric and anisotropic (BRDF) effects, without the need for manual reflectance measurements, or target placements.

It is useful as a pre-processing step for quantitative mapping applications, such as biomass estimation or precision agriculture, and can be applied to drone, aerial or satellite imagery.

homonim is based on the method described in Radiometric homogenisation of aerial images by calibrating with satellite data.

Installation

homonim is available as a python 3 package, via pip and conda. Under Windows, we recommend using conda to simplify the installation of binary dependencies. The Miniconda installation provides a minimal conda.

conda

conda install -c conda-forge homonim

pip

pip install homonim

Quick Start

Download the homonim github repository to get the test imagery. If you have git, you can clone it with:

git clone https://github.com/dugalh/homonim.git

Alternatively, download it from here, extract the zip archive and rename the homonim-main directory to homonim.

Using the gain-blk-offset method and a 5 x 5 pixel kernel, homogenise the aerial images with the Sentinel-2 reference.

homonim fuse -m gain-blk-offset -k 5 5 -od . ./homonim/data/test_example/source/*_RGB.tif ./homonim/data/test_example/reference/COPERNICUS-S2-20151003T075826_20151003T082014_T35HKC_B432_Byte.tif

Statistically compare the raw and homogenised aerial images with the included Landsat-8 reference.

homonim compare ./homonim/data/test_example/source/*_RGB.tif ./*HOMO*.tif ./homonim/data/test_example/reference/LANDSAT-LC08-C02-T1_L2-LC08_171083_20150923_B432_Byte.tif

Example

Mosaics of 0.5 m resolution aerial imagery before and after homogenisation. A Landsat-7 surface reflectance image was used as reference, and is shown in the background. Homogenisation was performed using the gain-blk-offset method and a 5 x 5 pixel kernel.

example

Usage

See the documentation here.

Terminology

While homonim implements a form of spectral harmonisation, we have used the term homogenisation to describe the method, in keeping with the original formulation. Homogenisation is implemented using a type of image fusion.

Credits

homonim depends on a number of libraries, making extensive use of the following excellent projects:

License

homonim is licensed under the terms of the AGPLv3. This project is developed in collaboration with InnovUS at Stellenbosch University, alternative licenses can be arranged by contacting them.

Citation

Please cite use of the code as:

Author

Dugal Harris - dugalh@gmail.com

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

homonim-0.1.6.tar.gz (48.4 kB view hashes)

Uploaded Source

Built Distribution

homonim-0.1.6-py3-none-any.whl (56.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page