ROI_PAC
在干涉测量,差分干涉处理这一块具有非常强的功能,特别是在0级数据处理的功能具有比其他的SAR软件先进了一大块。最重要的是它是开源免费的。而且公布了它的源代码。这也使得ROI_PAC在不断地的更新中。我以前将doris
代码
改写到windows环境下。现在想能否将ROI_PAC的代码改写到windows环境下呢。不过这次的难度大的多了,doris主要是用c语言写的,而ROI_PAC的语言
有 C,fortran,perl,每种语言都具有自己的特色的优点。而要改写 就必须熟悉这些语言。
fortran
和perl 我以前从来没有用过,即使是ROI_PAC
真正接触也就是几天功夫,幸亏自己熟悉C语言,学习其他两种语言就快多了,这两种语言大概花了2天时间
就能看懂。至少在改写的时候能看懂代码的意思。感谢C语言的基础,C语言就像是九阳神功啊。
这里的很多的关键代码是fortran写的,fortran对于数值计算方面很有优势。所以我想将fortran的代码生成dll,然后在VC中调用,研究了一上午,终于搞定了,
fortran函数:
subroutine add[dllexport](a)
implicit none
integer :: a
write(*,*) "afafaffafn"
write(*,*) a
return
end subroutine
//VC的代码
#include"stdio.h"
#include
#ifdef __cplusplus
extern "C"{
#endif
void _stdcall ADD(int *a);
#ifdef __cplusplus
}
#endif
void main(void)
{
int a= 10;
ADD (&a); }
注意这里的函数的调用方法。
(1) ADD 这里传递的参数的地址。
(2) 有可能需要用到DFORRT.dll的动态库,直接考到和fortran的dll同级目录下皆可。
有了上面的功能,就可以最大程度上利用原来的代码,减少工作量。OK开动。先从make_raw_envi.pl开始。