基于IDL的SAR图像处理及质量评估系统
主要介绍科学计算可视化IDL的基本组成和特点,并将IDL的人机交互、信号处理、可视化和开放式接口等强大功能应用于SAR图象处理和质量评估系统,通过图形用户界面使用户只需进行简单的系统操作就可以得到详尽、直观的处理和评估结果。
关键词: IDL(InteracTIve Data Language) 软件工程 合成孔径雷达 图象处理
科学计算可视化是八十年代后期由美国科学家提出并发展的一门新兴边缘技术,它将科学计算过程中及计算结果所产生的数据转换成图形或图象信息,并可进行交互式分析,成为信息爆炸时代人类分析和驾驭信息的有力工具。由美国RSI公司开发的IDL(InteracTIve Data Language)第四代科学计算可视化语言具有开放性、高维分析能力、科学计算能力、实用性及可视化分析为一体的特点,集成了所有科学计算环境中所需要的工具,使用户可以对任意科学数据进行可视化分析。许多用户不仅利用IDL进行课题研究,而且形成了一批商业应用软件,例如遥感专业图象分析软件ENVI、合成孔径雷达(SAR)数据地形校正商业软件3-D SAR Ground StaTIon等。本文主要介绍基于IDL的结构特点以及开发的SAR图象处理和质量评估系统。系统利用IDL的人机交互、信号处理、可视化和开放式接口等强大功能,集成了SAR图象处理和质量评估中所需的大部分功能与操作。
1 IDL 的组成及特点
IDL由以下几个基本软件包组成:
1.1 信号处理与图象处理
信号处理作为一门应用广泛的技术,在现代数据处理中占有非常重要的地位。IDL发展了一个非常完善的信号处理软件包,它不仅包括大量频域信号分析方法(如:1~7维FFT、频域滤波及分析、多种高维卷积、波谱分析、复空间极点分析等)还有大量空间域分析及处理方法(如:形态分析、空间滤波、边缘提取、波形分析、空间变换等)和时间域分析(如:时间序列分析、小波变换及分析(152个功能)、信号编辑等)。作为特殊的信号处理,图象处理也成为这个软件包的主要功能,它除了通用信号处理的方法外,还有如彩色空间变换、真彩色—假彩色变换、直方图统计及分析、放大及平移各种地理分析及多项式扭曲等大量图象处理的特有功能。这个软件包为用户提供了一个强有力的信号及图象分析工具。
1.2 可视化软件包
IDL的可视化由两部分组成,一是二维可视化,它包括多种曲面生成方法,曲面拟合方法,曲面平滑方法,权重曲面生成法,一维及二维数据显示,多数据叠合,矢量数据显示等。另一个非常重要的部分是三维及高维数据可视化,它的主要功能有三维显示、三维动画(利用OpenGL),三维实体分析及可视化,四维数据显示及分析,实时规则与非规则网格生成,Z-buffered图形及实体等值分析及显示等。
1.3 数学分析软件包
数学分析是科学计算可视化的基础,因此IDL具有极强的数据分析能力。它包括:积分(十多种积分方法)、特征向量空间分析系统、线性系统、空余线性系统、非线性系统、多种求值方法、多维优化系统、相关分析及回归预测系统、模型分析及检测系统、高维检值等。
1.4 地图投影及转换软件包
IDL对地理的重视反映在它的独特的地图投影软件包中,其中它不仅包含了几乎所有的地图投影公式及模型,而且可以全部可视化(以图形和高分辨率图象显示),它可以对任何图象数据进行地图投影的校正及投影之间的转换,使地球科学的用户可以很容易地实现自己的功能。
1.5 图象界面工具软件包
作为一个可视化语言,用户图形界面(GUI)的强大与否直接决定了其应用的质量。IDL提供了一个强有力的GUI(Graphical User Interfaces),它包括数十种用户工具,如三维飞行工具、动画工具、注册工具、Bitmap编辑工具、彩色表的编辑与应用、界面及菜单生成工具、实体分析工具等。
1.6 开发及编辑工具
为了使用户更容易地用来进行软件开发,IDL不仅为用户建立了可视化编程的环境IDE,同时为用户提供了大量的编程工具。
1.7 ODBC数据库接口
IDL开发了通用ODBC接口,使得用户不仅可以对数据做可视化分析,而且可以对所有数据进行管理,这是可视化软件发展的必然趋势。
此外,从IDL5.0版开始,IDL改变了旧有的编程结构,采用了面向对象的编程方法,提供了新的面向对象的图形模型结构,使用户不需要重新生成图形就可以在任何图形设备上对图形模型目标进行各种操作(如运算、显示、打印等);IDL采用OpenGL技术,大大增强了它的三维动画的可视能力,使得三维动画与分析紧密结合,它还可以使用OpenGL的硬件加速环境,从而三维图形显示可以达到硬件的显示趋势;IDL开放式接口采用不同技术来与操作系统及其它语言的程序进行通讯,例如IDL的Spawn方法可以产生一个子进程进行IDL与操作系统的相互通讯,Call-external方法可以在IDL中调用动态链接库(DLL)中的C或Fortran子程序。
2 基于IDL的SAR图象处理及质量评估系统
作为一个非常成熟的可视化语言,IDL已被广泛应用于医学、地学、天文学、天体物理、航空航天科学、应用科学、军事、环境科学、材料科学等学科,其用户遍布世界50多个国家和地区。其最大的用户包括美国航天局,美国国家喷气试验室,美国国家土地局,美国国家海洋局,欧洲宇航局,世界各大天文台,美国及欧洲各医学院等。
我们课题组长期从事星载合成孔径雷达(SAR)成象处理方面的研究工作,近期研制开发出基于IDL的SAR图象处理及质量评估系统。采用的操作系统是Windows 98,应用的软件是美国RSI公司于1998年3月推出的IDL5.0。它的可视化功能,图形处理能力,用户开发环境成为选择它的主要原因。
由于本系统中将涉及到大量的图象显示与处理等操作,其中还涉及到三维图象的操作,所以硬件的图形处理能力将对系统的性能起着至关重要的作用。但由于采用IDL5.0进行编程,其强大的图形处理功能可在普通微机上完成图象显示与处理等工作,而且考虑到用户硬件的配置,而选用普通微机进行软件开发和运行。
按模块化的设计思想组织的整个系统由四个模块组成,分别是:用户界面、预处理模块、主处理模块和斑点抑制算法库。系统框图见图1。
其中,整个系统的人机交互对话都是采用IDL5.0 中的各种Widget编写的,当用户对某一构件执行某种操作时,IDL就会对应相应的事件,调用事件响应中的IDL子程序。系统处理和评估结果的显示充分利用了IDL的直方图统计、三维图显示和等值线显示等。将斑点抑制算法库作为一个独立的模块,其主要目的是为了使系统具有良好的可扩充性,并且易于维护。各斑点抑制算法是用C语言编写的,在IDL中使用Call-external方法可以调用,兼顾了C程序预算速度快的特点。系统通过IDL的人机交互、信号处理、可视化和开放式接口等强大功能,将SAR图象处理过程中纷繁的处理操作以及各种运算有机地、条理清楚地组织在一起,集成了SAR图象处理中所需的大部分功能与操作,并且通过一个可视化的图形用户界面在这些功能与用户之间进行交互,使用户只需简单的操作就可完成SAR图象的斑点噪声抑制和图象质量评估。
总之,IDL是一种具有开放性、高维分析能力、科学计算能力、实用及可视化分析为一体的计算可视化语言,可应用于众多研究领域。本文利用了IDL的强大功能,实现了基于IDL语言的SAR图象处理和质量评估系统,其良好的图形使用界面使用户只需进行简单的系统操作就可以得到详尽、直观的处理和评估结果。