All Projects → nmileva → starfm4py

nmileva / starfm4py

Licence: GPL-3.0 license
The STARFM fusion model for Python

Programming Languages

python
139335 projects - #7 most used programming language
TeX
3793 projects

Projects that are alternatives of or similar to starfm4py

Start maja
To process a Sentinel-2 time series with MAJA cloud detection and atmospheric correction processor
Stars: ✭ 47 (-45.35%)
Mutual labels:  remote-sensing, earth-observation, sentinel-2
awesome-spectral-indices
A ready-to-use curated list of Spectral Indices for Remote Sensing applications.
Stars: ✭ 357 (+315.12%)
Mutual labels:  remote-sensing, sentinel-2
eodag
Earth Observation Data Access Gateway
Stars: ✭ 183 (+112.79%)
Mutual labels:  remote-sensing, earth-observation
dfc2020 baseline
Simple Baseline for the IEEE GRSS Data Fusion Contest 2020
Stars: ✭ 44 (-48.84%)
Mutual labels:  remote-sensing, earth-observation
s5p-tools
Python scripts to download and preprocess air pollution concentration level data aquired from the Sentinel-5P mission
Stars: ✭ 49 (-43.02%)
Mutual labels:  remote-sensing, earth-observation
wildfire-forecasting
Forecasting wildfire danger using deep learning.
Stars: ✭ 39 (-54.65%)
Mutual labels:  remote-sensing, earth-observation
deepwatermap
a deep model that segments water on multispectral images
Stars: ✭ 81 (-5.81%)
Mutual labels:  remote-sensing, sentinel-2
xarray-sentinel
Xarray backend to Copernicus Sentinel-1 satellite data products
Stars: ✭ 189 (+119.77%)
Mutual labels:  remote-sensing, earth-observation
Geospatial Python CourseV1
This is an collection of blog posts turned into a course format
Stars: ✭ 53 (-38.37%)
Mutual labels:  remote-sensing, earth-observation
iris
Semi-automatic tool for manual segmentation of multi-spectral and geo-spatial imagery.
Stars: ✭ 87 (+1.16%)
Mutual labels:  remote-sensing, earth-observation
pytorch-psetae
PyTorch implementation of the model presented in "Satellite Image Time Series Classification with Pixel-Set Encoders and Temporal Self-Attention"
Stars: ✭ 117 (+36.05%)
Mutual labels:  remote-sensing, earth-observation
aitlas
AiTLAS implements state-of-the-art AI methods for exploratory and predictive analysis of satellite images.
Stars: ✭ 134 (+55.81%)
Mutual labels:  remote-sensing, earth-observation
GoogleEarthEngine-side-projects
Google Earth Engine side projects and tutorial scripts
Stars: ✭ 23 (-73.26%)
Mutual labels:  remote-sensing, earth-observation
torchgeo
TorchGeo: datasets, samplers, transforms, and pre-trained models for geospatial data
Stars: ✭ 1,125 (+1208.14%)
Mutual labels:  remote-sensing, earth-observation
Awesome Satellite Imagery Datasets
🛰️ List of satellite image training datasets with annotations for computer vision and deep learning
Stars: ✭ 2,447 (+2745.35%)
Mutual labels:  remote-sensing, earth-observation
pylandsat
Search, download, and preprocess Landsat imagery 🛰️
Stars: ✭ 49 (-43.02%)
Mutual labels:  remote-sensing, earth-observation
arcsi
Software to automate the production of optical analysis ready data (ARD) from Landsat, Sentinel-2 and others.
Stars: ✭ 22 (-74.42%)
Mutual labels:  remote-sensing, earth-observation
deck.gl-raster
deck.gl layers and WebGL modules for client-side satellite imagery analysis
Stars: ✭ 60 (-30.23%)
Mutual labels:  remote-sensing, earth-observation
pylandtemp
Algorithms for computing global land surface temperature and emissivity from NASA's Landsat satellite images with Python.
Stars: ✭ 110 (+27.91%)
Mutual labels:  remote-sensing, earth-observation
biodivMapR
biodivMapR: an R package for α- and β-diversity mapping using remotely-sensed images
Stars: ✭ 18 (-79.07%)
Mutual labels:  remote-sensing, sentinel-2

STARFM for Python (starfm4py)

Remote sensing image fusion allows the spectral, spatial and temporal enhancement of images. New techniques for image fusion are constantly emerging shifting the focus from pan-sharpening to spatiotemporal fusion of data originating from different sensors and platforms. However, the application of image fusion in the field of Earth observation still remains limited. The number and complexity of the different techniques available today can be overwhelming thus preventing users from fully exploiting the potential of fusion products.

The aim of this study is to make fusion products more accessible to users by providing them with a simple tool for spatiotemporal fusion. This tool will contribute to the better exploitation of data from available sensors making possible to bring the images to the spectral, spatial and temporal resolution required by the user. The fusion algorithm implemented in the tool is based on the spatial and temporal adaptive reflectance fusion model (STARFM) – a well established fusion technique in the field of remote sensing often used as benchmark by other algorithms.

How to cite?

If you use this code for published work, please cite it using the reference below or the BibTex file:

Mileva, N., Mecklenburg, S. & Gascon, F. (2018). New tool for spatiotemporal image fusion in remote sensing - a case study approach using Sentinel-2 and Sentinel-3 data. In Bruzzone, L. & Bovolo, F. (Eds.), SPIE Proceedings Vol. 10789: Image and Signal Processing for Remote Sensing XXIV. Berlin, Germany: International Society for Optics and Photonics. doi: 10.1117/12.2327091; https://doi.org/10.1117/12.2327091

A copy of the paper can be downloaded here: https://opus.bibliothek.uni-augsburg.de/opus4/frontdoor/index/index/docId/78805

Installation

It is recommended to use the Anaconda distribution for Python 3. Run the below code from the Anaconda prompt by replacing myenv with a name of your choice. For the full list of requirements, check the requirements file.

conda create -n myenv dask rasterio zarr matplotlib

Usage

STARFM was initially developed to blend Landsat and MODIS images. The current implementation is not sensor specific and can be used for other sensor pairs such as Sentinel-2 and Sentinel-3 (OLCI). However, certain degree of similarity between the images is needed before they can be blended. The most common harmonization steps are:

  • atmospheric correction - in case a surface reflectance product is not already available, the atmospheric correction will be the first step to be performed; the algorithm to be used depends on the satellite sensor; popular atmospheric correction models for Sentinel-2 and Sentinel-3 (OLCI) are iCor, Sen2Cor, SMAC, etc.
  • cloud masking - cloud pixels should be excluded;
  • re-projection - all images should be in the same cartographic coordinate system (e.g. WGS84 UTM 35N);
  • resampling to same pixel size, that is usually the pixel size of the fine resolution image;
  • co-registration of the images - the images should not only have the exact same extent but they should also match on (sub-)pixel level; useful tools for co-registration are AROSICS, GeFolki, eo-learn, pyelastix, etc.
  • bandpass adjustment (not mandatory);
  • BRDF normalization (not mandatory);

For an example of usage check test.py. To apply the algorithm on other images, make sure to adjust the variables in parameters.py.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].