AlexeyPechnikov / pygmtsar

PyGMTSAR (Python InSAR): Powerful and Accessible Satellite Interferometry
http://insar.dev/
BSD 3-Clause "New" or "Revised" License
434 stars 97 forks source link
earth-observation earth-science earthquake flooding insar natural-disasters python3 remote-sensing sbas-insar scientific-computing scientific-visualization sentinel-1

View on GitHub Available on pypi Docker DOI Support on Patreon ChatGPT Assistant

PyGMTSAR (Python InSAR): Powerful and Accessible Satellite Interferometry

PyGMTSAR (Python InSAR) is designed to meet the needs of both occasional users and experts in Sentinel-1 Satellite Interferometry. It offers a wide range of features, including SBAS, PSI, PSI-SBAS, and more. In addition to the examples provided below, I also share Jupyter notebook examples on Patreon and provide updates on its progress through my LinkedIn profile.

About PyGMTSAR

PyGMTSAR provides accessible, reproducible, and powerful Sentinel-1 interferometry that is available to everyone, regardless of their location. It encompasses a variety of interferometry approaches, including SBAS, PSI, PSI-SBAS, and time series and trend analysis, all integrated into a single Python package. Whether you're utilizing Google Colab, DockerHub, or any other platform, PyGMTSAR is ready to meet your needs.

One of the most in-demand features in PyGMTSAR (Python InSAR) is the combined analysis of Persistent Scatterers (PS or PSI) and the Small Baseline Subset (SBAS). Each method has its own unique advantages and drawbacks — SBAS typically performs better in rural areas, while PS is more suited to urban environments. My vision is to merge the benefits of both methods while mitigating their shortcomings through a unified PS-SBAS process. Additionally, PyGMTSAR offers weighted interferogram processing using an amplitude stability matrix, which emphasizes stable pixels. This approach enhances phase and coherence, improving the accuracy of results by maintaining high coherence, even in rural areas.

PyGMTSAR Live Examples on Google Colab

Google Colab is a free service offering interactive notebooks that are accessible directly in your web browser and available to everyone. These notebooks provide live examples of InSAR processing using PyGMTSAR. You don't need a powerful computer, extensive disk space, a fast internet connection, or any special software installations. Almost any internet-connected device, including desktops, laptops, smartphones, or even smart TVs, can effectively handle InSAR processing with PyGMTSAR. Furthermore, you can save the results and the processing Jupyter notebook on your local computer or server to run it locally or in the cloud.

All steps in these notebooks are automated. This includes the software installation on Google Colab's cloud host (Linux Ubuntu 22, Python 3.10), downloading Sentinel-1 SLC and orbit files from the Alaska Satellite Facility (ASF) datastore, obtaining SRTM DEM data and converting it to ellipsoidal heights using the EGM96 model, downloading a land mask for masking low-coherence water surfaces, and of course, carrying out complete interferometry processing and result mapping. You can also customize the notebooks by replacing the scene names to process specific areas of your interest. Additionally, all notebooks are accompanied by interactive 3D maps that are available instantly.

Open In Colab CENTRAL Türkiye Mw 7.8 & 7.5 Earthquakes Co-Seismic Interferogram, 2023.

Open In Colab Pico do Fogo Volcano Eruption on Cape Verde's Fogo Island, 2014.

Open In Colab La Cumbre Volcano Eruption Interferogram, 2020.

Open In Colab Iran–Iraq Earthquake Co-Seismic Interferogram, 2017.

Open In Colab Imperial Valley SBAS analysis, 2015. The resulting InSAR velocity map is available as a standalone web page at Imperial_Valley_2015.html.

Open In Colab Flooding [Correlation] Map: Kalkarindji, NT Australia, 2024.

Open In Colab PyGMTSAR SBAS and PSI Analyses: Golden Valley, CA.

Open In Colab PyGMTSAR SBAS and PSI Analyses: Lake Sarez Landslides, Tajikistan.

Open In Colab PyGMTSAR Elevation Map: Erzincan, Türkiye.

PyGMTSAR Live Examples on Google Colab Pro

For subscribers, I share more complex SBAS and PSI use cases on Google Colab Pro through my Patreon page. These use cases are suitable for InSAR learners, researchers, and industry specialists working on their challenging projects. Large areas and big stacks for thousands of interferograms, low-coherence territories, and extensive atmospheric phase delays - all these tasks can be addressed with PyGMTSAR. These examples can still be run online on the Google Colab Pro platform, which is cost-effective ($10/month) and provides a good balance between very fast data transfer speeds for downloading dozens of Sentinel-1 SLC scenes, available disk space to store the datasets and process them (approximately 220GB vs. 110GB for the free version of Google Colab), processing speed (8 vCPUs vs. 2 for the free version of Google Colab), and accessible memory (54GB vs. 12GB for the free version of Google Colab). I frequently utilize Google Colab Pro myself to manage up to five parallel InSAR projects, without concerns about disk space, memory, or processing performance limitations. Moreover, all the examples can be executed locally as well as on cloud hosts and remote servers.

Projects and Publications Using PyGMTSAR

Explore the diverse applications of PyGMTSAR in projects and academic research on the dedicated Projects and Publications page.

Announcements

E-Book Release: 'PyGMTSAR: Sentinel-1 Python InSAR: An Introduction' The e-book is now available for the stable PyGMTSAR release across various platforms, including Amazon, Apple, Kobo, and many other bookstores. For a glimpse of the content, check out the PyGMTSAR Introduction Preview in the GitHub repository.

Educational Resources: Video Lessons and Notebooks Find PyGMTSAR (Python InSAR) video lessons and educational notebooks on Patreon and YouTube.

PyGMTSAR AI Assistant The PyGMTSAR AI Assistant, powered by OpenAI GPT-4, is knowledgeable in InSAR processing using PyGMTSAR. It can assist in understanding the theory, finding and explaining InSAR examples, creating an InSAR processing pipeline, and troubleshooting issues in your processing.

PyGMTSAR AI Assistant

The assistant can answer many of your questions, such as:

Furthermore, you have the option to upload a document or a screenshot for discussion, and you can request explanations, such as 'explain the code to me,' among many other possibilities.

PyGMTSAR Previous Version

The 2023 releases of PyGMTSAR are still available on GitHub, PyPI, DockerHub, and Google Colab. For more information and access to these releases, visit the project's home page at the PyGMTSAR 2023 GitHub Repository. Included is a collection of examples that facilitate the comparison of PyGMTSAR's InSAR processing capabilities with those of other InSAR software.

@ Alexey Pechnikov, 2024