PYthon 中的邁阿密 INsar 時間序列軟體(MintPy as /mɪnt paɪ/)是一個用於干涉合成孔徑雷達 (InSAR) 時間序列分析的開源軟體包。它讀取 ISCE、ARIA、FRInGE、HyP3、GMTSAR、SNAP、GAMMA 或 ROI_PAC 格式的干涉圖堆疊(配準和展開),並產生三維(空間中的 2D 和時間中的 1D)地面位移。它包括常規時間序列分析( smallbaselineApp.py
)和一些獨立的工具箱。
該套件在 1.1.1 版本之前稱為 PySAR。對於 1.1.2 及更高版本,我們使用 MintPy 來代替。
這是「按原樣」向您提供的研究代碼,不保證其正確性。使用風險自負。
smallbaselineApp.py
MintPy 讀取一堆干涉圖(來自 SNAPHU 的展開干涉圖、相干性和連接組件(如果可用))和幾何檔案(DEM、查找表、入射角等)。您需要提供文件所在的路徑,MintPy 會處理剩下的事情!
smallbaselineApp.py # 使用預設範本'smallbaselineApp.cfg'smallbaselineApp.py <custom_template> # 使用預設和自訂範本執行smallbaselineApp.py -h / --help # helpsmallbaselineApp.py -H # 列印預設範本選項g #如果不存在則產生預設模板smallbaselineApp.py -g <custom_template> # 根據自訂模板產生/更新預設模板# 使用--start/stop/dostep 選項執行smallbaselineApp.py GalapagosSenDT128.txt --dostep Velocity # 運行步驟'velocity ' onlysmallbaselineApp.py GalapagosSenDT128.txt --end load_data # 在步驟 'load_data' 之後結束執行
在smallbaselineApp.py內部,它讀取展開的干涉圖,將它們全部引用到同一相干像素(參考點),計算相位閉合併估計展開誤差(如果已要求),將乾涉圖網路反轉為時間系列,計算時間相干性以評估反演質量,校正本地振盪器漂移(僅適用於Envisat),校正分層對流層延遲(使用全球大氣模型或相位高度比方法),刪除相位斜坡(如果已要求),修正DEM誤差,...最後估計速度。
每個步驟的設定參數均使用可自訂文字檔案smallbaselineApp.cfg中的預設值啟動。
wget https://zenodo.org/record/3952953/files/FernandinaSenDT128.tar.xz tar -xvJf FernandinaSenDT128.tar.xzcd FernandinaSenDT128/mintpy SmallbaselineApp.py ${MINTPY_HOME}/docs/templates/FernandinaSenDT128.txt
結果繪製在./pic資料夾中。要探索更多數據資訊和視覺化,請嘗試以下腳本:
info.py # 檢查HDF5 檔案結構和metadataview.py # 2D 地圖viewtsview.py # 1D 點時間序列(互動式)plot_coherence_matrix.py # 繪製一個像素的相干矩陣(互動式)plot_network.py # 繪製資料集的網路設定plot_transection .py # 沿著2D 矩陣的一條線繪製1D 剖面圖(互動式)save_kmz.py # 產生以點或柵格影像為單位的Google 地球KMZ 檔案save_kmz_timeseries.py # 產生以時間序列為單位的Google 地球KMZ 檔案(互動式)
MintPy 是一個具有單獨實用程式腳本的工具箱。只需使用-h / --help
運行腳本即可查看其用法,您可以建立自己的客製化處理配方!以下是一個範例,用於比較根據位移時間序列估計的速度與不同的對流層延遲校正。
mintpy
模組之上構建MintPy 在 Python 中使用實用程式類別和函數進行模組化,並在程式碼層級進行了很好的註解。熟悉 Python 的使用者可以在mintpy.objects
和mintpy.utils
之上建立自己的函式和模組。但是,我們還沒有完整的 API 文件網站(也許您可以貢獻這個!)。以下是從 HDF5 檔案讀取位移時間序列 3D 矩陣的範例。
from mintpy.utils import readfilets_data, meta = readfile.read('timeseries_ERA5_ramp_demErr.h5')
Yunjun 等人詳細描述了軟體中實現的演算法。 (2019)。
快速開始使用範例資料集
範例資料目錄
範例範本文件
Jupyter Notebook 中的教程
大多數開發討論都發生在 GitHub 上。請隨意提出問題或對任何未解決的問題或拉取請求發表評論。
加入我們在 Google 群組上的使用者論壇或使用 github 討論來提出問題或發表評論。
冒名頂替症候群免責聲明:我們需要您的幫助。不,真的。
您腦海中可能有個小聲音告訴您,您還沒準備好成為開源貢獻者;你的技能還不足以做出貢獻。你能提供什麼?
我們向你保證──你腦子裡的小聲音是錯的。如果你會寫程式碼,你就可以向開源貢獻程式碼。為開源專案做出貢獻是提高編碼技能的絕佳方式。編寫完美的程式碼並不是衡量一個優秀開發人員的標準(這會讓我們所有人都失去資格!);它試圖創造一些東西,犯錯,然後從錯誤中學習。這就是我們所有人進步的方式,我們很樂意幫助他人學習。
成為開源貢獻者不僅僅意味著編寫程式碼。您可以透過撰寫或校對文件、建議或實施測試、甚至提供有關專案的回饋(是的 - 這包括提供有關貢獻過程的回饋)來提供協助。其中一些貢獻可能對整個專案來說是最有價值的,因為您將以新的眼光來看待該項目,因此您可以看到經驗豐富的貢獻者所掩蓋的錯誤和假設。
欲了解更多信息,請閱讀我們的貢獻指南。
本免責聲明改編自 MetPy 項目。
Yunjun, Z.、Fattahi, H. 和 Amelung, F. (2019),小基線 InSAR 時間序列分析:展開糾錯和降噪,計算機與地球科學, 133,104331 。 arxiv |數據|筆記本 ]
除了上述內容之外,我們建議您引用描述您的特定分析中使用的演算法的原始出版物。它們在預設範本文件中進行了簡要說明,並在參考文件中列出。