PYthon の Miami INsar 時系列ソフトウェア (MintPy as /mɪnt paɪ/) は、干渉合成開口レーダー (InSAR) 時系列解析用のオープンソース パッケージです。 ISCE、ARIA、FRInGE、HyP3、GMTSAR、SNAP、GAMMA、または ROI_PAC 形式のインターフェログラムのスタック (コア登録およびアンラップ) を読み取り、線状の 3 次元 (空間で 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 ドキュメント Web サイトはまだありません (おそらく、あなたがこれに貢献できるかもしれません!)。以下は、HDF5 ファイルから変位時系列の 3D マトリックスを読み取る例です。
from mintpy . utils import readfile
ts_data , meta = readfile . read ( 'timeseries_ERA5_ramp_demErr.h5' )
ソフトウェアに実装されたアルゴリズムについては、Yunjun et al. で詳しく説明されています。 (2019年)。
インポスター症候群の免責事項:あなたの助けが必要です。いや、本当に。
あなたの頭の中に、オープンソースの貢献者になる準備ができていないという小さな声があるかもしれません。あなたのスキルは貢献できるほど十分ではありません。何を提供できるでしょうか?
保証します - あなたの頭の中にある小さな声は間違っています。コードを少しでも書くことができれば、オープンソースにコードを貢献できます。オープンソース プロジェクトに貢献することは、コーディング スキルを向上させる素晴らしい方法です。完璧なコードを書くことが優れた開発者の尺度ではありません (それは私たち全員の失格です!)。それは何かを創造しようとして、間違いを犯し、それらの間違いから学ぶことです。そうすることで私たち全員が向上し、他の人が学ぶのを喜んで手助けします。
オープンソースの貢献者になるということは、単にコードを書くことを意味するわけではありません。ドキュメントの作成や校正、テストの提案や実装、さらにはプロジェクトに関するフィードバック (もちろん、貢献プロセスに関するフィードバックの提供も含まれます) を提供することで、支援することができます。これらの貢献の一部は、プロジェクト全体にとって最も価値のあるものである可能性があります。なぜなら、あなたは新鮮な目でプロジェクトに参加しているので、経験豊富な貢献者がごまかしてきた間違いや仮定がわかるからです。
詳細については、貢献ガイドをお読みください。
この免責事項は MetPy プロジェクトから引用されたものです。
Yunjun, Z.、Fattahi, H.、および Amelung, F. (2019)、小規模ベースライン InSAR 時系列分析: アンラッピング誤差補正とノイズ低減、 Computers & Geosciences 、 133 、104331。 arxiv |データ |ノート】
上記に加えて、特定の分析で使用されるアルゴリズムを説明している元の出版物を引用することをお勧めします。これらはデフォルトのテンプレート ファイルに簡単に記載されており、参照ファイルにリストされています。