謝 凱,盧光躍 (長江大學電子信息學院,湖北荊州434023)
整形外科手術(shù)難度高,危險性大,而且必須容貌與功能兼顧。整形外科對影像學提出了較高的要求,要求術(shù)前必須準確診斷,確定病變范圍,提供三維立體視覺,顯示復雜的空間結(jié)構(gòu),準確測量三維形態(tài)參數(shù),設計手術(shù)路徑和方案,模擬手術(shù),預測手術(shù)對面容的影響等。為了滿足整形外科的臨床需求,CT三維重建輔助整形手術(shù)系統(tǒng)開始出現(xiàn),它是最近的十多年間興起的新興交叉學科,一直是國內(nèi)外研究與應用的熱點[1~3]。
筆者對整復外科虛擬手術(shù)技術(shù)進行深入研究,提出了面向整復外科虛擬手術(shù)的三維切割模擬算法。
基于表面重建的三維切割模擬流程如圖1所示。
圖1 基于表面重建的三維切割模擬流程圖
構(gòu)造合適的切割體,如立方體、球、NURBS曲面等,將曲面放置在合適的切割位置上,得到曲面相對于模型的位置。根據(jù)選定的切割體和切割體與模型的相對位置,利用體數(shù)據(jù)空間隱函數(shù)來表達切割體。
在模型空間,用隱函數(shù)表示切割體。假設表示切割體的隱函數(shù)為f(X),其中X=(x,y,z)T為模型空間中的坐標,那么P={X|f(X)=0}表示切割體表面上的所有點的集合;P={X|f(X)>0}表示切割體內(nèi)部的所有點的集合;P={X|f(X)<0}表示切割體外部所有點的集合。
得到切割體在模型空間的隱函數(shù)表達以后,必須將隱函數(shù)表達從模型空間轉(zhuǎn)換為體數(shù)據(jù)空間。從體數(shù)據(jù)空間到模型空間經(jīng)歷了2次變換,第1次變換為縮放變換(由于體數(shù)據(jù)在x,y,z方向的間距不同),以恢復數(shù)據(jù)的原始比例,假設變換矩陣為:
式中,Xspacing、Yspacing、Zspacing為體數(shù)據(jù)在x,y,z方向上的網(wǎng)格間距。第2次變換為在模型空間的幾何變換(旋轉(zhuǎn),平移變換),變換矩陣用Mg。假設體數(shù)據(jù)空間內(nèi)坐標為 X′=(x′,y′,z′)T在模型空間的對應點的坐標為那么:
因此在體數(shù)據(jù)空間切割體對應的隱函數(shù)為:
如果切割體形狀比較復雜,不能用單個函數(shù)表示,那么可以通過函數(shù)的組合表示,例如如果切割體為一個半球,就可以用一個完整的球和一個平面組合而成。下面給出一部分通用的隱函數(shù)組合規(guī)則。
假設有2個切割體在體數(shù)據(jù)空間可以用隱函數(shù)F1(X)和F2(X)表示。
切割體的交集為:
那么對應的隱函數(shù)為:
切割體的并集為:
對應的隱函數(shù)為:
切割體的補集為:
對應隱函數(shù)為F(X)=-F′(X)。
得到切割體在體數(shù)據(jù)空間的隱函數(shù)表達之后,利用已知的切割體隱函數(shù)處理原始體數(shù)據(jù)。對于體數(shù)據(jù)網(wǎng)格上的每一點計算隱函數(shù)的值,如果值小于0,那么該點位于切割體的外部,如果值大于0,那么該點位于切割體的內(nèi)部,根據(jù)隱函數(shù)的值判斷當前點是否應該被切除。如果當前點應當被切除,那么將該點的值設為數(shù)據(jù)允許的最小值,否則保留原來的數(shù)值。這樣就可以把需要的體數(shù)據(jù)部分保留了下來。
利用表面重建算法[4],從處理過的體數(shù)據(jù)重建等值面[5~6],然后采用合適光照模型就可以得到切割后的效果圖。
圖2 三維整形手術(shù)模擬平臺
顱面部結(jié)構(gòu)復雜,是多個重要器官集中區(qū),同時又關(guān)系到容貌,涉及顱面部的外科手術(shù)難度高,危險性大,而且必須容貌與功能兼顧。顱面部整形外科對影像學提出了較高的要求,要求術(shù)前必須準確診斷,確定病變范圍,提供三維立體視覺,顯示復雜的空間結(jié)構(gòu),準確測量三維形態(tài)參數(shù),設計手術(shù)路徑和方案,模擬手術(shù),預測手術(shù)對面容的影響等?;贑T圖像的三維手術(shù)模擬是當今的一大熱點,因為它克服了以前方法的局限性。以人機交互方式即利用鼠標移動截骨塊,截骨塊可在三維坐標方向上同時進行移動和旋轉(zhuǎn),系統(tǒng)可以自動輸出相應截骨塊在三維方向變化的數(shù)據(jù) (見圖2)。
該系統(tǒng)采用基于CT圖像的三維手術(shù)模擬,系統(tǒng)平臺采用Visual C++6.0來實現(xiàn),用到了Pixel Shader 2.0[7~8],在配有Pentium4 2.4GHz CPU、NVIDIA Geforce 6600顯卡 (128M)的PC機上進行測試。手術(shù)模擬是在接近真實解剖形態(tài)的立體模型上施行,截骨手術(shù)模擬與實際手術(shù)操作大致相同。根據(jù)測量診斷結(jié)果選擇整形模式,并預設截骨段在三維軸向上的移動距離和旋轉(zhuǎn)的角度。系統(tǒng)即按預設參數(shù)自動模擬經(jīng)典的顱面外科截骨整形手術(shù)。
下面利用一個眶距增寬癥的病例說明三維整形手術(shù)模擬平臺的應用。
眶距增寬癥 (orbital hypertelorism)是一種嚴重的顱面部畸形,矯形手術(shù)是唯一的治療方法。截骨方式如圖3(a)和圖3(b),矯正后患者內(nèi)側(cè)眶距為20mm。
圖3 截骨前(a)與截骨整形后(b)的顱骨示意
在己經(jīng)建立的三維顱面模型的基礎上,進行顱面三維截骨手術(shù)的模擬??紤]患者的畸形特征,由醫(yī)生根據(jù)測量的數(shù)據(jù)和臨床經(jīng)驗進行模擬手術(shù)方案設計。患者顱面圖像顯示于圖像終端,操作者按手術(shù)類型選取標志點,劃出截骨線,位于截骨線上的所有邊界像素構(gòu)成 “切割線”輸入并存儲于系統(tǒng);所有邊界像素均予以標記,使 “截骨段”由邊界像素切割線界定為獨立、有確定大小和厚度的多面體操作塊。該切割線的所有輪廓點都經(jīng)過世界坐標到屏幕坐標的轉(zhuǎn)換并標記到頭顱圖像上,輪廓線不連續(xù)之處則予以插值。通過設定骨塊的參數(shù),可以將骨塊移動到任何預定位置,如果效果不滿意可以重復操作,直到滿意為止。
與上海第九醫(yī)院合作,對眶距增寬癥的三維截骨手術(shù)進行了模擬,眶距增寬癥的三維截骨手術(shù)模擬示意圖如圖4所示。從術(shù)前骨組織畸形情況,可以看到患者眶間、鼻骨、梨狀骨中央廣泛骨組織增生,眶間距49.06mm(正常人不超過28mm);另外,此患者兩側(cè)眶向外、向后、向下扭轉(zhuǎn),眶橫徑與標準平面夾角分別為-0.8°和-1.5°(正常人為+4~+8°)。因此,手術(shù)的目的就在于截除中央多余的骨質(zhì),并將兩側(cè)眶扭轉(zhuǎn)回正常形態(tài)。圖4(b)中將眶周分為3塊,中間部分拿下來另外用。圖4(c)把中間那塊骨頭縱向劈開。圖4(d)把兩側(cè)的骨塊移動到中間,中間劈開的骨頭,墊在兩邊的眼眶和顴骨、殘余的眶外側(cè)緣之間,這樣就基本上完成設計了。圖5為眶距增寬癥矯正手術(shù)前后病人的正面圖和側(cè)面圖,可以看到患者的外觀得到了極大的改善。
圖4 眶距增寬癥三維截骨手術(shù)模擬示意圖
圖5 眶距增寬癥矯正示意圖
筆者提出了一種基于表面重建的三維醫(yī)學切割模擬方法,并在該方法的基礎上設計并實現(xiàn)了三維整形手術(shù)模擬平臺,該平臺包含基于表面重建的三維切割模擬、三維移動造型、三維標定測量等功能。實際病例表明,該平臺能夠有效的完成整形手術(shù)規(guī)劃、模擬等功能,有著極大的醫(yī)學實用價值。利用該系統(tǒng)成功對眶距增寬癥的三維截骨手術(shù)進行了模擬,也可以很方便的進行顱面部其它虛擬手術(shù),可對任意部位隨意進行切割、分離、移動等操作,并可將不同的部分進行偽彩色染色。所有操作均可交互式反復進行。并且可以將虛擬手術(shù)過程以動畫和視頻的形式供醫(yī)生或病人及其家屬觀看。
[1]Durst M J.Letters:Additional Reference to Marching Cubes[J].Computer Graphics,1988,22(2):72~73.
[2]Lorensen W,Chine H E.Marching Cubes:A high resolution 3D surface construction alg orithm[J].Computer Graphics,1987,21(4),163~169.
[3]Xie Kai,Yang Jie,Zhu Y M.Interactive volume cutting of medical data[J].Computers in Biology and Medicine,2007,37(8),1155~1159.
[4]Xie Kai,Yang Jie.Real-time and Precise Collision Detection based on Surgery Simulation[J].Lecture Notes in Computer Science,2006,4091:164~170.
[5]Xie Kai,Yang Jie,Zhu Y M.Real-time rendering of 3D medical data sets[J].Future Generation Computer Sy stems,2005,21(4):573~581.
[6]Xie Kai,Yang Jie,Zhu Y M.Real-time visualization of large volume datasets on standard PC hardware[J].Computer Methods and Programs in Biomedicine,2008,90(2):117~123.
[7]Kessenich J,Baldwin D,Rost R.T he OpenGL shading language[EB/O L].http://www.opengl.org,2004.
[8]Fernando R,Kilgard M.The Cg Tutorial-The Definitive Guide to Programmable Real-Time Graphics[M].Addison Wesley,2003.