Le logiciel Miami INsar Time-series en PYthon (MintPy as /mɪnt paɪ/) est un package open source pour l'analyse des séries chronologiques du radar interférométrique à synthèse d'ouverture (InSAR). Il lit la pile d'interférogrammes (co-enregistrés et non emballés) au format ISCE, ARIA, FRInGE, HyP3, GMTSAR, SNAP, GAMMA ou ROI_PAC, et produit un déplacement de la surface du sol en trois dimensions (2D dans l'espace et 1D dans le temps) en ligne de- direction de la vue. Il comprend une analyse de routine des séries chronologiques ( smallbaselineApp.py
) et une boîte à outils indépendante.
Ce package s'appelait PySAR avant la version 1.1.1. Pour la version 1.1.2 et versions ultérieures, nous utilisons MintPy à la place.
Il s'agit d'un code de recherche qui vous est fourni « tel quel » sans AUCUNE GARANTIE D'EXACTITUDE. Utilisez à vos propres risques.
smallbaselineApp.py
MintPy lit une pile d'interférogrammes (interférogrammes non emballés, cohérence et composants connectés de SNAPHU si disponible) et les fichiers de géométrie (DEM, table de recherche, angle d'incidence, etc.). Vous devez indiquer le chemin d'accès aux fichiers et MintPy s'occupe du reste !
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'
Dans smallbaselineApp.py, il lit les interférogrammes déballés, les référence tous au même pixel cohérent (point de référence), calcule la fermeture de phase et estime les erreurs de déballage (si cela a été demandé), inverse le réseau d'interférogrammes dans le temps -series, calcule la cohérence temporelle pour évaluer la qualité de l'inversion, corrige la dérive de l'oscillateur local (pour Envisat uniquement), corrige le retard troposphérique stratifié (à l'aide de modèles atmosphériques globaux ou approche phase-élévation-rapport), supprime les rampes de phase (si cela a été demandé), corrige l'erreur DEM,... et enfin estime la vitesse.
Les paramètres de configuration pour chaque étape sont initiés avec des valeurs par défaut dans un fichier texte personnalisable smallbaselineApp.cfg .
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
Les résultats sont tracés dans le dossier ./pic . Pour explorer davantage d'informations et de visualisation sur les données, essayez les scripts suivants :
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 est une boîte à outils avec des scripts utilitaires individuels. Exécutez simplement le script avec -h / --help
pour voir son utilisation, vous pouvez créer votre propre recette de traitement personnalisée ! Voici un exemple pour comparer les vitesses estimées à partir de séries temporelles de déplacement avec différentes corrections de retard troposphérique.
mintpy
MintPy est modulé en Python avec des classes et fonctions utilitaires et bien commenté au niveau du code. Les utilisateurs familiers avec Python peuvent créer leurs propres fonctions et modules sur mintpy.objects
et mintpy.utils
. Cependant, nous n'avons pas encore de site Web complet de documents API (vous pouvez peut-être y contribuer !). Vous trouverez ci-dessous un exemple de lecture de la matrice 3D de séries temporelles de déplacement à partir d'un fichier HDF5.
from mintpy . utils import readfile
ts_data , meta = readfile . read ( 'timeseries_ERA5_ramp_demErr.h5' )
Les algorithmes implémentés dans le logiciel sont décrits en détail dans Yunjun et al. (2019).
Avis de non-responsabilité concernant le syndrome de l'imposteur : nous avons besoin de votre aide. Non, vraiment.
Il y a peut-être une petite voix dans votre tête qui vous dit que vous n'êtes pas prêt à devenir un contributeur open source ; que vos compétences ne sont pas assez bonnes pour contribuer. Que pourriez-vous offrir ?
Nous vous l'assurons : la petite voix dans votre tête est fausse. Si vous pouvez écrire du code, vous pouvez contribuer au code open source. Contribuer à des projets open source est un moyen fantastique de développer ses compétences en codage. Écrire un code parfait n'est pas la mesure d'un bon développeur (cela nous disqualifierait tous !) ; c'est essayer de créer quelque chose, faire des erreurs et apprendre de ces erreurs. C'est ainsi que nous nous améliorons tous et nous sommes heureux d'aider les autres à apprendre.
Être un contributeur open source ne signifie pas seulement écrire du code. Vous pouvez aider en rédigeant ou en relisant de la documentation, en suggérant ou en mettant en œuvre des tests, ou même en donnant des commentaires sur le projet (et oui, cela inclut des commentaires sur le processus de contribution). Certaines de ces contributions peuvent être les plus précieuses pour le projet dans son ensemble, car vous abordez le projet avec un regard neuf, vous permettant ainsi de voir les erreurs et les hypothèses que les contributeurs chevronnés ont passées sous silence.
Pour plus d’informations, veuillez lire notre guide de contribution.
Cet avertissement a été adapté du projet MetPy.
Yunjun, Z., Fattahi, H. et Amelung, F. (2019), Analyse de séries temporelles InSAR de petite base : déballage de la correction d'erreur et de la réduction du bruit, Computers & Geosciences , 133 , 104331. [ doi | arxiv | données | carnet de notes ]
En plus de ce qui précède, nous vous recommandons de citer les publications originales qui décrivent les algorithmes utilisés dans votre analyse spécifique. Ils sont brièvement notés dans le fichier modèle par défaut et répertoriés dans le fichier de référence.