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 |数据|笔记本 ]
除了上述内容之外,我们建议您引用描述您的具体分析中使用的算法的原始出版物。它们在默认模板文件中进行了简要说明,并在参考文件中列出。