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 # 打印默认模板选项smallbaselineApp.py -g #如果不存在则生成默认模板smallbaselineApp.py -g <custom_template> # 根据自定义模板生成/更新默认模板# Run with --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 # 绘制一个像素的相干矩阵(交互式)plot_network.py # 绘制数据集的网络配置plot_transection .py # 沿着 2D 矩阵的一条线绘制 1D 剖面图(交互式)save_kmz.py # 生成以点为单位的 Google Earth KMZ 文件或raster imagesave_kmz_timeseries.py # 生成时间序列点的 Google Earth 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 |数据|笔记本 ]
除了上述内容之外,我们建议您引用描述您的具体分析中使用的算法的原始出版物。它们在默认模板文件中进行了简要说明,并在参考文件中列出。