王舒宜 陳漢勇 李 剛 廖琪梅 盧虹冰
摘 要:在醫(yī)學(xué)軟件的開發(fā)過程中,實現(xiàn)三維重建技術(shù)的優(yōu)劣是系統(tǒng)設(shè)計的難點和重點。在探討面繪制與體繪制技術(shù)的基礎(chǔ)上,使用OpenGL及VTK工具包完成可視化具體操作,并對其結(jié)果進(jìn)行簡要分析。利用患者髖關(guān)節(jié)CT數(shù)據(jù),實施了基于OpenGL的Marching Cube算法、三維紋理映射算法,以及基于VTK的Marching Cube、Ray Casting算法,并對實現(xiàn)過程及實現(xiàn)效果進(jìn)行了對比分析?;贠penGL與基于VTK的面繪制技術(shù)及體繪制技術(shù)均能較好呈現(xiàn)患者髖關(guān)節(jié)的三維解剖結(jié)構(gòu)信息。其中,面繪制可有效地繪制出三維體的表面,但缺乏內(nèi)部信息的表達(dá);體繪制真實感較好,但渲染速度較慢,不適合用于實時系統(tǒng)的表達(dá)。VTK可視化方法實現(xiàn)簡單,適用于快速顯示數(shù)據(jù)空間信息,但其三維交互功能不足;OpenGL屬于底層API,可靈活完成各項交互操作及渲染任務(wù),但其編碼較為復(fù)雜。
關(guān)鍵詞:面繪制;體繪制;VTK;OpenGL;DICOM
中圖分類號:TP319文獻(xiàn)標(biāo)識碼:B
文章編號:1004-373X(2009)10-091-03
Application of Three-dimensional Visualization Technology in Medicine
WANG Shuyi,CHEN Hanyong,LI Gang,LIAO Qimei,LU Hongbing
(Fourth Military Medical University,Xi′an,710032,China)
Abstract:AIM three-dimensional reconstruction is the difficulties and focus in development of the medical application software.In this paper,OpenGL and Visualization Tool Kit are used to achieve the specific visualization based on the technology of surface rendering and volume rendering.To contrast the result,some CT data of developmental dysplasia of the Hip patients are reconstructed by using Marching Cube algorithm based on OpenGL and Marching Cube,Ray Casting algorithm which are based on VTK.Marching cube algorithm and Ray casting algorithm based on OpenGL and VTK can both better display the three-dimensional anatomical structure information of patient.Surface can provide effectively render surface of a three-dimensional,but the lack expression of internal information.Instead,volume rendering can greatly improve quality of image,but does not apply to the expression of real-time system.VTK visualization methods can implement simply and rapid display 3D data,it is lack of three-dimensional interactive features.Contrarily,OpenGL which is the underlying API can accomplish flexible interaction,but its code is more complex.
Keywords:surface rendering;volume rendering;VTK;OpenGL;DICOM
0 引言
近年來,隨著計算機(jī)斷層(CT)、磁共振(MRI)、B超等設(shè)備的研制成功,使得傳統(tǒng)的醫(yī)學(xué)診斷方式發(fā)生了革命性變化。使用計算機(jī)對醫(yī)學(xué)影像設(shè)備采集到的數(shù)據(jù)進(jìn)行處理(醫(yī)學(xué)影像處理與分析),為臨床醫(yī)學(xué)的診療和醫(yī)學(xué)科學(xué)的研究,提供了清晰的人體結(jié)構(gòu)圖像和詳盡的病理信息,使得疾病的檢查與診斷發(fā)生了革命性的變革。目前,我國已從國外進(jìn)口了大批醫(yī)療設(shè)備,并在臨床上廣泛應(yīng)用,但由于國內(nèi)缺乏配套的開發(fā)隊伍,一般使用的是國外公司隨機(jī)器附帶的軟件。同時,我國已經(jīng)初步具備了醫(yī)療器械的生產(chǎn)能力,但高質(zhì)量的配套軟件相當(dāng)缺乏,抓住這一契機(jī),在國內(nèi)開發(fā)醫(yī)學(xué)影像軟件十分必要。
1 方法
1.1 軟件開發(fā)
醫(yī)學(xué)軟件的開發(fā)主要分為DICOM(Digital Imaging and Communication of Medicine)數(shù)據(jù)的讀取、圖像分割、數(shù)據(jù)可視化及外科手術(shù)模擬等幾部分[1],如圖1所示。其中,數(shù)據(jù)可視化是一個較為關(guān)鍵的環(huán)節(jié),它可為醫(yī)生提供病變組織與鄰近結(jié)構(gòu)的空間解剖結(jié)構(gòu),輔助醫(yī)生直觀、迅速、準(zhǔn)確地診斷病變。這里主要介紹目前常用的可視化分析算法,并重點結(jié)合OpenGL技術(shù)及VTK(Visualization Tool Kit)軟件包實現(xiàn)面繪制(Surface Rendering)及體繪制(Volume Rendering)方法,最后對兩種方法進(jìn)行簡單比較。
1.2 面繪制與體繪制技術(shù)
三維可視化算法大致可分為面繪制與體繪制技術(shù)。面繪制技術(shù)[2-4]基于三維空間場的等值面提取,可細(xì)分為Marching Cube,Marching Tetrahedral,Dividing Cubes等算法。其中,Marching Cubes(MC)算法是體素單元內(nèi)等值面抽取技術(shù)的代表,其基本思想是逐個處理數(shù)據(jù)場中的體素,分類出與等值面相交的體素,采用插值計算出等值面與體素棱邊的交點。根據(jù)體素中每一頂點與等值面的相對位置,將等值面與立方體邊的交點按一定方式連接生成等值面,作為等值面在該立方體內(nèi)的一個逼近表示。在計算出體數(shù)據(jù)場內(nèi)所有等值面的有關(guān)參數(shù)后用常用的圖形軟件包或硬件提供的面繪制功能繪制出等值面,如圖2所示。
然而,對于復(fù)雜物體表面,如果僅用幾何形狀表示各器官的表面,不可能完整顯示其內(nèi)部信息。體繪制[5-7]的目的就在于提供一種基于體素的繪制技術(shù),能顯示出對象體的豐富的內(nèi)部細(xì)節(jié)。常用的體繪制算法包括Ray Casting,Ray Tracying,Shear Warp等。其中,Ray Casting為其典型代表,具體思想為從圖像平面的每個象素向數(shù)據(jù)場投射光線,在光線上采樣或沿線段積分計算光亮度和不透明度,按采樣順序進(jìn)行圖像合成。得到的結(jié)果圖像如圖3所示。
在可視化算法的具體實現(xiàn)過程中,對于底層操作用戶可以采用基于OpenGL[3,8]渲染的方法進(jìn)行重建。OpenGL是由SGI公司開發(fā)的低層三維圖形API(實際上是一種圖形與硬件接口),包含120多個圖形函數(shù),用戶可以用這些函數(shù)來建立三維模型和進(jìn)行三維實時交互,目前已經(jīng)成為高性能圖形和交互式視景處理的工業(yè)標(biāo)準(zhǔn)。優(yōu)點是操作靈活,可完全依照需求,用于完成各項操作功能,但其缺點是沒有基本可視化模塊,具體算法需要用戶編寫實現(xiàn),對于初學(xué)用戶難度較大,實現(xiàn)周期較長。
VTK[4]是一個用于可視化應(yīng)用程序構(gòu)造與運行的支撐環(huán)境,具有強(qiáng)大的三維圖形功能,主要進(jìn)行3D計算機(jī)圖形、圖像處理。它是在OpenGL的基礎(chǔ)上采用面向?qū)ο蟮脑O(shè)計方法發(fā)展起來的,將在可視化開發(fā)過程中會經(jīng)常遇到的細(xì)節(jié)屏蔽起來,并將一些常用的算法封裝起來。例如:VTK將Marching Cubes算法封裝起來,以類的形式給予支持。這樣用戶在對三維規(guī)則點陣數(shù)據(jù)進(jìn)行表面重建時就不必再重復(fù)編寫Marching Cubes算法的代碼,而直接使用VTK中已經(jīng)提供的VTKMarchingCubes類即可,給從事可視化應(yīng)用的用戶提供直接的技術(shù)支持,但主要缺點是,使用VTK自身提供算法簡單易行,但若增加用戶特定功能較為困難。
VTK具體的程序流程如圖4所示,主要包含可視化(Visualization Pipeline)及圖形(Graphics Pipeline)兩個主要管道。其中,可視化管道負(fù)責(zé)將信元轉(zhuǎn)換為圖形數(shù)據(jù);圖形數(shù)據(jù)管道則將圖形數(shù)據(jù)轉(zhuǎn)化為輸出圖像。
2 結(jié)果
這里的DICOM實驗數(shù)據(jù)取自第四軍醫(yī)大學(xué)附屬西京醫(yī)院小兒骨科患者髖關(guān)節(jié)數(shù)據(jù)。使用PQ6000型多層螺旋CT對病人掃描獲取樣本數(shù)據(jù),掃描范圍從髂前下脊到小轉(zhuǎn)子。具體參數(shù)為:層數(shù)71,掃描層厚3 mm,重建層厚2 mm,掃描參數(shù)120 kV,70~120 mA(由患者的體形大小決定)。分別使用實驗室自己編寫的直接基于OpenGL的Marching Cubes算法、三維紋理映射算法,以及采用VTK自身提供的Marching Cubes算法、Ray casting算法,其結(jié)果對比如圖5、圖6所示。
3 討論
在此主要介紹了體繪制及面繪制技術(shù)在醫(yī)學(xué)領(lǐng)域中的應(yīng)用,重點闡述了其基于 OpenGL及VTK的實現(xiàn)方法,并對患者數(shù)據(jù)使用上述方法進(jìn)行了簡單的對比分析。對比面繪制與體繪制[9-11]技術(shù)可知,面繪制可有效地繪制出三維體的表面,但缺乏內(nèi)部信息的表達(dá)。同時其可視化效果較差,如提高渲染質(zhì)量,需增加三角形面片或進(jìn)行平滑處理,如圖7所示;體繪制真實感較好,但渲染速度較慢,不適用于實時系統(tǒng)的表達(dá)。
對比VTK及OpenGL[10,12]兩種顯示技術(shù)可知,VTK可視化方法簡單,適用于快速顯示數(shù)據(jù)空間信息,但其三維交互功能不足,如要增加特定功能實現(xiàn)極為困難;OpenGL屬于底層API,可靈活完成各項交互操作及渲染任務(wù),功能強(qiáng)大,但其編碼較為復(fù)雜。
對于今后三維平臺的開發(fā),可以采用OpenGL開發(fā)自己的庫函數(shù),以供后期直接使用;或修改VTK,配合ITK(Insight Tool kit)進(jìn)行分割配準(zhǔn),為自己所用?;蛑苯邮褂肕ITK(Medical Imaging Tool Kit),同時完成可視化及配準(zhǔn)操作。
4 結(jié) 語
經(jīng)上述分析比較,VTK可視化方法實現(xiàn)簡單,適用于快速顯示數(shù)據(jù)空間信息,但其三維交互功能不足。OpenGL屬于底層API,可靈活完成各項交互操作及渲染任務(wù),但其編碼較為復(fù)雜。
參考文獻(xiàn)
[1]Li B,Lu H,Cai W,et al.Computer Aided Diagnosis and Treatment Planning for Developmental Dysplasia of the Hip.SPIE Medical Image,2005,57:44-89.
[2]李改.體可視化MT算法的改進(jìn).吉首大學(xué)學(xué)報:自然科學(xué)版,2007,28(1):55-58.
[3]劉磊,馮前進(jìn),王文輝,等.基于GPU 的醫(yī)學(xué)圖像快速面繪制.計算機(jī)工程與應(yīng)用,2007,43(32):189-191.
[4]張翔,肖小玲,張愛華.基于VTK庫的人腦三維可視化面繪制.長江大學(xué)學(xué)報:自然科學(xué)版,2006,3(1):75-76.
[5]黃展鵬,周蘇娟,趙潔.直接體繪制加速算法綜述.計算機(jī)與數(shù)字工程,2008,36(3):28-30.
[6]陶玲,錢志余,陳春曉.基于光線投影的醫(yī)學(xué)影像體繪制加速技術(shù).光電工程,2008,35(1):89-93.
[7]宋衛(wèi)衛(wèi),李冠華,歐宗瑛.醫(yī)學(xué)體數(shù)據(jù)三維可視化技術(shù).計算機(jī)工程與應(yīng)用,2006(18):22-26.
[8]周建龍,王知衍,肖春.基于紋理映射和GPU的焦點區(qū)域體繪制.計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2008,20(1):32-37.
[9]伍新中,張樹生,洪歧,等.大規(guī)模醫(yī)學(xué)序列圖像體視化研究與實現(xiàn).北京生物醫(yī)學(xué)工程,2008,27(1):11-14.
[10]李晶,阮興云,徐志榮,等.三維體數(shù)據(jù)的可視化探討.醫(yī)療衛(wèi)生裝備,2008,29(6):75-76.
[11]徐夏剛,張定華,洪歧.體視化方法綜述.計算機(jī)應(yīng)用研究,2006(1):12-15.
[12]曹立基,梁家斌,趙俊.用于CT仿真的可視化空腔結(jié)構(gòu)快速薄壁體繪制方法.中國組織工程研究與臨床康復(fù),2007,35(11):7 047-7 049.