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.
Free software: GNU General Public License v3 or later (GPLv3+) (license details)
Documentation: https://geomultisens.gitext-pages.gfz-potsdam.de/gms_preprocessing/doc/
Code history: Release notes for the current and earlier versions of gms_preprocessing can be found here.
OS compatibility: Linux
Status
See also the latest coverage report and the nosetests HTML report.
Features
Level-1 processing:
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.
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.
>>> run_gms.py 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(
db_host='localhost',
CPUs=20
)
PC = ProcessController(jobID=123456, **configuration)
PC.run_all_processors()
Possible configuration arguments can be found here.
Installation
gms_preprocessing depends on some open source packages which are usually installed without problems by the automatic install routine. However, for some projects, we strongly recommend resolving the dependency before the automatic installer is run. This approach avoids problems with conflicting versions of the same software. Using conda, the recommended approach is:
# create virtual environment for gms_preprocessing, this is optional
conda create -c conda-forge --name gms_preprocessing python=3
conda activate gms_preprocessing
# install some dependencies that cause trouble when installed via pip
conda install -c conda-forge numpy gdal scikit-image pyproj geopandas ipython matplotlib cartopy scikit-learn=0.23.2 shapely pyhdf python-fmask holoviews
# install not pip-installable deps of arosics
conda install -c conda-forge pyfftw pykrige
# install not pip-installable deps of sicor
conda install -c conda-forge glymur pygrib cachetools pyhdf h5py pytables llvmlite numba
# install gms_preprocessing
git clone https://gitext.gfz-potsdam.de/geomultisens/gms_preprocessing.git
cd gms_preprocessing
pip install .
To enable lock functionality (needed for CPU / memory / disk IO management), install redis-server:
sudo apt-get install redis-server
History / Changelog
You can find the protocol of recent changes in the gms_preprocessing package here.
License
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 <http://www.gnu.org/licenses/>.
Contact
Credits
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for gms_preprocessing-0.18.11.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4623f108094da8465c483bbb860d4312ab7e9919f9e02852a2b224ca76ed96c7 |
|
MD5 | 2c76877f86ef3af0c21e4b7d92f6b492 |
|
BLAKE2b-256 | 0e7ab52df6f2e88713df6666d2d1dc57f47746712784db7e51f535076e3b7f19 |