基于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圖象處理和質量評估系統,其良好的圖形使用界面使用戶只需進行簡單的系統操作就可以得到詳盡、直觀的處理和評估結果。
評論
查看更多