賀楠楠,李向陽
(1.汝州職業(yè)技術學院,河南平頂山 467500;2.河南女子職業(yè)學院,河南鄭州 450000)
醫(yī)學圖像三維重建分為面繪制與體繪制。面繪制的方法有立方塊法、移動立方體法、移動四面體法、剖分立方體法和表面跟蹤法,最常用的是移動立方體法[1]。體繪制方法的原理是模擬光線穿過半透明的三維數(shù)據場,并計算三維數(shù)據場中的數(shù)據點對屏幕像素的投影貢獻,即把三維離散的數(shù)據場按照一定的規(guī)則轉換為圖像設備屏幕上的二維圖像[2]。
醫(yī)學圖像三維重建體繪制分為從圖像空間開始處理的體繪制、從物體空間開始處理的體繪制和變換域體繪制。從圖像空間開始處理的體繪制是從二維圖像像素開始處理的體繪制,最常用的算法是光線投射法。從物體空間開始處理的體繪制是從三維數(shù)據場中的數(shù)據點開始進行處理的體繪制。其原理為按順序計算每個數(shù)據點對二維投影圖像像素的貢獻,并加以合成,形成最終的二維投影圖像。常用的算法有拋雪球法、錯切形變法和紋理映射法等。變換域體繪制有頻域體繪制法和基于小波的體繪制法[3]。
光線投射法的基本原理:三維數(shù)據場為規(guī)則數(shù)據場,即三維數(shù)據點均勻分布在規(guī)則網格的網格點上。先把三維數(shù)據點按灰度值分類,再對數(shù)據點賦予相應的顏色值和不透明度值,然后重采樣并合成圖像。
1)數(shù)據分類
三維數(shù)據點要分為不同的類別來表示不同的物質。CT圖像常使用閾值分類法把數(shù)據分為不同的類別。閾值分類法設定一個區(qū)間內的數(shù)據點為人體組織中的同一種物質,多個區(qū)間表示不同的器官組織。若三維數(shù)據場中數(shù)據點灰度值為I(x,y,z),則滿足如下條件的數(shù)據點被歸為同一類。
2)顏色和不透明度賦值
二維斷層圖像為灰度圖像,人眼對彩色圖像的敏感度更高。不同的器官組織用不同的顏色標識會增加辨識度。根據數(shù)據分類的結果給不同灰度的數(shù)據點賦予不同的顏色值,灰度圖像轉化為偽彩色圖像。
顏色賦值是把灰度值按照一定的函數(shù)關系變換為彩色值。常用的一種映射函數(shù)如圖1 所示,可調整min、a1、a2、a3、max 的值,使物質的分類區(qū)間對應相應的色帶,即每個色帶區(qū)對應某種物質[4]。
圖1 顏色映射函數(shù)
體繪制要顯示三維數(shù)據場的內部結構,還要根據分類結果為每個數(shù)據點的灰度值賦予不透明度值α,α 值一般設定為跟灰度值呈線性關系,并且α值在0-1范圍內。
3)重采樣
按照一定的視線方向,從二維圖像的每個像素點發(fā)出一條射線,穿過三維數(shù)據場。沿這條射線取n個等距的采樣點,計算采樣點的顏色值和不透明度值[5]。圖像所處平面是二維坐標空間,而采樣點所處的是三維坐標空間,因而要進行坐標系的轉換。
根據視線方向從圖像的像素點(a,b)(物體空間中為點t)發(fā)出的射線S為:
式中,d為采樣間隔,k為采樣點序號。
采樣點鄰近的8 個數(shù)據點為q0、q1、q2、q3、q4、q5、q6、q7,其對應的顏色值(或不透明度值)為m0、m1、m2、m3、m4、m5、m6、m7,點r11、r12、r21、r22為采樣點所在平面(平行于坐標軸平面方向)截8個數(shù)據點所在立方體的分點,由線性插值法可得:
令r1、r2處的顏色值(或不透明度值)為t1、t2,由線性插值法可得:
q點的顏色值(或不透明度值)為m,由線性插值得:
圖2 三線性插值
4)圖像合成
圖3 光線投射法體繪制
圖像合成的迭代算子分為由后向前的合成和由前向后的合成。由后向前的合成是從離視點最遠的采樣點開始順序合成到離視點最近的采樣點,而由前向后的合成則相反。如圖4所示,未參與合成的第i個采樣點的顏色值和不透明度值為Cnow和αnow,將要與i合成的前邊所有采樣點合成后的顏色值和不透明度值為Cin和αin,與第i個采樣點合成后的顏色值和不透明度值為Cout和αout。
圖4 顏色和不透明度的合成
由后向前的迭代公式如下:
由前向后的迭代公式如下:
由前向后的合成中不透明度值會慢慢增大,接近1 時,未參與合成的采樣點的顏色值和不透明度值將不會對像素點有太大貢獻,可忽略計算并加快繪制速度。光線投射法繪制速度比較慢、有半透明的效果并可顯示內部結構,因此有較高的圖像品質,但占用內存空間較大。
拋雪球法把三維數(shù)據場中每個數(shù)據點看作一個能量源,當每個數(shù)據點向二維圖像平面投影時,數(shù)據點的能量會擴散到二維圖像的像素點上。拋雪球法先對三維數(shù)據場的數(shù)據點進行分類并賦予顏色值和不透明度值,再計算三維數(shù)據場數(shù)據點對二維圖像像素的貢獻。通過對圖像像素有影響的采樣點重構核的空間卷積域積分來計算像素值,積分的次數(shù)是重構核空間卷積域的平面投影區(qū)域內的像素數(shù)乘以采樣點數(shù)。計算量比較大,所以一般使用足跡函數(shù)確定在任意觀察方向三維采樣點重構核空間卷積域的平面投影范圍,然后查詢足跡表獲得采樣點對屏幕像素的貢獻值,來提高繪制速度。拋雪球法的繪制速度比光線投射法速度快。
錯切變形法根據所設定的觀察方向分別計算錯切矩陣和變形矩陣,對構成三維數(shù)據場的斷層圖像序列按錯切矩陣進行錯切變換后投影合成,獲得中間圖像,然后對中間圖像使用變形矩陣變換得到投影圖像。錯切變形法把重采樣從三維降低到二維,減少了計算量,有接近實時的繪制速度,是最快的體繪制方法,并且不顯著降低圖像質量。
紋理映射體繪制分為二維紋理映射和三維紋理映射。二維紋理映射體繪制生成三個方向(三維數(shù)據平行于三個坐標平面方向)上的二維紋理切片并合成圖像。三維紋理映射體繪制先使用轉換函數(shù)把體數(shù)據轉換為具有一定的顏色值、光強度和不透明度值來構造三維紋理,再按照視線方向沿三個坐標軸Z軸、Y軸和X軸的順序依次裝入紋理切片,然后確定三維空間的坐標與紋理空間坐標的對應關系,最后把三維紋理切片從后向前堆疊合成圖像。紋理映射中的計算由硬件實現(xiàn),提高了運算速度[6]。
頻域體繪制分為傅立葉體繪制、哈特里體繪制和傅立葉小波體繪制。傅立葉體繪制把三維數(shù)據通過傅立葉變換得到三維頻域數(shù)據場,空間域沿任意方向θ的投影與頻域三維數(shù)據場中過原點沿同一方向的切片形成傅立葉變換對,即傅立葉投影——切片定理。體繪制圖像為三維數(shù)據場在二維平面上的投影。在三維空間域數(shù)據場轉換后的三維頻域場中截取與空間域中相對應的切片,并使用傅立葉逆變換來得到投影圖像。傅立葉變換把三維數(shù)據變換到頻域后,空間域的每個數(shù)據點都要用復數(shù)表示,比較耗內存。哈特里體繪制中三維數(shù)據變換到頻域后是實數(shù)數(shù)據,所以計算速度更快,內存占用空間小。傅立葉小波體繪制是使用傅立葉體繪制方法得到三維頻域數(shù)據和切平面提取,在頻域切平面上實現(xiàn)小波的多分辨率分解,并在不同分辨級上重建小波系數(shù),再通過傅立葉逆變換得到投影圖像。頻域體繪制中三維數(shù)據場的重采樣和信號重建都是在頻率域中完成的。頻域算法的計算速度優(yōu)于空間域算法,但圖像沒有半透明效果。
基于小波的體繪制有小波域光線投射法和小波域足跡法兩種算法。小波域光線投射法是把空間域光線投射法的光照模型在頻域上求解,顏色值和不透明度值都可以在小波域求出。小波域光線投射法繪制速度慢,可得到高品質、半透明、有明暗度的圖像,但內存開銷比較大。小波域足跡法是把體數(shù)據分解為不同分辨率上的離散平滑逼近和離散細節(jié)信號,用小波作為重構濾波器,用平滑逼近信號重建出低分辨率級上的三維圖像,然后增加細節(jié)信號逼近繪制出三維圖像。小波足跡法繪制速度快,圖像品質不如光線投射法和小波域光線投射法[7]。
體繪制比面繪制具有更慢的繪制速度,可以顯示物體內部的結構?;贑UDA的并行計算[8]和基于GPU的并行編程平臺可以加快體繪制的速度[9]。VTK 是開源的、跨平臺的可視化函數(shù)庫,可實現(xiàn)醫(yī)學圖像面繪制和體繪制的多種算法[10]。OpenGL是三維工具軟件包,也可以實現(xiàn)面繪制與體繪制。