在Ubuntu20.04下安装GAMMA(v2020/2022)
saVic @2022/7/19
1 前言
GAMMA 合成孔径雷达干涉测量软件是由瑞士GAMMA公司开发的用于干涉雷达数据处理的全功能软件平台,运行在Linux系统下。
本文将介绍本人在武大雷达遥感项目组的电脑上(Ubuntu20.04)安装GAMMA(v20200728)的方法。
2023.4.26更新:最新的v2022版GAMMA也适用
主要参考为:
- GAMMA(v20200728)官方安装文档INSTALL_Linux.html
- CSDN《Linux Ubuntu20.04 版本下安装 GAMMA 2020版 安装步骤 安装教程》作者:珠峰上的蓝天,链接:https://blog.csdn.net/qq_38372838/article/details/110188072
2 准备软件包
GAMMA软件是商业软件。首先准备GAMMA(v20200728)的安装包,需要注意获取到的安装包属于哪种情况:
- 压缩包/解压文件:若拿到的GAMMA软件是压缩包,则需要将其解压到待安装的路径。若拿到的直接是解压后的文件,则直接将整个文件夹复制到待安装的路径。如
/usr/local/GAMMA_SOFTWARE-20200728
- 源代码/已编译:若拿到的GAMMA软件只有源代码和makefile文件,则需要在配置好环境后使用
make
命令编译makefile文件。若拿到的GAMMA软件已经经过编译,则只需要配置好环境即可。
这里获取的软件为已解压、已编译的一个“GAMMA_SOFTWARE-20200728”文件夹。因此将其直接拷贝到待安装的路径下即可。
3 添加环境变量
需要将GAMMA软件的目录添加到环境变量下,才可以在任意目录下执行其中的代码。
环境变量可以在bashrc中进行设置,首先打开bashrc文件:
sudo gedit ~/.bashrc
在文件的最后添加如下内容。其中,GAMMA软件路径“GAMMA_HOME”和默认文件格式“GAMMA_RASTER”根据实际情况修改:
########## saVic #########
# GAMMA
export GAMMA_HOME=/home/savic/saVic/Software/Gamma/GAMMA_SOFTWARE-20200728 ### TODO:请根据实际情况修改路径
export MSP_HOME=$GAMMA_HOME/MSP
export ISP_HOME=$GAMMA_HOME/ISP
export DIFF_HOME=$GAMMA_HOME/DIFF
export DISP_HOME=$GAMMA_HOME/DISP
export LAT_HOME=$GAMMA_HOME/LAT
export IPTA_HOME=$GAMMA_HOME/IPTA
export GEO_HOME=$GAMMA_HOME/GEO
# PATH
export PATH=$PATH:.:$MSP_HOME/bin:$ISP_HOME/bin:$DIFF_HOME/bin:$LAT_HOME/bin:$DISP_HOME/bin:$IPTA_HOME/bin:\
$MSP_HOME/scripts:$ISP_HOME/scripts:$DIFF_HOME/scripts:$LAT_HOME/scripts:$IPTA_HOME/scripts:$DISP_HOME/scripts:\
export OS=linux64
#This adds the Gamma Software main directory to the Python path
export PYTHONPATH=.:$GAMMA_HOME:$PYTHONPATH
#This command disables version checking for HDF5
export HDF5_DISABLE_VERSION_CHECK=1
#This sets the Gnuplot default terminal type to be QT
export GNUTERM=qt
#Alternately, this sets the default terminal type to be WXT
#export GNUTERM=wxt
#set default raster format to BMP
export GAMMA_RASTER="BMP" ### TODO:请修改默认文件格式为SUN_RASTER、BMP或TIFF
添加完成后保存文件,并通过以下命令将环境变量刷新:
source ~/.bashrc
4 安装依赖库
GAMMA软件需要安装一系列依赖库才能运行。
Linux系统中可以通过sudo apt(-get) install [软件名]
安装软件。
4.1 安装FFTW3
Ubuntu系统下的安装方式为:
sudo apt install libfftw3-dev libfftw3-single3
结果:成功安装无报错
4.2 安装Gnuplot与GIMP
Ubuntu系统下的安装方式为:
sudo apt install gnuplot gnuplot-data gimp
结果:成功安装无报错
4.3 安装GTK 2+
Ubuntu系统下的安装方式为:
sudo apt install libgtk2.0-dev
结果:成功安装无报错
4.4 安装GDAL
2023.4.26更新:该方式已过时,请跳过
首先添加Debian软件包(网址:https://packages.debian.org/)源,以便apt可以搜索到各个版本的GDAL。
- 打开软件源列表文件:
sudo gedit /etc/apt/sources.list
- 在文件最后添加一行:
deb http://ftp.de.debian.org/debian buster main
- 添加秘钥:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 648ACFD622F3D138 0E98404D386FA1D9 DCC9EFBF77E11517
- 更新软件源:
sudo apt-get update
Ubuntu系统下安装GDAL:
sudo apt install gdal-bin libgdal-dev libgdal20
结果:依赖问题,无法安装
解决:可以先安装gdal-bin、libgdal-dev,但libgdal20仍有依赖问题。此时暂不需解决依赖问题,发现在安装gdal-bin、libgdal-dev的过程中安装了libgdal26。事实上,后续发现GAMMA(v20200728)需要的正是libgdal26而不是libgdal20。为了确保,可以在成功安装gdal-bin、libgdal-dev后前往/lib
目录查看有无GAMMA需要的文件“libgdal.so.26”。
2023.4.26更新:最新的v2022版GAMMA安装文档里发现了这一问题,现在官方指出的安装方式就是:
sudo apt install gdal-bin libgdal-dev
4.5 安装HDF5
2023.4.26更新:该方式已过时,请跳过
Ubuntu系统下的安装方式为:
sudo apt install libhdf5-dev libhdf5-100
结果:libhdf5-dev成功安装,libhdf5-100无此包,已被libhdf5-103代替
解决:安装libhdf5-103:
sudo apt install libhdf5-103
2023.4.26更新:最新的v2022版GAMMA安装文档里发现了这一问题,现在官方指出的安装方式就是:
sudo apt install libhdf5-dev libhdf5-103
4.6 安装LAPACK和BLAS
Ubuntu系统下的安装方式为:
sudo apt install libblas-dev libblas3 liblapack-dev liblapack3
结果:成功安装无报错
注:官方推荐安装liblapack-doc,但未找到此包,不过没有什么影响
5 编译代码(跳过)
注:若拿到的GAMMA软件只有源代码和makefile文件,则需要在配置好环境后使用make
命令编译makefile文件。(一般获取到的都是编译好的)
首先安装GCC编译器:
sudo apt install build-essential
依次编译DISP/src, ISP/src, MSP/src, DIFF/src, IPTA/src, LAT/src目录下的makefile_static文件。既可以手动前往每个目录运行命令,也可以在任意目录通过刚刚配置的环境变量cd进入。
cd $DISP_HOME/src
make -f makefile_static
### TODO:需进入DISP/src, ISP/src, MSP/src, DIFF/src, IPTA/src, LAT/src每个目录运行
6 完成并测试效果
安装过程到此完成。
GAMMA官方安装文档提供了如下两种测试方法,在任意位置打开终端输入命令:
disras
gamma_doc data2geotiff
事实上,在任意位置输入任意GAMMA命令,只要成果返回该函数输入输出参数的介绍并没有报错,即可基本认为配置没问题。以输入disras
为例:
后续会介绍在Ubuntu20.04下安装StaMPS(v4.1)。
注意,上述安装方式都是在官方文档推荐的系统下(Ubuntu20.04)进行的,如果系统版本不一样,可能会造成部分依赖包的版本与GAMMA需要的不一致,导致出现问题。
7 补充内容
2023.4.26补充:虽然文档中到前面这一步已经安装好了,但GAMMA数据处理过程中还要用到一些其他内容,这里一并补充出来:
7.1 安装csh(或tcsh)
批处理脚本通常使用csh编写,安装方式为:
sudo apt install csh
或:
sudo apt install tcsh
脚本中通常需要用到gawk:
sudo apt install gawk
7.2 python环境
GAMMA部分功能(例如哨兵1号影像配准S1_Coreg.py是用python写的)需要用到python环境。
官方指出:推荐使用python3,但他们已经测试了在2上也能用。
Ubuntu系统自带python3,可以通过以下命令确认:
python --version
如果确实没有,通过以下命令安装:
sudo apt install python3
如果装了多个版本的python,可以通过下面的方式指定使用python3:
sudo apt install python-is-python3
最后,安装GAMMA需要的python包。
如果没有python包管理器pip,则安装:
sudo apt install pip
以下为GAMMA处理过程中需要用到的包,建议一个一个安装,以便pip可以自动解决包与包之间的版本依赖问题:
sudo pip install numpy
sudo pip install matplotlib
sudo pip install scipy
sudo pip install shapely
sudo pip install packaging