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 # デフォルトのテンプレートで実行 'smallbaselineApp.cfg'smallbaselineApp.py <custom_template> # デフォルトおよびカスタムのテンプレートで実行smallbaselineApp.py -h / --help # helpsmallbaselineApp.py -H # デフォルトのテンプレートのオプションを表示smallbaselineApp.py -g #存在しない場合はデフォルトのテンプレートを生成smallbaselineApp.py -g <custom_template> # カスタム テンプレートに基づいてデフォルトのテンプレートを生成/更新# 実行--start/stop/dostep optionssmallbaselineApp.py GalapagosSenDT128.txt --dostep Velocity # ステップ 'velocity' のみを実行smallbaselineApp.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 # 1 ピクセルのコヒーレンス行列をプロット (インタラクティブ)plot_network.py # データセットのネットワーク構成をプロットplot_transection .py # 2D マトリックスの線に沿って 1D プロファイルをプロットします (インタラクティブ)save_kmz.py # Google Earth を生成しますポイントまたはラスター画像の KMZ ファイルave_kmz_timeseries.py # 時系列のポイントで Google Earth KMZ ファイルを生成します (対話型)
MintPy は、個別のユーティリティ スクリプトを備えたツールボックスです。 -h / --help
を指定してスクリプトを実行するだけでその使用法が表示され、独自のカスタマイズされた処理レシピを構築できます。以下は、異なる対流圏遅延補正を使用した変位時系列から推定された速度を比較する例です。
mintpy
モジュールの上に構築するMintPy は、ユーティリティ クラスと関数を使用して Python でモジュール化されており、コード レベルで詳細にコメントされています。 Python に精通しているユーザーは、 mintpy.objects
およびmintpy.utils
上に独自の関数とモジュールを構築できます。ただし、完全な API ドキュメント Web サイトはまだありません (おそらく、あなたがこれに貢献できるかもしれません!)。以下は、HDF5 ファイルから変位時系列の 3D マトリックスを読み取る例です。
mintpy.utils から import readfilets_data、meta = readfile.read('timeseries_ERA5_ramp_demErr.h5')
ソフトウェアに実装されたアルゴリズムについては、Yunjun et al. で詳しく説明されています。 (2019年)。
データセットの例を使ったクイック スタート
データディレクトリの例
テンプレートファイルの例
Jupyter Notebook のチュートリアル
開発に関する議論のほとんどは GitHub で行われます。自由に問題を開いたり、未解決の問題やプル リクエストにコメントしたりしてください。
Google グループのユーザー フォーラムに参加するか、github ディスカッションを使用して質問したり、コメントを残してください。
インポスター症候群の免責事項:あなたの助けが必要です。いや、本当に。
あなたの頭の中に、オープンソースの貢献者になる準備ができていないという小さな声があるかもしれません。あなたのスキルは貢献できるほど十分ではありません。何を提供できるでしょうか?
保証します - あなたの頭の中にある小さな声は間違っています。コードを少しでも書くことができれば、オープンソースにコードを貢献できます。オープンソース プロジェクトに貢献することは、コーディング スキルを向上させる素晴らしい方法です。完璧なコードを書くことが優れた開発者の尺度ではありません (それは私たち全員の失格です!)。それは何かを創造しようとして、間違いを犯し、それらの間違いから学ぶことです。そうすることで私たち全員が向上し、他の人が学ぶのを喜んで手助けします。
オープンソースの貢献者になるということは、単にコードを書くことを意味するわけではありません。ドキュメントの作成や校正、テストの提案や実装、さらにはプロジェクトに関するフィードバック (もちろん、貢献プロセスに関するフィードバックの提供も含まれます) を提供することで、支援することができます。これらの貢献の一部は、プロジェクト全体にとって最も価値のあるものである可能性があります。なぜなら、あなたは新鮮な目でプロジェクトに参加しているので、経験豊富な貢献者がごまかしてきた間違いや仮定がわかるからです。
詳細については、貢献ガイドをお読みください。
この免責事項は MetPy プロジェクトから引用されたものです。
Yunjun, Z.、Fattahi, H.、および Amelung, F. (2019)、小規模ベースライン InSAR 時系列分析: アンラッピング誤差補正とノイズ低減、 Computers & Geosciences 、 133 、104331。 arxiv |データ |ノート】
上記に加えて、特定の分析で使用されるアルゴリズムを説明している元の出版物を引用することをお勧めします。これらはデフォルトのテンプレート ファイルに簡単に記載されており、参照ファイルにリストされています。