[笔记]Ubuntu下INSAR处理软件ROI_PAC的安装

http://wenku.baidu.com/link?url=d4HPL0OzUR2NP6kzl0ckb65oUt4x4Kt74Q2TAj4Yy3E7jVrNPXq-RJlPa-Nd5JYfzlgyskhQggCcVGJG-3d32iNYg_5n80XnPlSuEV47n33

http://www.linuxidc.com/Linux/2011-10/44952.htm

ROI_PAC主页上提供的安装方法比较繁琐,在Ubuntu下面可以比较简单地完成整个安装。

文章中涉及到命令大家不要硬敲,要灵活运用tab键补全。

0)ROI_PAC安装需要gcc,gfortran,perl环境,所以先看看这几个环境安装得怎么样,如果已经安装了,不要运行下面的命令。

$ sudo apt-get install gcc gfortran perl

 

0)ROI_PAC还需要一个很重要的环境设置

sudo apt-get install libfftw3-dev

 

1) ROI_PAC必须先安装fftw。目前最新版是3.3,下载地址。

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /pub/2011/06/21/Ubuntu下安装doris及相关软件教程/

 

$ tar xzfv fftw-3.3.tar.gz

$ cd fftw-3.3

$ ./configure --enable-float --prefix=/usr/local/fftw CC=gcc

//对于P3以上的多核心cpu,这条命令可以优化为 $./configure --enable-float --enable-sse --with-combined-threads

//将FFTW库安装到/usr/local/fftw文件夹中

$ 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

 

这一步报错:

技术分享

在设置了LIB和INC的环境变量的时候仍然显示无法找到FFTW的lib和include路径

按照提示上说明的:

在configure后面添加了命令提示:

./configure LDFLAG=“-L/usr/local/fftw/lib” CPPFLAG="-I/usr/local/fftw/include"

另外,虽然不明确原因,但是使用gcc编译的FFTW库比c直接编译的FFTW库要顺利一些。

即在FFTW编译的时候使用,即使用:

$ sudo ./configure CC=cc

 

技术分享

 

F:显示加入后缀之后的编译过程

 

make之后的文件仍然报错:

是找不到sfftwf文件,然后发现安装libfftw3-dev(应该是类似硬件驱动的东西)就可以了

sudo apt-get install libfftw3-dev

具体见:https://www.ruby-forum.com/topic/3304238

 这样就完成了安装

ROI_PAC执行程序都在/usr/local/bin目录里

ROI_PAC包含文件都在/usr/local/share/roi_pac目录里

 

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,所以我第一行不需要了,最后一行也改动了。

或者也可以在SAR_CONFIG里面修改然后在.bashrc文件里面source一下

A)SAR_CONFIG中修改:

export INT_BIN="/usr/local/bin"
export INT_SCR="/usr/local/share/roi_pac"
export MY_BIN="/usr/local/bin"
export MY_SCR="/usr/local/share/roi_pac"

export FFTW_LIB="/usr/local/lib"
export FFTW_INC="/usr/local/include"

export PATH=$PATH:$INT_BIN:$INT_SCR

export ROI_PAC="/usr/local/ROI_PAC_3_0_1/ROI_PAC"
export SAR_PRC_DIR="$ROI_PAC/PRC"
export SAR_ODR_DIR="$ROI_PAC/ODR"

B)然后在~/.bashrc文件里面加一句

source /usr/local/ROI_PAC_3_0_1/ROI_PAC/DOC/SAR_CONFIG

 

4)安装ROI_PAC 3.0.1的两个补丁【没补上】//ALOS暂时用不着

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

//把文件移到相应位置


这样两个补丁也安装完成。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。