GeoscienceAustralia / Pyrate

Licence: apache-2.0
A Python tool for estimating velocity and time-series from Interferometric Synthetic Aperture Radar (InSAR) data.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pyrate

Mintpy
Miami InSAR time-series software in Python
Stars: ✭ 195 (+77.27%)
Mutual labels:  time-series, remote-sensing, geoscience
Geospatial Machine Learning
A curated list of resources focused on Machine Learning in Geospatial Data Science.
Stars: ✭ 289 (+162.73%)
Mutual labels:  remote-sensing, gis, geoscience
Qgis Earthengine Examples
A collection of 300+ Python examples for using Google Earth Engine in QGIS
Stars: ✭ 482 (+338.18%)
Mutual labels:  remote-sensing, gis, image-processing
Geemap
A Python package for interactive mapping with Google Earth Engine, ipyleaflet, and folium
Stars: ✭ 959 (+771.82%)
Mutual labels:  remote-sensing, gis, image-processing
Lidar
A Python package for delineating nested surface depressions from digital elevation data.
Stars: ✭ 85 (-22.73%)
Mutual labels:  remote-sensing, gis, image-processing
geoblaze
Blazing Fast JavaScript Raster Processing Engine
Stars: ✭ 80 (-27.27%)
Mutual labels:  gis, remote-sensing
Otb
Github mirror of https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb
Stars: ✭ 265 (+140.91%)
Mutual labels:  remote-sensing, image-processing
Datacube Core
Open Data Cube analyses continental scale Earth Observation data through time
Stars: ✭ 285 (+159.09%)
Mutual labels:  remote-sensing, gis
Pythonfromspace
Python Examples for Remote Sensing
Stars: ✭ 344 (+212.73%)
Mutual labels:  gis, image-processing
wxee
A Python interface between Earth Engine and xarray for processing time series data
Stars: ✭ 113 (+2.73%)
Mutual labels:  time-series, gis
Spectral
Python module for hyperspectral image processing
Stars: ✭ 290 (+163.64%)
Mutual labels:  remote-sensing, image-processing
Whitebox Tools
An advanced geospatial data analysis platform
Stars: ✭ 362 (+229.09%)
Mutual labels:  remote-sensing, gis
NodeMICMAC
A Lightweight REST API to Access MICMAC Photogrammetry and SFM Engine.
Stars: ✭ 54 (-50.91%)
Mutual labels:  gis, remote-sensing
open-impact
To help quickstart impact work with Satellogic [hyperspectral] data
Stars: ✭ 21 (-80.91%)
Mutual labels:  gis, remote-sensing
modape
MODIS Assimilation and Processing Engine
Stars: ✭ 19 (-82.73%)
Mutual labels:  time-series, remote-sensing
Awesome Gee
A curated list of Google Earth Engine resources
Stars: ✭ 292 (+165.45%)
Mutual labels:  remote-sensing, gis
Earthengine Py Notebooks
A collection of 360+ Jupyter Python notebook examples for using Google Earth Engine with interactive mapping
Stars: ✭ 807 (+633.64%)
Mutual labels:  remote-sensing, gis
Wetland Hydro Gee
Mapping wetland hydrological dynamics using Google Earth Engine (GEE)
Stars: ✭ 20 (-81.82%)
Mutual labels:  remote-sensing, gis
spectral
Awesome Spectral Indices for the Google Earth Engine JavaScript API (Code Editor).
Stars: ✭ 68 (-38.18%)
Mutual labels:  gis, remote-sensing
land-cover-to-land-use-classification
Satellite image processing pipeline to classify land-cover and land-use
Stars: ✭ 64 (-41.82%)
Mutual labels:  gis, remote-sensing

.. image:: docs/PyRate_logo_50.png :alt: PyRate logo

Python tool for InSAR Rate and Time-series Estimation

.. image:: https://github.com/GeoscienceAustralia/PyRate/workflows/PyRate%20CI/badge.svg?branch=master :target: https://github.com/GeoscienceAustralia/PyRate/actions .. image:: https://codecov.io/gh/GeoscienceAustralia/PyRate/branch/master/graph/badge.svg :target: https://codecov.io/gh/GeoscienceAustralia/PyRate .. image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg :target: https://opensource.org/licenses/Apache-2.0 .. image:: https://img.shields.io/pypi/pyversions/Py-Rate :target: https://pypi.org/project/Py-Rate/

PyRate is a Python tool for estimating the average displacement rate (velocity) and cumulative displacement time-series of surface movements for every pixel in a stack of geocoded unwrapped interferograms generated by Interferometric Synthetic Aperture Radar (InSAR) processing. PyRate uses a "Small Baseline Subset" (SBAS) processing strategy and currently supports input data in the GAMMA or ROI_PAC software formats.

The PyRate project started in 2012 as a partial Python translation of "Pirate", a Matlab tool developed by the University of Leeds and the Guangdong University of Technology.

The full PyRate documentation is available at http://geoscienceaustralia.github.io/PyRate

Dependencies

The following system dependencies are required by PyRate:

  • Python <https://www.python.org/downloads/>_, versions 3.6, 3.7 or 3.8.
  • GDAL <https://gdal.org/download.html>_, versions 3.0.2 or 3.0.4
  • Open MPI <https://www.open-mpi.org/software/ompi/v4.0/>_, versions 2.1.6, 3.0.4, 3.1.4 or 4.0.2

The versions of each package stated above have been tested to work using GitHub Actions <https://github.com/GeoscienceAustralia/PyRate/actions>_ continuous integration testing.

Python dependencies for PyRate are::

joblib==0.14.1
mpi4py==3.0.3
networkx==2.4
numpy==1.18.3
pyproj==2.6.0
scipy==1.4.1
numexpr==2.7.1

Install

Details of all install options are given in the PyRate documentation <http://geoscienceaustralia.github.io/PyRate>_.

PyRate and its Python dependencies can be installed directly from the Python Package Index (PyPI) <https://pypi.org/project/Py-Rate/>_::

pip install Py-Rate

Alternatively, to install from source and create an executable program in Linux, enter these commands in a terminal::

cd ~
git clone https://github.com/GeoscienceAustralia/PyRate.git
python3 -m venv ~/PyRateVenv
source ~/PyRateVenv/bin/activate
cd ~/PyRate
python3 setup.py install

This will install the above-listed Python dependencies and compile the executable program pyrate. To learn more about using PyRate, type pyrate command in the terminal::

>> pyrate --help
usage: pyrate [-h] [-v {DEBUG,INFO,WARNING,ERROR}]
          {conv2tif,prepifg,correct,timeseries,stack,merge,workflow} ...

PyRate workflow:

    Step 1: conv2tif
    Step 2: prepifg
    Step 3: correct
    Step 4: timeseries
    Step 5: stack
    Step 6: merge

Refer to https://geoscienceaustralia.github.io/PyRate/usage.html for
more details.

positional arguments:
  {conv2tif,prepifg,correct,timeseries,stack,merge,workflow}
    conv2tif            Convert interferograms to geotiff.
    prepifg             Perform multilooking, cropping and coherence masking to interferogram geotiffs.
    correct             Calculate and apply corrections to interferogram phase data.
    timeseries          Timeseries inversion of interferogram phase data.
    stack               Stacking of interferogram phase data.
    merge               Reassemble computed tiles and save as geotiffs.
    workflow            Sequentially run all the PyRate processing steps.

optional arguments:
  -h, --help            show this help message and exit
  -v {DEBUG,INFO,WARNING,ERROR}, --verbosity {DEBUG,INFO,WARNING,ERROR}
                        Increase output verbosity

Test

To run the test suite, enter these commands in the terminal::

pip install -r requirements-test.txt python3 -m pytest -m "not slow" tests/

To run the tests for a single module (e.g. test_timeseries.py), use this command::

python3 -m pytest tests/test_timeseries.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].