ROI_PAC主页上提供的安装方法比较繁琐,在Ubuntu接下来可以比较简单地完成整个安装。
文章中涉及到命令大家不要硬敲,要灵活运用tab键补全。
0)ROI_PAC安装需要gcc,gfortran,perl环境,所以先看看这几个环境安装得怎么样,一旦已经安装了,不要运行接下来的Linux命令。
$ sudo apt-get install gcc gfortran perl
1) ROI_PAC必须先安装fftw。当前最新版是3.3。
$ tar xzfv fftw-3.3.tar.gz
$ cd fftw-3.3
$ ./configure --enable-float
//对于P3以上的多核心cpu,这条命令可以优化为 $./configure --enable-float --enable-sse --with-combined-threads
$ make
$ sudo make install
//不在configure中指明安装目录时,fftw默认安装到/usr/local/lib和/usr/local/include里面,需要超级权限。
安装好fftw以后设定两个环境变量,ROI_PAC需要
$ export FFTW_LIB_DIR=/usr/local/lib
$ export FFTW_INC_DIR=/usr/local/include
2)下载ROI_PAC,并安装。
ROI_PAC的下载比较麻烦,我是在cdsn上下载的,谢谢资料分享人caozhentan。
下载的是ROI_PAC_3_0_1.tgz
$ tar xzfv ROI_PAC_3_0_1.tgz
$ cd ROI_PAC_3_0_1
$ cd ROI_PAC
$ ./configure
//一旦gcc,gfortran,perl环境都安装好,fftw及环境变量设置也没有问题,那么这步是不会有问题的
$ make
$ sudo make install
3) 修改PATH变量,一劳永逸。
$ cd
//回到登录目录
$ vi .bashrc
//不喜欢vi的可以用gedit,$ gedit .bashrc
将接下来四行加到文件的末尾
export INT_BIN="/usr/local/bin"
export INT_SCR="/usr/local/share/roi_pac"
export FFTW_LIB="/usr/local/lib"
export PATH=$PATH:$INT_BIN:$INT_SCR:$FFTW_LIB
一旦你熟悉shell,可以修改这四行。
对于我来说,中存储在安装doris的时候PATH中已经设置了/usr/local/bin,所以我第一行不需要了,最后一行也改动了。
3e)这样就安装好了ROI_PAC 3.0.1,测试和使用方法略
4)安装ROI_PAC 3.0.1的两个补丁
4.1)第一个补丁安装方法在http://www.roipac.org/ALOS_PALSAR 下载make_raw_alos.pl,拷贝到/usr/local/share/roi_pac目录中。
但是使用中会提示 perl^M找不到。原因是make_raw_alos.pl是dos格式,需要转换为unix格式。
一旦是第一次安装,请遵照下列命令
$ wget http://www.roipac.org/ALOS_PALSAR?action=AttachFile&do=get&target=make_raw_alos.pl
//可以直接用浏览器在http://www.roipac.org/ALOS_PALSAR找到相关链接,另存为到登录目录。
$ sudo apt-get install tofrodos
//安装 dos和unix格式转换工具
$ fromdos make_raw_alos.pl
//转换成unix格式,去掉^M
$ chmod a+x make_raw_alos.pl
//加上执行权限
$ sudo mv make_raw_alos.pl /usr/local/share/roi_pac
//把文件移到相应位置
4.2)第二个补丁是到ROI_PAC/fip目录下编译add_rmgAmpPhs.c,并且拷贝到/usr/local/bin目录下。
但是编译会出错。请遵照接下来命令
$ cd ROI_PAC_3_0_1/ROI_PAC/fip
//我是在登录目录解压ROI_PAC的,进入fip目录
$ vi add_rmgAmpPhs.c
把接下来一行内容加到文件第三行,可以用gedit add_rmgAmpPhs.c
#include <stdlib.h>
$ gcc -o add_rmgAmpPhs add_rmgAmpPhs.c
//编译
$ chmod a+x add_rmgAmpPhs
//加上执行权限
$ sudo mv add_rmgAmpPhs /usr/local/bin
//把文件移到相应位置
这样两个补丁也安装完成。