王冬欣, 李 哲
(吉林大學 儀器科學與電氣工程學院,吉林 長春 130061)
?
基于VTK的CT圖像三維重建與可視化
王冬欣, 李 哲
(吉林大學 儀器科學與電氣工程學院,吉林 長春 130061)

在醫學輔助教學或臨床診療中,為了幫助研究人員對人體內部信息的觀察和檢測,需要對醫學CT數據進行三維可視化。針對這一情況,為了更好地實現醫療三維可視化效果,提出以可視化工具包VTK和VC++6.0為開發平臺,并對可視化工具VTK的基本組成、可視化原理和流程進行了研究分析,采用面繪制的Marching Cubes算法和體繪制的Ray Casting算法對醫學CT圖像三維可視化。實驗結果表明,采用上述算法對CT圖像進行可視化能夠得到很好的重建效果。
三維可視化; VTK; 面繪制; 體繪制
圖像三維可視化是計算機圖形學的一個重要研究方向,它能夠重建出內部結構復雜數據三維圖像,以得到在二維斷層圖像中無法獲得的結構信息,從而提高了二維圖像數據的利用率。因此,在醫學圖像、地質構造、地層分布、石油勘探等領域中得到廣泛的應用。其中,對醫學CT數據的可視化由于其臨床應用價值已成為目前重要的研究內容[1]。
本文通過兩種算法分別對醫學CT圖像三維可視化,并實現了對重建圖像的旋轉、縮放、平移等交互操作,便于從任意角度和層面對重建圖像進行觀察與綜合分析,對測量人體骨骼內部結構參數及后續研究提供了基礎理論依據和技術支持。
濾波反投影(Filtered Back Projection, FBP)算法是層析成像中的經典算法[2],它是先對投影數據進行濾波處理以修正圖像,再將修正后的投影數據按原投影路徑的反方向投回到斷層圖像各體素中的方法,具有重建效果好、運算速度快等優點。其重建過程如圖1所示。

圖1 FBP重建算法流程
圖像投影數據p(t,θ)的獲得通過Radon變換實現[3]。Radon變換的定義為圖像μ(x,y)沿任意直線方向的線積分,即投影值為
(1)
而直線L(t,θ)方程為

(2)
當θ(與x軸夾角)值不變時,改變t的值可得到θ方向上的投影數據;改變θ值,可得到不同方向上的投影數據。
通過濾波方法對投影數據p(t,θ)進行修正時[4-6],濾波函數的選擇是重點問題。其中,R-L濾波函數和 S-L 濾波函數是兩種常用濾波函數。R-L濾波函數的采樣序列為:
(3)
式中:n為采樣點的位置;d為采樣點間距。S-L濾波函數的采樣序列為:
(4)
在含有高頻成分的投影數據中,常選用S-L濾波器來抑制噪聲,以減小重建后圖像的振蕩響應。
修正后的投影數據q(t,θ)反投影重建,能夠改善對投影數據直接反投影重建時由偽跡導致的圖像失真現象。下式為求重建后圖像的方程:
(5)
其中,φ(0≤φ≤π)為投影視角。
可視化工具包(Visualization Toolkit,VTK)是可視化領域中重要的科研和開發工具,是由美國Kitware公司推出的一個通用可視化類庫。包含上百種圖形圖像和可視化算法,主要用于三維計算機圖形學、圖像處理和可視化。本系統基于VTK與VC++6.0為開發平臺,采用C++語言來調用VTK的類庫函數,實現對醫學CT圖像數據的讀取、重建、顯示和交互等操作[7]。
VTK通過流水線工作機制,將不同模塊連接成可視化網絡對數據進行處理,實現可視化[8]。其基本流程如圖2所示,包括圖形模型和可視化模型;Source為流水線的開始,讀取原始數據,并保存在總類vtkSource或其子類中;原始數據經過不同濾波器Filter預處理后,轉換成適合所需求算法的數據并輸出,實現數據類型的轉換;再將轉換后的數據通過Mapper映射為圖形數據,完成由數據到圖形的映射;圖形數據需要進行實體化以使繪制結果能被人們觀測到,實體化過程通過Actor來完成;最后調用Render和RenderWindow將繪制結果在電腦窗口中渲染顯示,設置vtkRender類中的光照、原點位置、視角等信息實現對Actor的渲染,Render和RenderWindow提供了圖形引擎和電腦視窗系統之間的接口。基于VTK的CT圖像可視化能夠實現用戶與三維圖形的交互,使用者借助鼠標可以完成圖像旋轉、縮放等操作,便于對圖像的多方位觀察。交互功能通過對RenderWindowInteractor的設置實現。

圖2 VTK可視化流程
基于VTK的圖像三維重建主要有面繪制和體繪制兩類。
面繪制是提取圖像中需要重建部分的表面輪廓信息進行三維繪制,只重建物體的表面,適用于表面特征明顯的物體。由于面繪制處理的是體數據場中的部分數據,因此,具有運算量小、速度快的優點;但同時也造成了圖像信息的大量丟失,數據保留不完整,使得重建后的圖像無法展示出物體的內部特征信息。
體繪制面向的是整個體數據,是對體數據場中每一個體素進行處理,因此,運算量增大,繪制速度較慢。經體繪制重建后的圖像,能夠顯示物體內部構造信息和細節,重建效果相對于面繪制更加精確,但缺乏物體的表面幾何信息。
4.1 CT圖像的面繪制
面繪制的算法有很多,本文采用Marching Cubes算法對醫學CT斷層圖像進行面繪制[10-11]。其原理是將一系列二維CT數據看作一個三維體數據場,取連續兩層相鄰的8個數據點組成大小相等的立方體,稱為體素,體素的8個頂點叫做角點,如圖3所示。設定一個閾值T,遍歷每個體素中8個角點u(i,j,k)的數據值,與預先設定的閾值T進行比對,得出每個體素中角點的狀態值,小于預設閾值的標記為0,大于預設閾值的標記為1。根據狀態值找到存在等值點的體素。體素中的每一點可通過線性插值方法算出,其公式為:
p(x,y,z)=k0+k1x+k2y+k3z+
k4xy+k5xz+k6yz+k7xyz
(6)
其中,ki=(i=0,1,…,7)是由角點唯一確定的常數。提取出的等值點,由式(6)計算出其灰度值,再以某種拓撲形式連接成三角面片,拼接形成等值面,即

等值面的正確連接需要通過線性插值方法計算出等值點坐標和法向量,計算公式為:
(7)
(8)
其中:C為等值點坐標,C1、C2為等值點兩端點坐標;N為法向量,N1、N2為兩端點法向量;T1、T2為兩端點灰度值。

圖3 Marching Cubes算法中體素
根據VTK可視化的基本流程,Marching Cubes算法中對等值面的提取由vtkContourFilter類來實現;在數據處理過程中vtkContourFilter類完成了對三角面片的消減,并通過vtkSmoothPolyDataFilter類對圖像進行平滑處理;vtkPolyDataNormals 類在等值面上產生法向量,最后通過vtkStripper 類將在等值面上產生的三角面片連接。CT圖像面繪制效果如圖4所示。

圖4 CT圖像面繪制效果
4.2 CT圖像的體繪制
基于VTK的體繪制主要有Ray Casting法、紋理映射法和基于硬件的VolumePro法[12]。其中,Ray Casting法能夠更好地保留數據內容,且計算速度快,因此,本文采用Ray Casting法對CT圖像進行體繪制。Ray Casting法是對圖像進行空間掃描,生成高清晰圖像。其原理如圖5所示,在由屏幕上每一像素點發出的一條穿過三維體數據場的射線上設置采樣點,采樣點間的距離相等;將某一采樣點周圍,距離其最近的8個數據點組成一個體素,并對這個體素的顏色值和不透明度分別進行三次線性插值計算;由此求出全部采樣點的顏色值及不透明度并分別對它們進行合成,合成方式可以是從前到后或從后到前[13-15]。本文采用從前到后的合成方式,其公式為:
(9)
(10)
其中:CVi、OpVi分別為第i個采樣點的顏色值和不透明度;CINi、OpINi為采樣點進入第i個體素的顏色值和不透明度;COUTi、OpOUTi為采樣點與第i個體素合成后的顏色值和不透明度。在全部采樣點通過式(9)、(10)處理后,此數據場的體繪制完成。

圖5 Ray Casting法
體繪制過程一般分為投射、消隱、渲染和合成4個步驟。VTK中對Ray Casting法提供了3種函數:最大密度投影函數vtkVolumeRayCastMIPFunction、等值面繪制函數vtkVolumeRayCastIsosurfaceFunction和合成體繪制函數vtkVolumeRayCastCompositeFunction。體繪制時,為了得到更加精準的效果,需要定義不透明度傳遞函數、顏色傳遞函數和梯度傳遞函數三個函數。在CT數據讀入后,利用vtkPiecewiseFunction類對傳遞函數進行設計,數據通過傳遞函數后其灰度值轉換成顏色值、梯度或不透明度等[16]。本文選用由vtkVolumeRayCastCompositeFunction類定義的光線合成函數進行繪制。當全部數據經過Ray Casting法計算后,再對數據進行窗口繪制、顯示、交互等處理,完成體繪制。CT數據的體繪制效果如圖6所示。

圖6 CT圖像體繪制效果
體繪制中,對不同的物質分配相應的透明度,可以將各物質間的形狀特征和層次關系對比出來,因此,透明度的引入提高了數據的整體顯示效果。
本文將VTK可視化工具包應用到醫學CT斷層圖像的重建中,明顯提高了可視化性能和可視化效果。在可視化性能和效果方面,首先,通過面繪制可以實現對骨骼表面信息的獲取,為分割等操作提供了整體信息,也為進一步的深入分析提供了基礎研究平臺。其次,體繪制能夠保存數據較豐富的三維信息,對面繪制中部分信息的缺失進行了彌補。同時,對CT數據可視化過程中需要處理大量的二維斷層數據的問題,VTK具有的高速緩存能力,可以處理大規模數據并提供技術支持。在人機交互方面,能夠直接通過鼠標對重建后的三維模型進行大小、視角方位等方面的調整操作,便于研究者對重建圖像的全方位觀察,提高了系統的人機交互能力,有利于精準提取有用信息。因此,以可視化工具VTK為平臺對醫學CT圖像進行三維可視化,提高了可視化的性能和效果,完善了人機交互系統,為測量內部結構參數以進行后續研究提供了理論和技術基礎,具有很好的應用價值。
[1] 黃姍姍,王博亮,閔小平. 基于VTK的可視化技術的研究[J]. 中國數字醫學,2007,3(1):31-34.
[2] 鄭 健,俞 杭,蒯多杰,等. 多層CT重建算法對比研究[J]. CT理論與應用研究,2012,21(4):678-687.
[3] Johann Radon. On the Determination of Functions From Their Integral Values Along Certain Manifolds[J]. IEEE Transactions on Medical Imaging,1986,5(4):170-176.
[4] 王志偉,于 強,舒春梅,等. 計算機模擬CT濾波反投影重建的方法化[J]. 中國醫學物理學雜志,2010,27(2):1737-1740.
[5] 蘭勇生,渠剛榮,郝春雷. 滿三維圖像重建的卷積反投影算法[J].中國體視學與圖像分析,2005,10(3):170-173.
[6] 張順利,李衛斌,唐高峰. 濾波反投影圖像重建算法研究[J]. 咸陽師范學院學報,2008,23 (4):47-49.
[7] William J Schroeder. The VTK User’s Guide[M]. Kitware. USA, 2001.
[8] 洪 濤,潘志方,林立本,等. VTK醫學圖像三維重建應用及實現[J]. 計算機系統應用,2011,20(4):127-131.
[9] 張 翔,陳勝勇. 利用VTK的DICOM圖像的顯示與信息的讀取[J]. 人工智能及識別技術,2011,7(10):2343-2344.
[10] 陳文文,姜富春,車翔玖. 基于面繪制的醫學序列圖像三維重建[J]. 計算機工程與應用,2012,48(16):168-172.
[11] 許婉璐,李 彬,田聯房. 基于MC算法的高質量脊椎CT圖像三維重建[J]. 計算機應用與軟件,2013,30(6):80-83.
[12] 呂金坤. 基于VTK的工業圖像三維可視化技術研究[D]. 太原:中北大學,2013.
[13] 韓成虎,韓成龍,邱文峰. CT圖像三維重建系統的設計與實現[J]. 現代計算機,2013(2):54-57.
[14] 張振東. 基于Matlab的CT圖像三維重建的研究與實現[J]. 電子世界,2013,2(3):87-88.
[15] 羅火靈,許永忠,陳世仲. 基于VTK和MFC的醫學圖像三維重建研究與實現[J]. 生物醫學工程學進展,2010,31(1):23-28.
[16] 韓成虎. CT圖像三維重建技術的研究與應用[D]. 廣州:華南理工大學,2010.
Study on 3D Reconstruction and Visualization Technology of CT Image Based on VTK
WANGDong-xin,LIZhe
(College of Instrumentation and Electrical Engineering, Jilin University, Changchun 130061, China)
In medical computer assisted instruction and clinical diagnosis, 3D visualization of medical CT data can help researchers to observe and detect the internal information. In view of this, in order to achieve better visual effect of medical CT images, we propose an development platform based on visualization toolkit and VC++6.0, and analyze the basis composition and the principle of VTK. Marching Cubes algorithm of surface render and Ray Casting algorithm of volume render are used to realize 3D visualization of CT images. Experimental results show that this algorithm can effectively obtain the good 3D reconstruction effect of CT images.
3D visualization; VTK; surface render; volume render
2015-01-10
國家自然科學基金(41074082)
王冬欣(1988-),女,吉林吉林人,碩士生,主要研究方向:CT圖像處理。Tel.:15164373204;E-mail:dxwang24@163.com
李 哲(1973-),男,吉林長春人,碩士生導師,主要研究方向:計算機X射線攝影,圖像處理。E-mail:lizhemail@qq.com
TP 391.41
1006-7167(2015)08-0108-04