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 # 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'
在smallbaselineApp.py內部,它讀取展開的干涉圖,將它們全部引用到同一相干像素(參考點),計算相位閉合併估計展開誤差(如果已要求),將乾涉圖網路反轉為時間系列,計算時間相干性以評估反演質量,校正本地振盪器漂移(僅適用於Envisat),校正分層對流層延遲(使用全球大氣模型或相位高度比方法),刪除相位斜坡(如果已要求),修正DEM誤差,...最後估計速度。
每個步驟的設定參數均使用可自訂文字檔案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
結果繪製在./pic資料夾中。要探索更多數據資訊和視覺化,請嘗試以下腳本:
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 是一個具有單獨實用程式腳本的工具箱。只需使用-h / --help
運行腳本即可查看其用法,您可以建立自己的客製化處理配方!以下是一個範例,用於比較根據位移時間序列估計的速度與不同的對流層延遲校正。
mintpy
模組之上構建MintPy 在 Python 中使用實用程式類別和函數進行模組化,並在程式碼層級進行了很好的註解。熟悉 Python 的使用者可以在mintpy.objects
和mintpy.utils
之上建立自己的函式和模組。但是,我們還沒有完整的 API 文件網站(也許您可以貢獻這個!)。以下是從 HDF5 檔案讀取位移時間序列 3D 矩陣的範例。
from mintpy . utils import readfile
ts_data , meta = readfile . read ( 'timeseries_ERA5_ramp_demErr.h5' )
Yunjun 等人詳細描述了軟體中實現的演算法。 (2019)。
冒名頂替症候群免責聲明:我們需要您的幫助。不,真的。
您腦海中可能有個小聲音告訴您,您還沒準備好成為開源貢獻者;你的技能還不足以做出貢獻。你能提供什麼?
我們向你保證──你腦子裡的小聲音是錯的。如果你會寫程式碼,你就可以向開源貢獻程式碼。為開源專案做出貢獻是提高編碼技能的絕佳方式。編寫完美的程式碼並不是衡量一個優秀開發人員的標準(這會讓我們所有人都失去資格!);它試圖創造一些東西,犯錯,然後從錯誤中學習。這就是我們所有人進步的方式,我們很樂意幫助他人學習。
成為開源貢獻者不僅僅意味著編寫程式碼。您可以透過撰寫或校對文件、建議或實施測試、甚至提供有關專案的回饋(是的 - 這包括提供有關貢獻過程的回饋)來提供協助。其中一些貢獻可能對整個專案來說是最有價值的,因為您將以新的眼光來看待該項目,因此您可以看到經驗豐富的貢獻者所掩蓋的錯誤和假設。
欲了解更多信息,請閱讀我們的貢獻指南。
本免責聲明改編自 MetPy 項目。
Yunjun, Z.、Fattahi, H. 和 Amelung, F. (2019),小基線 InSAR 時間序列分析:展開糾錯和降噪,計算機與地球科學, 133,104331 。 arxiv |數據|筆記本 ]
除了上述內容之外,我們建議您引用描述您的特定分析中使用的演算法的原始出版物。它們在預設範本文件中進行了簡要說明,並在參考文件中列出。