Skip to main content

GeoMultiSens - Scalable Multi-Sensor Analysis of Remote Sensing Data

Project description

The goal of the gms_preprocessing Python library is to provide a fully automatic pre-precessing pipeline for spatial and spectral fusion (i.e., homogenization) of multispectral satellite image data. Currently it offers compatibility to Landsat-5, Landsat-7, Landsat-8, Sentinel-2A and Sentinel-2B.


See also the latest coverage report and the nosetests HTML report.


Level-1 processing:

  • data import and metadata homogenization (compatibility: Landsat-5/7/8, Sentinel-2A/2B)

  • equalization of acquisition- and illumination geometry

  • atmospheric correction (using SICOR)

  • correction of geometric errors (using AROSICS)

Level-2 processing:

  • spatial homogenization

  • spectral homogenization (using SpecHomo)

  • estimation of accuracy layers

=> application oriented analysis dataset

Getting started

Usage via WebApp

The recommended way to use gms_preprocessing is to setup the WebApp (see the gms-vis repository) providing a UI for GeoMultiSens. Using this UI, existing satellite data can be explored, filtered and selected for processing. New data homogenization jobs (using gms_preprocessing) can be defined and started. All configuration parameters of gms_preprocessing are accessible in the UI.

WebApp Screenshot

Usage via console interface

Homogenization jobs can also be created and started using the command line interface. Documentation can be found here.

Here is a small example:

# start the job with the ID 123456 and override default configuration with the given one.
>>> jobid 123456 --json_config /path/to/my/config.json

There is a default configuration file, called options_default.json. This file contains the documentation for all the available configuration parameters.

Usage via Python API

There is also a Python API that allows to setup and start homogenization jobs by a Python function call.

This is an example:

from gms_preprocessing import ProcessController

configuration = dict(

PC = ProcessController(job_ID=123456, **configuration)

Possible configuration arguments can be found here.

History / Changelog

You can find the protocol of recent changes in the gms_preprocessing package here.


gms_preprocessing - Spatial and spectral homogenization of satellite remote sensing data.

Copyright 2020 Helmholtz Centre Potsdam GFZ German Research Centre for Geosciences, Potsdam, Germany

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <>.


Daniel Scheffler

Helmholtz Centre Potsdam GFZ German Research Centre for Geoscienes
Section 1.4 Remote Sensing
14473 Potsdam


The development of the gms_preprocessing package was funded by the German Federal Ministry of Education and Research (BMBF, project grant code: 01 IS 14 010 A-C).

The package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

Landsat-5/7/8 satellite data and SRTM/ASTER digital elevation models have been provided by the US Geological Survey. Sentinel-2 data have been provided by ESA.

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

gms_preprocessing-0.19.3.tar.gz (41.2 MB view hashes)

Uploaded Source

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