摘 要: 主要介紹科學計算可視化IDL的基本組成和特點,并將IDL的人機交互,、信號處理,、可視化和開放式接口等強大功能應用于SAR圖象處理和質(zhì)量評估系統(tǒng),,通過圖形用戶界面使用戶只需進行簡單的系統(tǒng)操作就可以得到詳盡、直觀的處理和評估結(jié)果,。
關(guān)鍵詞: IDL(Interactive Data Language) 軟件工程 合成孔徑雷達 圖象處理
科學計算可視化是八十年代后期由美國科學家提出并發(fā)展的一門新興邊緣技術(shù),,它將科學計算過程中及計算結(jié)果所產(chǎn)生的數(shù)據(jù)轉(zhuǎn)換成圖形或圖象信息,并可進行交互式分析,,成為信息爆炸時代人類分析和駕馭信息的有力工具,。由美國RSI公司開發(fā)的IDL(Interactive Data Language)第四代科學計算可視化語言具有開放性、高維分析能力,、科學計算能力,、實用性及可視化分析為一體的特點,集成了所有科學計算環(huán)境中所需要的工具,,使用戶可以對任意科學數(shù)據(jù)進行可視化分析,。許多用戶不僅利用IDL進行課題研究,而且形成了一批商業(yè)應用軟件,,例如遙感專業(yè)圖象分析軟件ENVI,、合成孔徑雷達(SAR)數(shù)據(jù)地形校正商業(yè)軟件3-D SAR Ground Station等。本文主要介紹基于IDL的結(jié)構(gòu)特點以及開發(fā)的SAR圖象處理和質(zhì)量評估系統(tǒng),。系統(tǒng)利用IDL的人機交互,、信號處理、可視化和開放式接口等強大功能,,集成了SAR圖象處理和質(zhì)量評估中所需的大部分功能與操作,。
1 IDL 的組成及特點
IDL由以下幾個基本軟件包組成:
1.1 信號處理與圖象處理
信號處理作為一門應用廣泛的技術(shù),在現(xiàn)代數(shù)據(jù)處理中占有非常重要的地位,。IDL發(fā)展了一個非常完善的信號處理軟件包,,它不僅包括大量頻域信號分析方法(如:1~7維FFT、頻域濾波及分析,、多種高維卷積,、波譜分析,、復空間極點分析等)還有大量空間域分析及處理方法(如:形態(tài)分析、空間濾波,、邊緣提取,、波形分析、空間變換等)和時間域分析(如:時間序列分析,、小波變換及分析(152個功能),、信號編輯等)。作為特殊的信號處理,,圖象處理也成為這個軟件包的主要功能,,它除了通用信號處理的方法外,還有如彩色空間變換,、真彩色—假彩色變換,、直方圖統(tǒng)計及分析、放大及平移各種地理分析及多項式扭曲等大量圖象處理的特有功能,。這個軟件包為用戶提供了一個強有力的信號及圖象分析工具,。
1.2 可視化軟件包
IDL的可視化由兩部分組成,一是二維可視化,,它包括多種曲面生成方法,,曲面擬合方法,曲面平滑方法,,權(quán)重曲面生成法,,一維及二維數(shù)據(jù)顯示,多數(shù)據(jù)疊合,,矢量數(shù)據(jù)顯示等,。另一個非常重要的部分是三維及高維數(shù)據(jù)可視化,它的主要功能有三維顯示,、三維動畫(利用OpenGL),,三維實體分析及可視化,四維數(shù)據(jù)顯示及分析,,實時規(guī)則與非規(guī)則網(wǎng)格生成,,Z-buffered圖形及實體等值分析及顯示等。
1.3 數(shù)學分析軟件包
數(shù)學分析是科學計算可視化的基礎(chǔ),,因此IDL具有極強的數(shù)據(jù)分析能力,。它包括:積分(十多種積分方法)、特征向量空間分析系統(tǒng),、線性系統(tǒng),、空余線性系統(tǒng)、非線性系統(tǒng),、多種求值方法,、多維優(yōu)化系統(tǒng)、相關(guān)分析及回歸預測系統(tǒng),、模型分析及檢測系統(tǒng),、高維檢值等。
1.4 地圖投影及轉(zhuǎn)換軟件包
IDL對地理的重視反映在它的獨特的地圖投影軟件包中,,其中它不僅包含了幾乎所有的地圖投影公式及模型,,而且可以全部可視化(以圖形和高分辨率圖象顯示),它可以對任何圖象數(shù)據(jù)進行地圖投影的校正及投影之間的轉(zhuǎn)換,,使地球科學的用戶可以很容易地實現(xiàn)自己的功能,。
1.5 圖象界面工具軟件包
作為一個可視化語言,用戶圖形界面(GUI)的強大與否直接決定了其應用的質(zhì)量,。IDL提供了一個強有力的GUI(Graphical User Interfaces),,它包括數(shù)十種用戶工具,如三維飛行工具,、動畫工具,、注冊工具、Bitmap編輯工具,、彩色表的編輯與應用,、界面及菜單生成工具、實體分析工具等,。
1.6 開發(fā)及編輯工具
為了使用戶更容易地用來進行軟件開發(fā),,IDL不僅為用戶建立了可視化編程的環(huán)境IDE,同時為用戶提供了大量的編程工具,。
1.7 ODBC數(shù)據(jù)庫接口
IDL開發(fā)了通用ODBC接口,,使得用戶不僅可以對數(shù)據(jù)做可視化分析,而且可以對所有數(shù)據(jù)進行管理,,這是可視化軟件發(fā)展的必然趨勢,。
此外,從IDL5.0版開始,,IDL改變了舊有的編程結(jié)構(gòu),,采用了面向?qū)ο蟮木幊谭椒ǎ峁┝诵碌拿嫦驅(qū)ο蟮膱D形模型結(jié)構(gòu),,使用戶不需要重新生成圖形就可以在任何圖形設(shè)備上對圖形模型目標進行各種操作(如運算,、顯示、打印等),;IDL采用OpenGL技術(shù),,大大增強了它的三維動畫的可視能力,使得三維動畫與分析緊密結(jié)合,,它還可以使用OpenGL的硬件加速環(huán)境,,從而三維圖形顯示可以達到硬件的顯示趨勢,;IDL開放式接口采用不同技術(shù)來與操作系統(tǒng)及其它語言的程序進行通訊,例如IDL的Spawn方法可以產(chǎn)生一個子進程進行IDL與操作系統(tǒng)的相互通訊,,Call-external方法可以在IDL中調(diào)用動態(tài)鏈接庫(DLL)中的C或Fortran子程序,。
2 基于IDL的SAR圖象處理及質(zhì)量評估系統(tǒng)
作為一個非常成熟的可視化語言,IDL已被廣泛應用于醫(yī)學,、地學,、天文學、天體物理,、航空航天科學,、應用科學、軍事,、環(huán)境科學,、材料科學等學科,其用戶遍布世界50多個國家和地區(qū),。其最大的用戶包括美國航天局,,美國國家噴氣試驗室,美國國家土地局,,美國國家海洋局,,歐洲宇航局,世界各大天文臺,,美國及歐洲各醫(yī)學院等,。
我們課題組長期從事星載合成孔徑雷達(SAR)成象處理方面的研究工作,近期研制開發(fā)出基于IDL的SAR圖象處理及質(zhì)量評估系統(tǒng),。采用的操作系統(tǒng)是Windows 98,,應用的軟件是美國RSI公司于1998年3月推出的IDL5.0。它的可視化功能,,圖形處理能力,,用戶開發(fā)環(huán)境成為選擇它的主要原因。
由于本系統(tǒng)中將涉及到大量的圖象顯示與處理等操作,,其中還涉及到三維圖象的操作,,所以硬件的圖形處理能力將對系統(tǒng)的性能起著至關(guān)重要的作用。但由于采用IDL5.0進行編程,,其強大的圖形處理功能可在普通微機上完成圖象顯示與處理等工作,,而且考慮到用戶硬件的配置,而選用普通微機進行軟件開發(fā)和運行,。
按模塊化的設(shè)計思想組織的整個系統(tǒng)由四個模塊組成,,分別是:用戶界面、預處理模塊、主處理模塊和斑點抑制算法庫,。系統(tǒng)框圖見圖1,。
其中,整個系統(tǒng)的人機交互對話都是采用IDL5.0 中的各種Widget編寫的,,當用戶對某一構(gòu)件執(zhí)行某種操作時,,IDL就會對應相應的事件,調(diào)用事件響應中的IDL子程序,。系統(tǒng)處理和評估結(jié)果的顯示充分利用了IDL的直方圖統(tǒng)計、三維圖顯示和等值線顯示等,。將斑點抑制算法庫作為一個獨立的模塊,,其主要目的是為了使系統(tǒng)具有良好的可擴充性,并且易于維護,。各斑點抑制算法是用C語言編寫的,,在IDL中使用Call-external方法可以調(diào)用,兼顧了C程序預算速度快的特點,。系統(tǒng)通過IDL的人機交互,、信號處理、可視化和開放式接口等強大功能,,將SAR圖象處理過程中紛繁的處理操作以及各種運算有機地,、條理清楚地組織在一起,集成了SAR圖象處理中所需的大部分功能與操作,,并且通過一個可視化的圖形用戶界面在這些功能與用戶之間進行交互,,使用戶只需簡單的操作就可完成SAR圖象的斑點噪聲抑制和圖象質(zhì)量評估。
總之,,IDL是一種具有開放性,、高維分析能力、科學計算能力,、實用及可視化分析為一體的計算可視化語言,,可應用于眾多研究領(lǐng)域。本文利用了IDL的強大功能,,實現(xiàn)了基于IDL語言的SAR圖象處理和質(zhì)量評估系統(tǒng),,其良好的圖形使用界面使用戶只需進行簡單的系統(tǒng)操作就可以得到詳盡、直觀的處理和評估結(jié)果,。
參考文獻
1 Research Systems,,Inc.Building IDL Applications,1997
2 Research Systems,,Inc.IDL Reference Guide,,1997
3 Research Systems,Inc.IDL Objects and Object Graphics,1997