摘要:醫學影像三維可視化技術利用二維醫學圖像序列重建出三維模型,為醫生提供了直觀、全面、準確的病灶和正常組織信息,是當今醫學領域研究的熱點。其中最有代表性的是由W.E korenson和H.E.Cline在1987年提出來的Marching Cubes方法。本文主要介紹了MC方法的原理和實現,并實現了基于MFC與OpenGL兩項技術的高精度,高效率面繪制程序。
關鍵詞:醫學影像 三維可視化 MC 精度 效率
中圖分類號:TP311 文獻標識碼:A 文章編號:1002-2422(2010)02-0109-02
三維重建方法主要分為面繪制和體繪制兩類。其中面繪制的主要思想是首先提取感興趣物體的表面信息,把體數據轉換為一系列三角形面片擬合的等值面,然后再根據光照、明暗模型進行消隱和渲染得到三維的顯示圖像。與體繪制比較,面繪制原理簡單、易于實現,有較高的效率,并由于目前的顯卡都可以對三角面片進行硬件加速的繪制,使它成為至今為止最具影響力的一種等值面構造方法,一直到現在為止在可視化領域的著名雜志和會議上還經常有針對MC方法的改進算法。使用面繪制可以輕易地完成對立方體素的三角面片構型確定,三角面片頂點坐標的計算,三角面片頂點法向量的計算,并最終完成對三維圖像的高精度完全重建。Marching Cubes算法的不斷完善和發展,使得提供直觀、逼真而且能夠包含原始信息中隱含的豐富內容的三維信息成為可能。通過圖形圖像技術,可以對影像進行任意放大、縮小、旋轉、對比調整、三維重建等處理,得到便于研究者從多角度、多層次進行觀察的三維模型。這對分析結果的準確性和正確性有深遠的意義。
1 MC算法
1,1 MC算法的原理
醫學圖像的三維重建的主要思想就是根據輸入的大量的醫學斷層圖像,經分割和提取處理之后,重建出可視的三維圖像。這些三維圖像在大多數時候是用計算出來的大量的三角面片逼近表示。所以如何計算出這些三角面片信息是三維重建的關鍵。Marching Cubes算法是基于體素的三維物體表面重構方法,其基本原理是首先找出經過該等值面的體元,求出該體元內的等值面并計算出相關參數,通過這些參數在物體表面通過的每一個體素內構造三角面片。整個重建物體由這些三角面片連接組成。并且在OpenGL中提供了相應的處理三角面片信息的接口函數,可以進一步提高成像速度。Marching Cubes算法不必考慮分叉問題,并且全局的拓撲結構已經由局部拓撲處理所確定,適用于密集體數據的重建。
Marching Cubes算法的過程可以描述如下。
(1)每次讀取兩張切片,形成一層(Laver)。
(2)每個laver中上下兩切片對應的相鄰四個像素構成一個立方體(Cube):
(3)按從左至右,從上到下的順序提取cube,并對ca-be根據所給閾值進行計算處理,然后再按從下到上順序處理到最后一層。每個cube需要按照所給閾值進行處理,如果一個頂的灰度值在所給閾值之間,則將它標記為1,而小于閾值的記為0,這樣就可以根據所有點標記情況判斷出等值面與cube的相交情況,進而得到相應三角面片表示形式。所有的三角面片表示情況共有256種,去掉對稱情況,再經過相應旋轉可最終確定十五種情況,如圖1所示。
(4)將計算出來的全部三角面片信息使用OpenGl提供的三角面片繪制函數進行繪制,便可得到最終的三維成像結果。
1,2 MC算法存在的問題
標準MC算法產生的三角面片數量過多,包含了大量冗余信息,從而使重建圖像顯示時間過長。重建后圖像也難以實現實時交互顯示,其結果不能滿足醫學應用所要求的交互速度。并且醫學圖像的數據量本身就十分巨大,現在螺旋CT圖像的分辨率已經達到512×512,有些甚至達到1024×1024,所以MC方法面對的最大的問題之一就是如何在不降低成像結果質量的同時盡可能的減少三角面片的數量。
1,3改進的MC算法
針對MC的以上缺點,本文采用中點選擇法進行優化。由于目前大多數的CT機成像質量很高,所以每個cube的在整體所占的體積比重變得越來越小,這就使得在cube中的計算誤差對成像結果幾乎沒有影響,所以本文中舍棄每個cube的邊的交點位置計算而直接使用邊的中點作為交點,這樣不僅加快了成像速度,對成像結果也不會有明顯影響。中點選擇法的核心公式如下:
P=(P1+P2)/2 N=(N1+N2)/2
其中,P代表等值點坐標;P1,P2代表兩個端點的坐標:N代表等值點法向量;N1,N2從代表兩個端點的法向量。
中點選擇法引起的誤差低于1/2立方體邊長,這在醫學圖像的分辨率越來越高的情況下,對成像結果并沒有明顯的視覺上影響。而且如果先放大10倍再進行運算,就可以完全采用整數運算,進而避免浮點運算。相鄰cube在經過計算后,在相同的棱邊上會得到相同的交點,這樣可以使得局部表面更平坦,有利于后續的化簡過程。
2 實驗與分析
2,1圖像的采集
三維可視化的體數據是由ET掃描的腹部切片圖像,圖像深度為24位,分辨率為512×512×100,數量為20張,象素間距為0.735mm,層間間距1mm。
2,2三維可視化結果
在Dell vostro 1400,l GB內存,顯卡為NVIDIAGe-Force 8400M GS的PC機上,按照本文所采用的MC算法,實現對三組腹部CT圖像的三維可視化。
在圖2中,(a)(b)(c)為三組GT腹部圖像的三維可視化結果,通過觀察,三維可視化效果比較理想,在沒有過多損失成像結果質量的情況下大幅度的提高了運算速度。因此,本文算法有一定的優越性。
3 結束語
本文提出了基于改進的MC算法,實現了CT腹部圖像的三維可視化,實驗表明改進后的算法具有一定的可行性,能夠提高三維成像的效果。
但是,本文算法也存在著一定的局限性,可視化之后的三維圖像仍然缺乏一定的確定性,不能十分精確的實現對物體某一特定區域的三維可視化,因此,準確的可視化物體的某一特定區域是今后繼續研究的課題。