遥感运算的并行处理方法

文档序号:6428472阅读:546来源:国知局
专利名称:遥感运算的并行处理方法
技术领域
本发明涉及遥感算法处理技术领域,尤指一种遥感运算的并行处理方法。
背景技术
随着遥感影像处理领域的应用越来越广泛,遥感处理算法也是越来越多。许多遥感影像处理算法都会包含公共模块,但是每次编写算法时几乎都会重新编写这些公共模块,这样会极大的降低科研工作效率。此外,遥感领域常用到的语言如IDL与MatLab等,其优势在于矩阵的运算,即图像处理方面有着无可比拟的优势,但是并行编程并不是其特长,多线程、多核运算等并行处理方式在MatLab这些语言中很少涉及到,甚至在早期的版本里根本就不支持多线程机制,即便是支持多线程,也只是语言内某些库函数内部实现的多线程支持,并没有给用户编写多线程程序的接口。因此,IDL与MatLab不适合进行并行编程,只能进行遥感运算的串行处理,运算时间较长。

发明内容
针对现有技术存在的问题,本发明提供一种能够提高科研工作效率以及缩短遥感运算时间的遥感运算并行处理方法。为实现上述目的,本发明的遥感运算并行处理方法,具体为1)建立遥感运算基本模块;2)根据遥感计算,选取所需遥感运算基本模块组成遥感运算流程模块;3)将遥感运算基本模块和遥感运算流程模块转换为可执行文件,实现并行处理。进一步,所述遥感运算基本模块包括输入模块、输出模块和处理模块,其中,输入模块用于指向遥感运算所需要的各个原始输入数据;
处理模块用于根据原始输入数据进行遥感运算;输出模块用于指向遥感运算结果的存储路径。进一步,所述输入模块、输出模块和处理模块均具有规范的Xml描述信息。进一步,所述Xml描述信息包括属性信息、算法信息、模型信息和输入输出参数信息。属性信息描述模块的一般属性,如模块名称、功能、注释等信息;算法信息描述模块中算法的详情,包括算法调用方式,输入输出参数个数以及对每个参数的描述,如参数名称、参数类型、参数值等信息;模型信息是针对所属算法模型中涉及到的专业参数,这类参数不需在驱动算法时由用户选择填写,而是提前设置好的;输入输出参数信息是对流程模型而言整体对外层的输入与输出参数,流程内部模块输入输出间的关系不在此类中表现。这些Xml描述信息,既是对算法与流程的说明文档,同时也是驱动算法并行生产的必要数据支持。
进一步,所述遥感运算流程模块也包括Xml描述信息,该Xml描述信息包括组成遥感运算流程模块的所有输入模块、输出模块和处理模块,以及所有输入模块、输出模块和处理模块之间的相互关系。进一步,通过IDL或Matlab自带的接口与C#进行混编,将遥感运算基本模块和遥感运算流程模块转换为可执行文件。本发明首先建立遥感运算的基本模块,进行遥感运算时直接调用相应的遥感运算基本模块即可,无须重新编写,使得算法的可重用性大大增加,为科研工作提高了效率;其次,算法生产流程的灵活性也显著提高,可以根据现有的数据进行合理的算法流程定制;再次,算法的流程化也带来了并行化的处理方式,经过试验,能够有效缩短运算时间,合理利用计算机的资源。


图1为本发明的并行处理方法的流程图。
具体实施例方式如图1所示,本发明的遥感运算的并行处理方法,包括以下步骤建立遥感运算基本模块;每一次图像处理的封装,称为一个遥感运算基本模块。建立的遥感运算基本模块应该对图像处理的信息进行详细的描述并足以驱动该次计算的运行。根据遥感算法的一般处理流程,遥感运算基本模块分为三类,分别是输入模块、输出模块与处理模块。输入模块只负责指遥感运算所需要的各个原始输入数据;输出模块则只负责遥感运算的存储路径;处理模块是真正参与处理计算的节点,它通过封装的算法,将其输入数据处理后得到输出数据。建立遥感运算基本模块后,选取所需遥感运算基本模块组成遥感运算流程模块;对于一个由许多遥感运算基本模块构成的遥感运算流程模块,同样需要一种描述规范。它需要能够描述出这个工作流程中有哪些输入模块,输出模块,处理模块以及它们之间的先后运行关系。将遥感运算基本模块和遥感运算流程模块转换为可执行文件,实现并行处理。流程的多核并行处理可以加速流程的进度,有效地利用计算机的计算资源。对于算法的多核并行处理,首先需要对算法进行进程级的封装。这是因为遥感算法多数不是可执行程序,而多核计算对可执行程序的设置较为方便。遥感常用软件为IDL和MatLab,我们将这些语言利用转换接口与C#进行混编,将IDL或MatLab集成为可执行文件。封装完成后,使用C#中的Process类启动算法的可执行文件,以利于进行并行处理。以生产遥感MODIS归一化雪盖指数产品(NDSI)的转投影产品为例,一共涉及到一个TOAL的输入模块、一个TOAL的处理模块、一个TOAL的输出模块、一个NDSI的输入模块、一个NDSI的处理模块、一个NDSI的输出模块、两个投影转换输入模块、一个投影转换模块和一个投影转换输出模块,TOAL的输入模块存储TOAL的处理模块原始数据所在路径,一个投影转换输入模块存储投影转换模块原始数据所在路径。组成流程如下,TOAL的输入模块
4指向TOAL的处理模块,TOAL的处理模块计算结果由TOAL的输出模块指向NDSI的输入模块,NDSI的处理模块计算结果由NDSI的输出模块指向投影转换模块的一个输入,存储投影转换模块原始数据的另一投影转换输入模块指向投影转换模块的另一个输入,投影转换的结果指向投影转换输出模块,表明最终计算结果。计算该流程时,系统通过分析,找到两条可并行的线,分别计算完成后,最终计算投影转换,完成计算。
权利要求
1.一种遥感运算并行处理方法,具体为1)建立遥感运算基本模块;2)根据遥感计算,选取所需遥感运算基本模块组成遥感运算流程模块;3)将遥感运算基本模块和遥感运算流程模块转换为可执行文件,实现并行处理。
2.如权利要求1所述的遥感运算并行处理方法,其特征在于,所述遥感运算基本模块包括输入模块、输出模块和处理模块,其中,输入模块用于指向遥感运算所需要的各个原始输入数据;处理模块用于根据原始输入数据进行遥感运算;输出模块用于指向遥感运算结果的存储路径。
3.如权利要求2所述的遥感运算并行处理方法,其特征在于,所述输入模块、输出模块和处理模块均具有规范的Xml描述信息。
4.如权利要求3所述的遥感运算并行处理方法,其特征在于,所述Xml描述信息包括属性信息、算法信息、模型信息和输入输出参数信息。
5.如权利要求4所述的遥感运算并行处理方法,其特征在于,所述遥感运算流程模块也包括Xml描述信息,该Xml描述信息包括组成遥感运算流程模块的所有输入模块、输出模块和处理模块,以及所有输入模块、输出模块和处理模块之间的相互关系。
6.如权利要求5所述的遥感运算并行处理方法,其特征在于,通过IDL或Matlab自带的接口与C#进行混编,将遥感运算基本模块和遥感运算流程模块转换为可执行文件。
全文摘要
本发明公开了一种遥感运算并行处理方法,具体为1)建立遥感运算基本模块;2)根据遥感计算,选取所需遥感运算基本模块组成遥感运算流程模块;3)将遥感运算基本模块和遥感运算流程模块转换为可执行文件,实现并行处理。本发明首先建立遥感运算的基本模块,进行遥感运算时直接调用相应的遥感运算基本模块即可,无须重新编写,使得算法的可重用性大大增加,为科研工作提高了效率;算法的流程化也带来了并行化的处理方式,经过试验,能够有效缩短运算时间,合理利用计算机的资源。
文档编号G06F9/38GK102393815SQ20111019559
公开日2012年3月28日 申请日期2011年7月13日 优先权日2011年7月13日
发明者余涛, 吕天然, 孟庆岩, 李家国, 郭红, 顾行发 申请人:中国科学院遥感应用研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1