Die Miami INsar Time-Series-Software in PYthon (MintPy als /mɪnt paɪ/) ist ein Open-Source-Paket für die Zeitreihenanalyse mit Interferometrischem Radar mit synthetischer Apertur (InSAR). Es liest den Stapel von Interferogrammen (koregistriert und entpackt) im ISCE-, ARIA-, FRInGE-, HyP3-, GMTSAR-, SNAP-, GAMMA- oder ROI_PAC-Format und erzeugt eine dreidimensionale (2D im Raum und 1D in der Zeit) Bodenoberflächenverschiebung in Linienrichtung. Blickrichtung. Es umfasst eine routinemäßige Zeitreihenanalyse ( smallbaselineApp.py
) und eine unabhängige Toolbox.
Dieses Paket hieß vor Version 1.1.1 PySAR. Ab Version 1.1.2 verwenden wir stattdessen MintPy.
Hierbei handelt es sich um Forschungscode, der Ihnen „wie besehen“ ohne Gewähr für die Richtigkeit zur Verfügung gestellt wird. Die Nutzung erfolgt auf eigene Gefahr.
smallbaselineApp.py
MintPy liest einen Stapel von Interferogrammen (unverpackte Interferogramme, Kohärenz und verbundene Komponenten von SNAPHU, falls verfügbar) und die Geometriedateien (DEM, Nachschlagetabelle, Einfallswinkel usw.). Sie müssen den Pfad zu den Dateien angeben und MintPy kümmert sich um den 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.txt --dostep velocity # run step 'velocity' only
smallbaselineApp.py GalapagosSenDT128.txt --end load_data # end run after step 'load_data'
In smallbaselineApp.py liest es die entpackten Interferogramme, verweist alle auf dasselbe kohärente Pixel (Referenzpunkt), berechnet den Phasenabschluss und schätzt die Enthüllungsfehler (falls gewünscht) und invertiert das Netzwerk der Interferogramme in die Zeit -Serie, berechnet die zeitliche Kohärenz, um die Qualität der Inversion zu bewerten, korrigiert die Drift des lokalen Oszillators (nur für Envisat), korrigiert die geschichtete troposphärische Verzögerung (unter Verwendung globaler atmosphärischer Modelle oder des Phasen-Höhen-Verhältnis-Ansatzes) und entfernt Phasenrampen (falls vorhanden). angefordert), korrigiert den DEM-Fehler usw. und schätzt schließlich die Geschwindigkeit.
Konfigurationsparameter für jeden Schritt werden mit Standardwerten in einer anpassbaren Textdatei smallbaselineApp.cfg initiiert.
wget https://zenodo.org/record/3952953/files/FernandinaSenDT128.tar.xz
tar -xvJf FernandinaSenDT128.tar.xz
cd FernandinaSenDT128/mintpy
smallbaselineApp.py ${MINTPY_HOME} /docs/templates/FernandinaSenDT128.txt
Die Ergebnisse werden im Ordner ./pic dargestellt. Um weitere Dateninformationen und -visualisierungen zu erkunden, probieren Sie die folgenden Skripts aus:
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 points or raster image
save_kmz_timeseries.py # generate Google Earth KMZ file in points for time-series (interactive)
MintPy ist eine Toolbox mit individuellen Hilfsskripten. Führen Sie das Skript einfach mit -h / --help
aus, um seine Verwendung zu sehen. Sie können dann Ihr eigenes, individuelles Verarbeitungsrezept erstellen! Hier ist ein Beispiel zum Vergleich der aus Verschiebungszeitreihen geschätzten Geschwindigkeiten mit verschiedenen troposphärischen Verzögerungskorrekturen.
mintpy
-Modul MintPy ist in Python mit Dienstprogrammklassen und -funktionen moduliert und auf Codeebene gut kommentiert. Benutzer, die mit Python vertraut sind, könnten ihre eigenen Funktionen und Module auf Basis von mintpy.objects
und mintpy.utils
erstellen. Allerdings haben wir noch keine vollständige API-Dokument-Website (vielleicht können Sie dazu beitragen!). Unten finden Sie ein Beispiel für das Lesen der 3D-Matrix der Verschiebungszeitreihen aus einer HDF5-Datei.
from mintpy . utils import readfile
ts_data , meta = readfile . read ( 'timeseries_ERA5_ramp_demErr.h5' )
Die in der Software implementierten Algorithmen werden ausführlich bei Yunjun et al. beschrieben. (2019).
Haftungsausschluss zum Imposter-Syndrom: Wir brauchen Ihre Hilfe. Nein, wirklich.
Möglicherweise gibt es eine kleine Stimme in Ihrem Kopf, die Ihnen sagt, dass Sie nicht bereit sind, Open-Source-Mitwirkender zu sein. dass Ihre Fähigkeiten bei weitem nicht gut genug sind, um einen Beitrag zu leisten. Was könnten Sie anbieten?
Wir versichern Ihnen – die kleine Stimme in Ihrem Kopf ist falsch. Wenn Sie überhaupt Code schreiben können, können Sie Code zu Open Source beitragen. Die Mitarbeit an Open-Source-Projekten ist eine fantastische Möglichkeit, die eigenen Programmierkenntnisse zu verbessern. Das Schreiben von perfektem Code ist nicht der Maßstab für einen guten Entwickler (das würde uns alle disqualifizieren!); Es geht darum, etwas zu erschaffen, Fehler zu machen und aus diesen Fehlern zu lernen. Dadurch verbessern wir uns alle und helfen gerne anderen beim Lernen.
Ein Open-Source-Mitwirkender zu sein bedeutet nicht nur, Code zu schreiben. Sie können helfen, indem Sie Dokumentationen verfassen oder Korrektur lesen, Tests vorschlagen oder durchführen oder sogar Feedback zum Projekt geben (und ja – dazu gehört auch das Geben von Feedback zum Beitragsprozess). Einige dieser Beiträge sind möglicherweise für das Projekt als Ganzes am wertvollsten, da Sie mit neuen Augen an das Projekt herangehen und die Fehler und Annahmen erkennen können, die erfahrene Mitwirkende beschönigt haben.
Weitere Informationen finden Sie in unserem Beitragsleitfaden.
Dieser Haftungsausschluss wurde aus dem MetPy-Projekt übernommen.
Yunjun, Z., Fattahi, H. und Amelung, F. (2019), Small Baseline InSAR Time Series Analysis: Unwrapping Error Correction and Noise Reduction, Computers & Geosciences , 133 , 104331. [ doi | arxiv | Daten | Notizbuch]
Darüber hinaus empfehlen wir Ihnen, die Originalveröffentlichungen zu zitieren, die die in Ihrer spezifischen Analyse verwendeten Algorithmen beschreiben. Sie werden in der Standardvorlagendatei kurz vermerkt und in der Referenzdatei aufgeführt.