Skip to main content

PyGMTSAR (Python GMTSAR) - Easy and Fast Satellite Interferometry For Everyone

Project description

MacOS tests Ubuntu tests PyPI tests Available on pypi Docker

PyGMTSAR (Python GMTSAR) is an open source project and Python package that provides Sentinel-1 Satellite Interferometry for everyone.

The goal of the project is easy and fast satellite interferometry (InSAR) processing for Sentinel-1 radar scenes everywhere as on localhost as on cloud environments like to Google Cloud VM and AI Notebooks and Amazon EC2 and on free of charge cloud environment Google Colab and in Docker images. GMTSAR binary command line tools are used under the hood but all GMTSAR scripts and GMT command replaced by Python code using modern and robust algorithms.

Why PyGMTSAR?

PyGMTSAR combines powerful Python instrumentary for sophisticated multidementional processing (xarray library) and lazy calculations (dask library) plus parallel computing (dask and joblib libraries) to perform fast and interactive processing on huge datasets. And the best algorithms and numerical computation approaches applied for all the processing steps. There are progressbars and preview plots for the every step and that's easy to save intermediate results and continue work later on the same or other host. And (thanks to joblib library) that's safe to interrupt the execution at any time without memory leaks (common for dask-based solutions).

Thanks to all the powerful Python libraries and the best used algorithms PyGMTSAR is fast and its possible to complete SBAS analysis for 5 years on 800 interferograms in just one day on Apple Air or Apple iMac (8 cores and 16 GB RAM) using 2 TB Sentinel-1 SLC scenes. And PyGMTSAR is user-friendly providing functions to download the required satellite orbit files and DEM and so on. This combination of the human-readable and short code and powerful computing is the key to use PyGMTSAR everywhere from education and to research and more.

Live Examples in Docker image

Configure your Docker runtime (Preferences -> Resources tab for Docker Desktop) to use 2 CPU cores and 8 GB RAM or 4 CPU cores and 16 GB RAM and so on. Download the Docker image (or build it yourself using the Dockerfile in the repository) and run the container forwarding port 8888 to JupyterLab using this commands inside your command line terminal window:

docker pull mobigroup/pygmtsar

docker run -dp 8888:8888 --name pygmtsar docker.io/mobigroup/pygmtsar

docker logs pygmtsar

See the output for the JupyterLab link and copy and past it into your web browser address line. Also, the donwloaded Docker image can be started in Docker Desktop app - press "RUN" button and define the container name and the port in the opened dialog window (see "Optional settings" for the port number input field) and click on the newly created container to launch it and see the output log with the clickable link.

Live Examples on Google Colab

Click on the examples below to run the processing in your own browser without any software installation. That's like to magic and it works.

Open In Colab ASF Downloading 2017 Iran–Iraq Earthquake vs GMTSAR GAMMA SNAP Co-Seismic Interferogram The notebook downloads Sentinel-1 Scenes from Alaska Satellite Facility (ASF) and compares the results to GMTSAR, SNAP and GAMMA Software. Note: replace the scene names to produce an interferogram and LOS displacement for your area of interest.

Open In Colab Live Example S1A_2016_Kumamoto Earthquake_Co-Seismic Interferogram vs ESA Sentinel 1 Toolbox on Alaska Satellite Facility. This is a single subswath processing with landmask applied to interferogram, unwapped phase, and LOS, east-west, vertical displacement results.

Open In Colab Live Example S1AB 2021 Crete Earthquake Co-Seismic Interferogram vs Centre of EO Research & Satellite Remote Sensing, Greece Report This is a single cropped subswath processing with landmask applied to interferogram, unwapped phase, and LOS, east-west, vertical displacement results.

Open In Colab GMTSAR example dataset S1A_Stack_CPGF_T173 This example illustrates SBAS and PSI analyses and detrending approach to remove atmospheric noise to produce much better results.

Open In Colab ASF Downloading 2020 Ardabil, Iran Earthquake Co-Seismic Interferogram and LOS Displacement The notebook downloads Sentinel-1 Scenes from Alaska Satellite Facility (ASF) to crop the area and merge subswaths and detrend results. Note: replace the scene names to produce an interferogram for your area of interest.

Learn more

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

pygmtsar-2022.11.12.2.tar.gz (68.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pygmtsar-2022.11.12.2-py3-none-any.whl (80.5 kB view details)

Uploaded Python 3

File details

Details for the file pygmtsar-2022.11.12.2.tar.gz.

File metadata

  • Download URL: pygmtsar-2022.11.12.2.tar.gz
  • Upload date:
  • Size: 68.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.8

File hashes

Hashes for pygmtsar-2022.11.12.2.tar.gz
Algorithm Hash digest
SHA256 0b8f25291f3e98c1d8c3875cc37b49f24252f3b58df391ac70bfec17a8ed0551
MD5 ce0774c0fa9c8eecf1d423a4f74a72a9
BLAKE2b-256 54c5ecf33937783e4dab98c386a938c751de4c6af6d3a4cc5a1a3f1567aebe9a

See more details on using hashes here.

File details

Details for the file pygmtsar-2022.11.12.2-py3-none-any.whl.

File metadata

File hashes

Hashes for pygmtsar-2022.11.12.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5ab9d25f9fc20d4de5865e7185fc087455e32fd426427d3bd55701d7b7619bac
MD5 b933980edf46cdac338b11c173aa8a33
BLAKE2b-256 233c27a6aeebfa3a0d79b8ce9b0395a4ad8241896b2400449cd0364bac74a54a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page