亲爱的大家,
我目前参与多个项目,这些项目依赖于持久散射散射干涉仪(PSI),这是一种基于雷达的技术,属于差分干涉合成孔径雷达(SAR)组。
具体来说,我正在使用 弹药 / MTI 分析Sentinel-1 SLC数据。用Matlab和C ++编写的StaMPS / MTI。当前,这似乎是执行PSI软件的最具成本效益的软件,因为商用软件(例如GAMMA或SARScape)非常昂贵。即使需要Matlab许可,StaMPS代码也或多或少是开源的(也就是说,除了内置的Matlab函数之外)。
以前主要处理光学数据和R / 蟒蛇 / QGIS,所以花了我一些时间才能使所有功能按预期运行,尤其是由于该文档还很初级,至少是在开始探讨这一主题时。因此,我决定在一系列文章中记录所有相关步骤,从最基本的基础开始:安装和设置说明。
本文档旨在提供有关如何首次设置StaMPS的指导,并且基于出色的 快照-StaMPS工作流程 由ThorstenHöser编译以及来自 迈纳萨,步骤论坛 快照工作流程 和 邮票工具 以及 询问Ubuntu。致谢并感谢所有为这些讨论做出贡献的人们。
请注意,此摘要已使用特定用户在特定计算机上编写和测试。即使我尝试尽可能地概括代码,某些路径可能也必须相应地进行调整。
PSI的理论背景
本概述中给出的指导纯粹是技术性的。但是,绝对有必要了解雷达遥感和InSAR的理论背景知识,否则StaMPS PSI分析的整个过程注定会失败,因为鉴于大量的参数设置,您会迷失方向。根据Thorstens’建议,我整理了一份可能有用的资料清单:
- Ferretti等。 (2007): INSAR原则
- Crosetto等人的评论文章。 (2016): 持久散射体干涉法:综述
- De Zan和Guarnieri(2006): TOPSAR:逐行扫描进行地形观察
- 胡珀等。 (2007): 用于地壳变形分析的持久散射体干涉合成孔径雷达…
- Delgado Blasco等。 (2019): 使用Sentinel-1 快照-StaMPS持久散射体干涉测量法测量罗马市区(意大利)的城市沉降
- 格兰丁(2015) 和 Yagüe-Martínez等。 (2016年) SENTINEL-1 TOPS数据的干涉处理
- 何时要当心 在山区使用StaMPS
- EO学院 在YouTube上
软体设定
- 安装您选择的Linux发行版。既然我很幸福 的Ubuntu 由于用户使用了相当长的时间,因此该说明指的是Ubuntu 18.04 LTS(使用香草GNOME)。不过,以下命令应可在任何基于Debian的发行版上使用。如果使用其他发行版,则必须相应地调整一些命令。
- 安装 快照 (直接下载链接):
bash esa-snap_sentinel_unix_6_0.sh
- 安装 弹药 (直接拥有链接): 下载 和 unzip. Inside the directory:
make
和 subsequentlymake install
- 安装 斯纳普
sudo apt-get update sudo apt-get install snaphu
- 安装 三角形
sudo apt-get install 三角形-bin
- 安装Linux版MATLAB。事情可能在这里变得混乱。请注意,这可能会导致系统库和MALAB安装中包含的库的版本不兼容(例如libstdc ++ 6,gcc-4.9)引起一些麻烦。可能的修补程序例如在MathWorks论坛或AskUbuntu上。请注意,您需要以下工具箱:
- 并行计算工具箱(DM)
- 图像处理工具箱(IP)
- 信号处理工具箱(SG)
- 统计和机器学习工具箱(ST)
- 安装依赖–其中包括GNU awk,tcsh unix shell,matlab支持包(特定于Ubuntu),构建管理工具和C ++编译器:
sudo apt-get install gawk sudo apt-get install tcsh sudo apt-get install matlab-support sudo apt-get make sudo apt-get build-essential g++
- 下载 snap2stamps;最好克隆git repo:
git clone //github.com/mdelgadoblasco/snap2stamps.git
- 如果您打算将对流层校正方法包括在InSAR处理链中,请安装“减少InSAR大气噪声的工具箱”(培养)。这是可选的,但可以提高结果的准确性。可以在StaMPS中使用TRAIN(步骤8)来消除对流层延迟。请注意,TRAIN确实具有其他依赖项(完整说明请参见手册),例如:
这些是基本的安装步骤和软件要求。让’继续编辑一些配置文件。
组态
- Edit the 弹药 config file (e.g. via
vim ./StaMPS/StaMPS_CONFIG.bash
–或您的StaMPS安装所在的位置)以包含指向StAMPS,snap2stamps,SNAPHU的正确路径。请注意,这只是一个一般示例,您必须相应地调整路径:
# set environment variables: export STAMPS="/home/username/StaMPS" export 快照2STAMPS="/home/username/snap2stamps" ... #if 三角形 和 snaphu are not installed through the repositories (i.e. compiled locally): export TRIANGLE_BIN="/home/username/software/triangle/bin" export 斯纳普_BIN="/home/username/software/snaphu/bin" ... export MATLABPATH=$STAMPS/matlab:`echo $MATLABPATH` ... # use points not commas for decimals, 和 give dates in US english export LC_NUMERIC="en_US.UTF-8" export LC_TIME="en_US.UTF-8" ... export PATH=${PATH}:$STAMPS/bin:$MATLABPATH:$SNAP2STAMPS/bin
- source the 弹药 config file upon opening a terminal by adding it to your
.bashrc
:
# source 弹药 source /home/username/StaMPS/StaMPS_CONFIG.bash
那’现在就可以了。在下一篇文章中,我将概述 使用SNAP和snap2stamps的S1 SLC数据预处理。请继续关注进一步的更新!
问候,
马蒂亚斯
9条留言
您可以在这篇文章中发表评论。
您好Matthias,
非常有趣,感谢您提供的宝贵信息和步骤
I’一个使用StaMPS的PSI方法的新用户。
期待您的下一篇文章。
最好的祝福,
努雷丁
努雷丁 2年前
感谢您的详细说明。
我还会问您内置的Matlab函数是否足以使用StaMPS,还是需要一些Matlab工具箱(尤其是信号处理工具箱)
詹尼 2年前
你好
虽然完整GitHub存储库上的依赖项报告列出了多个工具箱(映射,图像处理,优化,处理,统计和机器学习),但您只需要两个工具箱:(1)Signal Processing Toolbox和(2)Statistics&ML工具箱。我想可以通过对代码进行一些调整来规避后一种情况,但是我还没有’还没有时间研究它。
马蒂亚斯 1年前
嗨,可以在安装Matlab运行时的情况下运行StaMPS吗?
大卫·劳德 2年前
我猜是’s(至少当前)是不可能的。 弹药仅允许半自动化的工作流程,恕我直言。在整个处理链中,必须手动调整一些内容。
马蒂亚斯 1年前
您好Matthias,
哪种MATLAB版本适用于STaMPS 4.1b1?
穆罕默德·绍阿布(Mohammad Shoab) 1年前
你好
弹药 4.1b1于2018年8月发布。我们’重新使用R2018b,但我想有些较旧的版本也应该工作,但是我还没有’t tested that.
问候,
马蒂亚斯
马蒂亚斯 1年前
嗨,马蒂亚斯,
我想问一下STAMPS是否可以在Windows上运行吗?
期待你的回复。
布丁 1年前
你好
您可以尝试通过Cygwin运行它,但是我强烈建议您使用Linux。 弹药确实会引起足够的头痛,我想这只会加剧,因为您还必须解决各种Windows不兼容问题。尝试现场发行版或使用双引导系统非常简单,因此我建议您这样做。然而。如果您真的想尝试一下,则可以在STEP论坛上查看StaMPS类别: //forum.step.esa.int/t/about-the-stamps-category/8140
问候,
马蒂亚斯
马蒂亚斯 1年前
发表回复