All Projects → insarlab → Mintpy

insarlab / Mintpy

Licence: other
Miami InSAR time-series software in Python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Mintpy

Pyrate
A Python tool for estimating velocity and time-series from Interferometric Synthetic Aperture Radar (InSAR) data.
Stars: ✭ 110 (-43.59%)
Mutual labels:  time-series, remote-sensing, geoscience
Verde
Processing and interpolating spatial data with a twist of machine learning
Stars: ✭ 260 (+33.33%)
Mutual labels:  geophysics, geoscience
modape
MODIS Assimilation and Processing Engine
Stars: ✭ 19 (-90.26%)
Mutual labels:  time-series, remote-sensing
Pygmt
A Python interface for the Generic Mapping Tools.
Stars: ✭ 331 (+69.74%)
Mutual labels:  geophysics, geoscience
Start maja
To process a Sentinel-2 time series with MAJA cloud detection and atmospheric correction processor
Stars: ✭ 47 (-75.9%)
Mutual labels:  time-series, remote-sensing
xlines
X lines of Python
Stars: ✭ 100 (-48.72%)
Mutual labels:  geoscience, geophysics
Geospatial Machine Learning
A curated list of resources focused on Machine Learning in Geospatial Data Science.
Stars: ✭ 289 (+48.21%)
Mutual labels:  remote-sensing, geoscience
lightweight-temporal-attention-pytorch
A PyTorch implementation of the Light Temporal Attention Encoder (L-TAE) for satellite image time series. classification
Stars: ✭ 43 (-77.95%)
Mutual labels:  time-series, remote-sensing
Digital Elevation Model
To transform, project, visualize, and read Digital Elevation Models (ASTERGDEMv2.0 and EUDEMv1.1). [简单实用] 数字高程模型的变换、投影、可视化和读取。
Stars: ✭ 64 (-67.18%)
Mutual labels:  remote-sensing, geoscience
Harmonica
Forward modeling, inversion, and processing gravity and magnetic data
Stars: ✭ 75 (-61.54%)
Mutual labels:  geophysics, geoscience
Notebooks
IPython Notebooks
Stars: ✭ 91 (-53.33%)
Mutual labels:  geophysics, geoscience
Fatiando
Python toolkit for modeling and inversion in geophysics. DEPRECATED in favor of our newer libraries (see www.fatiando.org)
Stars: ✭ 179 (-8.21%)
Mutual labels:  geophysics, geoscience
piradar
Radar using Red Pitaya for RF: using Raspberry Pi 3 for quad-core radar signal processing
Stars: ✭ 59 (-69.74%)
Mutual labels:  geoscience, remote-sensing
paper-moho-inversion-tesseroids
Source code, data, and model results for "Fast non-linear gravity inversion in spherical coordinates with application to the South American Moho". Published in the Geophysical Journal International.
Stars: ✭ 27 (-86.15%)
Mutual labels:  geoscience, geophysics
rockhound
NOTICE: This library is no longer being developed. Use Ensaio instead (https://www.fatiando.org/ensaio). -- Download geophysical models/datasets and load them in Python
Stars: ✭ 33 (-83.08%)
Mutual labels:  geoscience, geophysics
Simpeg
Simulation and Parameter Estimation in Geophysics - A python package for simulation and gradient based parameter estimation in the context of geophysical applications.
Stars: ✭ 283 (+45.13%)
Mutual labels:  geophysics, geoscience
ww tvol study
Process global-scale satellite and airborne elevation data into time series of glacier mass change: Hugonnet et al. (2021).
Stars: ✭ 26 (-86.67%)
Mutual labels:  time-series, remote-sensing
Awesome Open Geoscience
Curated from repositories that make our lives as geoscientists, hackers and data wranglers easier or just more awesome
Stars: ✭ 668 (+242.56%)
Mutual labels:  geophysics, geoscience
Modistsp
An "R" package for automatic download and preprocessing of MODIS Land Products Time Series
Stars: ✭ 118 (-39.49%)
Mutual labels:  time-series, remote-sensing
2016 Ml Contest
Machine learning contest - October 2016 TLE
Stars: ✭ 135 (-30.77%)
Mutual labels:  geophysics, geoscience

Language Docs Status CircleCI Version License Forum Citation

MintPy

The Miami INsar Time-series software in PYthon (MintPy as /mɪnt paɪ/) is an open-source package for Interferometric Synthetic Aperture Radar (InSAR) time series analysis. It reads the stack of interferograms (coregistered and unwrapped) in ISCE, ARIA, FRInGE, SNAP, GAMMA or ROI_PAC format, and produces three dimensional (2D in space and 1D in time) ground surface displacement in line-of-sight direction. It includes a routine time series analysis (smallbaselineApp.py) and some independent toolbox.

This package was called PySAR before version 1.1.1. For version 1.1.2 and onward, we use MintPy instead.

This is research code provided to you "as is" with NO WARRANTIES OF CORRECTNESS. Use at your own risk.

1. Installation

2. Running MintPy

2.1 Routine workflow smallbaselineApp.py

MintPy reads a stack of interferograms (unwrapped interferograms, coherence and connected components from SNAPHU if available) and the geometry files (DEM, lookup table, incidence angle, etc.). You need to give the path to where the files are and MintPy takes care of the rest!

smallbaselineApp.py                         #run with default template 'smallbaselineApp.cfg'
smallbaselineApp.py <custom_template>       #run with default and custom templates
smallbaselineApp.py -h / --help             #help
smallbaselineApp.py -H                      #print    default template options
smallbaselineApp.py -g                      #generate default template if it does not exist
smallbaselineApp.py -g <custom_template>    #generate/update default template based on custom template

# Run with --start/stop/dostep options
smallbaselineApp.py GalapagosSenDT128.template --dostep velocity  #run at step 'velocity' only
smallbaselineApp.py GalapagosSenDT128.template --end load_data    #end after step 'load_data'

Inside smallbaselineApp.py, it reads the unwrapped interferograms, references all of them to the same coherent pixel (reference point), calculates the phase closure and estimates the unwrapping errors (if it has been asked for), inverts the network of interferograms into time-series, calculates the temporal coherence to evaluate the quality of inversion, corrects local oscillator drift (for Envisat only), corrects stratified tropospheric delay (using global atmospheric models or phase-elevation-ratio approach), removes phase ramps (if it has been asked for), corrects DEM error,... and finally estimates the velocity.

Configuration parameters for each step are initiated with default values in a customizable text file smallbaselineApp.cfg.

Example on Fernandina volcano, Galápagos with Sentinel-1 data

wget https://zenodo.org/record/3952953/files/FernandinaSenDT128.tar.xz
tar -xvJf FernandinaSenDT128.tar.xz
cd FernandinaSenDT128/mintpy
smallbaselineApp.py ${MINTPY_HOME}/mintpy/data/input_files/FernandinaSenDT128.txt

Results are plotted in ./pic folder. To explore more data information and visualization, try the following scripts:

info.py                    #check HDF5 file structure and metadata
view.py                    #2D map view
tsview.py                  #1D point time-series (interactive)   
plot_coherence_matrix.py   #plot coherence matrix for one pixel (interactive)
plot_network.py            #plot network configuration of the dataset    
plot_transection.py        #plot 1D profile along a line of a 2D matrix (interactive)
save_kmz.py                #generate Google Earth KMZ file in raster image
save_kmz_timeseries.py     #generate Goodle Earth KMZ file in points for time-series (interactive)

2.2 Customized processing recipe

MintPy is a toolbox with individual utility scripts. Simply run the script with -h / --help to see its usage, you could build your own customized processing recipe! Here is an example to compare the velocities estimated from displacement time-series with different tropospheric delay corrections.

2.3 Build on top of mintpy module

MintPy is modulized in Python with utilities classes and functions and well commented in the code level. Users who are familiar with Python could build their own functions and modules on top of mintpy.objects and mintpy.utils. However, we don't have a complete API document website yet (maybe you can contribute this!). Below is an example of reading the 3D matrix of displacement time-series from an HDF5 file.

from mintpy.utils import readfile
ts_data, meta = readfile.read('timeseries_ERA5_ramp_demErr.h5')

3. Documentation

Algorithms implemented in the software are described in details at Yunjun et al. (2019).

4. Contact us

5. Contributing

Imposter syndrome disclaimer: We want your help. No, really.

There may be a little voice inside your head that is telling you that you're not ready to be an open source contributor; that your skills aren't nearly good enough to contribute. What could you possibly offer?

We assure you - the little voice in your head is wrong. If you can write code at all, you can contribute code to open source. Contributing to open source projects is a fantastic way to advance one's coding skills. Writing perfect code isn't the measure of a good developer (that would disqualify all of us!); it's trying to create something, making mistakes, and learning from those mistakes. That's how we all improve, and we are happy to help others learn.

Being an open source contributor doesn't just mean writing code. You can help out by writing or proofreading documentation, suggesting or implementing tests, or even giving feedback about the project (and yes - that includes giving feedback about the contribution process). Some of these contributions may be the most valuable to the project as a whole, because you're coming to the project with fresh eyes, so you can see the errors and assumptions that seasoned contributors have glossed over.

For more information, please read our contributing guide.

This disclaimer was adapted from the MetPy project.

6. Citing this work

Yunjun, Z., H. Fattahi, F. Amelung (2019), Small baseline InSAR time series analysis: Unwrapping error correction and noise reduction, Computers & Geosciences, 133, 104331, doi:10.1016/j.cageo.2019.104331, arXiv, data & figures.

In addition to the above, we recommend that you cite the original publications that describe the algorithms used in your specific analysis. They are noted briefly in the default template file and listed in the references.md file.

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].