在windows的ubuntu LTS中安装及使用EZ-InSAR进行InSAR数据处理

news2024/12/28 20:03:35

EZ-InSAR(曾被称为MIESAR,即Matlab界面用于易于使用的合成孔径雷达干涉测量)是一个用MATLAB编写的工具箱,用于通过易于使用的图形用户界面(GUI)进行干涉合成孔径雷达(InSAR)数据处理,利用开源软件包(ISCE+StaMPS/MintPy)进行处理。该工具箱现在可以使用ISCE生成SAR干涉图,并使用StaMPS或MintPy进行Persistent Scatters (PS) 或 Small-Baselines (SBAS) 方法的位移时间序列分析,安装过程如下。

1、安装ubuntu LTS

在这里插入图片描述
2、安装ubuntu远程桌面

sudo apt-get install xserver-xorg-core
sudo apt-get -y install xserver-xorg-input-all

重启桌面,每次第一次使用时都需要启动下

sudo  /etc/init.d/xrdp  restart

启动成功后会出现在这里插入图片描述
使用windows远程桌面进行链接
在这里插入图片描述
输入ubuntu的账号和密码
在这里插入图片描述
进入后如图
在这里插入图片描述
3、安装python环境,建议安装mamba,这里介绍下其与conda环境的区别。

conda与mamba的区别
Mamba底层依赖于conda,conda是单线程,Mamba做了优化可多线程下载,Mamba兼容conda的命令。
使用​​多线程下载​​repository data和packages; Mamba使用​​libsolv加速解决依赖关系​​
Mamba的核心部分是通过C++实现,以获得最大执行效率;
最重要的是​​Mamba可与conda完美兼容​​ (将conda执行命令中的conda换做mamba即可)。

安装代码

curl -L -O https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh
bash Mambaforge-Linux-x86_64.sh 
sudo apt install gcc g++ gawk tcsh build-essential make git
pip install wget gitpython tree mamba

创建python环境

sudo apt install python3.8-venv
python -m venv InSARenv
source InSARenv/bin/activate

4、ubuntu中安装matlab
安装参考链接:https://zhuanlan.zhihu.com/p/572662952
安装后需要用到下面的工具箱,确保都安装好,用ver检查

Curve Fitting Toolbox
Financial Toolbox
Image Processing Toolbox
Mapping Toolbox
Optimization Toolbox
Parallel Computing Toolbox
Signal Processing Toolbox
Statistics and Machine Learning Toolbox

5、安装InSAR处理所需环境

创建安装路径及下载安装包

# A. Define the path where you want the packages to be installed (Default:Your HOME path-"$HOME") 

EZINSAR_HOME="$HOME"           		  #Set the install path 

tools_insar=$EZINSAR_HOME/tools_insar
tool_DIR=$tools_insar/proc_insar
sudo mkdir -p $tool_DIR

# B. Download the source code (EZ-InSAR, ISCE, MintPy, StaMPS, TRAIN)
## Download EZ-InSAR source file, and put the unzipped EZ-InSAR into the "EZINSAR" directory in $tool_insar.

sudo git clone https://github.com/alexisInSAR/EZ-InSAR.git $tools_insar/EZ-InSAR
sudo mv $tools_insar/EZ-InSAR $tools_insar/EZINSAR

## Download the InSAR processor codes 
sudo git clone https://github.com/isce-framework/isce2.git $tool_DIR/isce2  
sudo git clone https://github.com/insarlab/MintPy.git      $tool_DIR/MintPy 
sudo git clone https://github.com/insarwxw/StaMPS.git      $tool_DIR/StaMPS
sudo git clone https://github.com/dbekaert/TRAIN.git       $tool_DIR/StaMPS/TRAIN

# C. Edit the configuration file
## 1) - Copy the configure template file "config_InSARenv.template" from the "EZINSAR/EZINSAR_BIN/docs/" directory into "$tools_insar";  
##    - Check and replace the PATH variable "$EZINSAR_HOME" in "config_InSARenv.rc" (Line #3). 
##    - Check and replace the Path varialbe $APS_toolbox in TRAIN 
##    - The other variables do not need to be modified if you strictly follow this install instruciton.

sudo cp $tools_insar/EZINSAR/EZINSAR_BIN/docs/config_InSARenv.template $tools_insar/config_InSARenv.rc

sudo sed -i "/EZINSAR_HOME=/c\EZINSAR_HOME=$EZINSAR_HOME"  $tools_insar/config_InSARenv.rc
sudo sed -i "/APS_toolbox=/c\APS_toolbox=$tool_DIR/StaMPS/TRAIN" $tool_DIR/StaMPS/TRAIN/APS_CONFIG.sh

## 2) Add the following lines in your "$HOME/.bashrc" file. 
##    Note you have to change the variable "$EZINSAR_HOME" if it is installed in a differnt PATH (e.g., /usr/local). 

# EZ-InSAR & InSARenv
EZINSAR_HOME="$HOME"           		 
export tools_insar="$EZINSAR_HOME/tools_insar"
alias load_insar='conda activate InSARenv; source $tools_insar/config_InSARenv.rc'

# **IMPORTANT**: Run `load_insar` in the terminal to load the "InSARenv" environmental and PATH variables before running EZ-InSAR each time.

5、安装ISCE2

ISCE(InSAR Scientific Computing Environment)是一个用于地球表面形变监测和地震研究的开源软件工具包。它主要用于分析合成孔径雷达干涉测量(InSAR)数据,这些数据可以通过卫星或飞机获取,用于监测地表的微小变形,如地壳运动、火山活动、地震后的变形等。

ISCE提供了一系列用于处理InSAR数据的工具和库,以及用于数据预处理、核心干涉计算、变形建模和可视化的功能。这使得地球科学家和地球监测研究人员能够更好地理解地表的形变过程,从而更好地理解地质和地球物理现象。

ISCE是一个由NASA Jet Propulsion Laboratory(JPL)开发和维护的开源项目,它在地球科学领域广泛使用,并且在处理合成孔径雷达数据时具有很高的灵活性和可扩展性。这个工具包通常用于研究地壳变形、冰川变化、火山活动等领域的研究。这里安装较费时间。

mamba install -c conda-forge isce2

6、安装MintPy
MintPy(Miami INsar Time-series software in PYthon)是一个用于合成孔径雷达干涉测量(InSAR)数据处理和分析的开源软件工具包。它是由佛罗里达大学(University of Florida)的研究人员开发的,旨在帮助科学家和工程师处理和分析InSAR数据,以了解地表的形变情况。

MintPy提供了一系列功能,包括数据预处理、干涉计算、时序分析、形变建模和可视化工具。用户可以使用MintPy来处理卫星或飞机获取的雷达干涉数据,以监测地壳运动、地震、火山活动、地下水抽取等引起的地表形变。该工具包具有用户友好的界面,并且支持多种不同的InSAR数据格式。

MintPy是一个强大且灵活的工具,适用于各种地球科学研究领域,包括地质学、地球物理学、环境科学等。它可以帮助研究人员从InSAR数据中提取有关地表变化的重要信息,并用于了解地球上不同地区的地形演化和变化趋势。此外,MintPy是一个开源项目,因此用户可以自由访问和定制其代码以满足特定需求。

# Install the mintpy requirements first and then the source code.
# 
cd $tool_DIR
mamba install -c conda-forge --file ./MintPy/requirements.txt

#Close and restart the shell for changes to take effect
python -m pip install -e ./MintPy

7、安装StaMPS
StaMPS(Stanford Method for Persistent Scatterers)是一种用于分析合成孔径雷达干涉测量(InSAR)数据的计算方法和工具包。它是由斯坦福大学的研究人员开发的,用于提取并分析具有较高干涉稳定性的地表散斑(Persistent Scatterers),这些散斑通常是建筑物、桥梁、电线塔等地表特征。

StaMPS的主要目标是识别和监测这些Persistent Scatterers的变化,从而了解地表的形变情况。StaMPS通过多次采集卫星雷达数据,识别在不同时期观测中散斑位置的相对稳定性,以便精确测量地表的形变、沉降或抬升。这对于地质研究、地震监测、城市规划和环境监测等应用非常有用。

StaMPS工具包包括一系列用于数据处理、干涉计算、变形建模和可视化的工具和算法。它通常用于处理高分辨率的卫星雷达数据,如TerraSAR-X、COSMO-SkyMed和Sentinel-1等。StaMPS已经在地球科学研究领域得到广泛应用,特别是在地壳运动、地震监测、城市沉降等领域,为科学家提供了有关地表变化的重要信息。

需要注意的是,StaMPS是一个相对复杂的工具,需要一定的专业知识来正确使用和解释结果。因此,它通常由地球科学领域的专家和研究人员使用。

### check which version of gcc
gcc -v  
#$ gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)

sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt install -y gcc-7 g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 7
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 7
sudo update-alternatives --config gcc
sudo update-alternatives --config g++ 
# A. Compile the files in the "src" directory in StaMPS

cd $tool_DIR/StaMPS/src
sudo make
sudo make install

# B. Install "snaphu" & "triangle"  
# After the installation, run `which snaphu` && `which triangle` in the terminal to check their paths. 
# If the echo paths are not "/usr/bin", then modify the varialbes "SNAPHU_BIN" and "TRIANGLE_BIN" in the "config_InSARenv.rc" to the correct values.

sudo apt install snaphu 
sudo apt install triangle-bin

8、安装EZ-InSAR

EZ-InSAR最大程度地减少了用户下载、参数化和处理SAR数据的工作,因此使那些对InSAR不太熟悉但仍然可以自行生成和分析地表位移的人能够轻松使用。EZ-InSAR还是大西洋地质灾害风险管理平台(AGEO)项目的一项贡献,该项目通过欧洲区域发展基金(European Regional Development Fund)资助,旨在帮助管理大西洋地区的地质风险。

这个工具箱的主要优点在于它的用户友好性,它使不熟悉InSAR技术的用户能够利用开源工具进行地表形变分析。它的目标是让更多的人能够使用InSAR技术,以更好地了解地表的变化和可能的地质风险。

mamba install fiona geopandas rasterio
cd $tool_DIR
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
sudo unzip awscliv2.zip
sudo ./aws/install

在安装文件夹下的EZINSAR_BIN中修改文档pathinformation.txt中内容,将account-name、password改为ASF网站的账号和密码,下载Sentinel-1 数据用。

ASFID 	account-name
ASFPWD  password 

9、测试安装成功否
刷新安装环境,加载环境

source $HOME/.bashrc
load_insar  # warm up conda environment
echo $PATH
echo $TOOL_DIR $DATA_DIR $WEATHER_DIR

测试ISCE-2

topsApp.py -h

如下则安装成功
在这里插入图片描述

测试MintPy

smallbaselineApp.py -h

如下则安装成功
在这里插入图片描述
测试PySolid

solid_earth_tides.py -h

如下则安装成功
在这里插入图片描述

测试PyAPS

tropo_pyaps3.py -h

如下则安装成功
在这里插入图片描述
测试StaMPS

mt_prep_isce

如下则安装成功
在这里插入图片描述
10、启动EZ-InSAR
进入远程桌面,在命令窗口中输入:

load_insar

加载运行环境,再输入

matlab

启动matlab环境

如下:
在这里插入图片描述

11、使用EZ-InSAR
在matlab中输入EZ_InSAR,启动软件
在这里插入图片描述
在2中选择运行文件夹,点击后进入处理界面
在这里插入图片描述
具体使用参考手册:
https://github.com/alexisInSAR/EZ-InSAR/blob/Version_2_0_3_Beta/EZINSAR_BIN/docs/EZ_InSAR_manual_v2_0_3_beta.pdf

12、ubuntu环境迁移
由于默认ubuntu安装在c盘,会导致c盘存储不足的情况,因此建议迁移

  • 准备工作
    打开CMD,输入wsl -l -v查看wsl虚拟机的名称与状态。
    了解到本机的WSL全称为Ubuntu-22.04,以下的操作都将围绕这个来进行。
    输入 wsl --shutdown 使其停止运行,再次使用wsl -l -v确保其处于stopped状态。
  • 导出/恢复备份
    在D盘创建一个目录用来存放新的WSL,比如我创建了一个 D:\Ubuntu_WSL 。
    导出它的备份(比如命名为Ubuntu.tar)

wsl --export Ubuntu-22.04 D:\Ubuntu_WSL\Ubuntu.tar

确定在此目录下可以看见备份Ubuntu.tar文件之后,注销原有的wsl

wsl --unregister Ubuntu-22.04

将备份文件恢复到D:\Ubuntu_WSL中去

wsl --import Ubuntu-22.04 D:\Ubuntu_WSL D:\Ubuntu_WSL\Ubuntu.tar

这时候启动WSL,发现好像已经恢复正常了,但是用户变成了root,之前使用过的文件也看不见了。

  • 恢复默认用户
    在CMD中,输入 Linux发行版名称 config --default-user 原本用户名

Ubuntu2204 config --default-user cham

请注意,这里的发行版名称的版本号是纯数字,比如Ubuntu-22.04就是Ubuntu2204。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1049964.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络基础(了解网络知识的前提)

前言 在正式学习网络之前,我们需要了解的一些关于计算机网络的基本知识,本文主要阐述这些基本知识,带着大家一步一步迈进互联网网络的世界; 一、局域网与广域网的概念 在正式了解这些概念的前提是我们要搞懂网络出现的意义&#x…

Linux高级应用——web网站服务

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 公众号:网络豆云计算学堂 座右铭:低头赶路,敬事如仪 个人主页: 网络豆的主页​​​​​ 目录 前言 一.Apache 1.Apache介绍 2.Apache的特…

【AI绘画】Stable Diffusion WebUI

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

gitee 远程仓库操作基础(一)

git remote add <远程仓库名> <仓库远程地址> :给远程仓库取个别名,简化一大堆字符串操作 git remote add origin xxx.git :取个Origin名字 git remote -v :查看本地存在的远程仓库 git pull <远程仓库名><远程分支名>:<本地分支名> 相同可取消…

【SpringBoot实践】事务和事务传播机制失效原因正确使用事务的建议

文章目录 1.概述2.事务与事务传播2.1 声明式事务说明2.2.声明式事务失效原因2.3.事务的传播机制2.4.事务传播失效原因 3.事务使用建议4.总结 1.概述 我们在开发工作中经常会使用到事务&#xff0c;来保证数据库做增、删、改操作时的数据一致性&#xff0c;在使用Spring来处理事…

【c语言】通讯录【动态版本:有排序和文件操作】

目录 一、通讯录定义 二、通讯录的实现 1、test.c中菜单的实现 2、通讯录的创建逻辑 3、初始化 4、检查容量和添加 5、查找 6、删除功能 7、修改功能 8、打印 9、查找并打印 10、qsort排序 11、摧毁 12、保存数据到文件 13、从文件中读数据 完整代码&#xff1a; 一、通讯录定…

Windows上安装 Go 环境

一、下载go环境 下载go环境&#xff1a;Go下载官网链接找到自己想下载的版本&#xff0c;点击下载&#xff0c;比如我这是windows64位的&#xff0c;我就直接点击最新的。 二、安装go环境 双击下载的.msi文件 next next 他默认的是c盘&#xff0c;你自己可以改&#xff0c;然…

Android 导入ncnn-android-yolov8-seg : 实现人体识别和人像分割

1. 前言 上篇文章我们在Android中使用OpenCV实现了人脸识别&#xff0c;这篇文章我们使用OpenCVYOLOv8NCNN 来实现人像分割的功能。 首先来看下效果&#xff0c;这里会识别出人体&#xff0c;并会用蓝色的框框出来&#xff0c;并会有标签标注识别出的物体是什么&#xff0c;概…

Python爬虫实战案例——第六例

文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff01;严禁将文中内容用于任何商业与非法用途&#xff0c;由此产生的一切后果与作者无关。若有侵权&#xff0c;请联系删除。 目标&#xff1a;去哪儿网指定城市人气值最高的15个景点评论数据采集 地址&a…

趣解设计模式之《小王的披萨店》

〇、小故事 小王看到最近越来越多的人喜欢吃披萨了&#xff0c;所以&#xff0c;他决定自己也开一个披萨店。最初开的时候&#xff0c;他只提供了一种口味的披萨&#xff0c;因为这样先试试水&#xff0c;看看生意如何&#xff0c;如果生意不好&#xff0c;也可以快速止损。 没…

一道签到题目 签到.zip

一道签到题目 https://www.xuenixiang.com/ctfexercise-competition-589.html 下载附件&#xff1a;签到.zip双击打开zip包。 进行base64转换 在线 Unicode 编码转换 | 菜鸟工具 (runoob.com) 获得压缩包密码&#xff1a;haishi 文字倒序工具,在线文字倒序 (qqxiuzi.cn)

一招根治Windows自带杀毒软件 Microsoft Defender

以毒攻毒&#xff1a;用腾讯电脑管家的文件粉碎机将Microsoft Defender 文件粉碎&#xff0c;再卸载腾讯电脑管家。 整个世界都安静了。 开机任务管理器就能看到 Microsoft Defender 又瞎忙起来了 打开文件位置&#xff1a; 记录下此时该文件的路径&#xff08;保存在记事本里…

使用SPY++查看窗口信息去排查客户端UI软件问题

目录 1、使用SPY查看窗口的信息 2、使用SPY查看某些软件UI窗口用什么UI组件实现的 2.1、查看海康视频监控客户端安装包程序 2.2、查看华为协同办公软件WeLink 2.3、查看字节协同办公软件飞书 2.4、查看最新版本的Chrome浏览器 2.5、查看小鱼易连视频会议客户端软件 2.6…

cad图纸如何防止盗图(一个的制造设计型企业如何保护设计图纸文件)

在现代企业中&#xff0c;设计图纸是公司的重要知识产权&#xff0c;关系到公司的核心竞争力。然而&#xff0c;随着技术的发展&#xff0c;员工获取和传播设计图纸的途径越来越多样化&#xff0c;如何有效地防止员工复制设计图纸成为了企业管理的一大挑战。本文将从技术、管理…

如何用WiFi实现无线定位

一、WiFi主从模块设置 1. 实验器材 2. 实验步骤 ① 给控制板刷一套空的程序。 ② 将Esp8266模块连接到Bigfish扩展板上&#xff0c;并将扩展板插到控制板上。 ③ 在arduino的Seiral Monitor中&#xff0c;输入AT指令集&#xff0c;观察模块的相应应答。 3. 常用指令 ① 基础A…

使用不同尺寸的传感器拍照时,怎么保证拍出同样视场范围的照片?

1、问题背景 使用竞品机做图像效果对比时&#xff0c;我们通常都会要求拍摄的照片要视场范围一致&#xff0c;这样才具有可比性。之前我会考虑用同样焦距、同样分辨率的设备去拍照对比就可以了&#xff0c;觉得相机的视场范围只由镜头焦距来决定。 但如果对于不同尺寸的传感器…

5、Docker安装mysql主从复制与redis集群

安装mysql主从复制 主从搭建步骤 1.1 新建主服务器容器实例3307 docker run -p 3307:3306 --name mysql-master #3307映射到3306&#xff0c;容器名为mysql-master -v /app/mysql/mydata/mysql-master/log:/var/log/mysql #容器数据卷 -v /app/mysql/mydata/mysql-master/dat…

insightface实战:画出嘴巴和眼睛的mask

今天的目标是将人脸的嘴巴和眼睛区域抠出来&#xff0c;使用insightface简单实现出来&#xff0c;为了方便批量使用多进程跑数据&#xff0c;使用多进程的方式&#xff0c;下面是代码&#xff1a; import os import cv2 from multiprocessing import Pool import numpy as n…

五、接口测试工具:Postman

Postman是一款接口调试工具&#xff0c;是一款免费的可视化软件&#xff0c;同时支持各种操作系统平台&#xff0c;是测试接口的首选工具。 官网下载&#xff1a; https://www.postman.com/downloads/ 工作面板 简易的get请求 简易的post请求 案例&#xff1a;请求百度地图…

跨类型文本文件,反序列化与类型转换的思考

文章目录 应用场景序列化 - 对象替换原内容&#xff0c;方便使用编写程序取得结果数组 序列化 - JSON 应用场景 在编写热更新的时候&#xff0c;我发现了一个古早的 ini 文件&#xff0c;记录了许多有用的数据 由于使用的语言年份较新&#xff0c;没有办法较好地对 ini 文件的…