嚴華剛,付璇,錢雅君,黃菊英,李海云
首都醫科大學 生物醫學工程學院,北京 100069
基于VTK的任意平面CT圖像二維交互分割初步研究
嚴華剛,付璇,錢雅君,黃菊英,李海云
首都醫科大學 生物醫學工程學院,北京 100069
研究利用VC++6.0進行基于VTK(Visualization Toolkit)的三維CT圖像任意平面的二維交互分割軟件的開發。用VTK實現了從三維顯示中選取任意方位平面以及該平面對應圖像的三維與二維顯示,研究在VC++6.0創建的二維視圖中進行輪廓勾畫和區域生長的功能,實現了在三維圖像中將區域生長結果疊加于原二維圖像的功能。
CT機;CT圖像;VTK;圖像分割
課題背景:本課題受國家自然科學基金(項目編號:30670576)資助,主要研究基于影像特征的椎體成形術的圖像仿真研究,前期部分包括椎體及周圍組織的幾何形態的特征信息提取與分析,為臨床椎體成形術的實施提供圖像指導、分析和評估。
偏倚或不足:本研究實現了多層面CT圖像在任意平面的二維交互分割和初步結果顯示,進一步的工作將進行三維幾何形態特征信息的提取與分析。
應用要點:為椎體成形術的臨床介入治療提供一種圖像仿真分析系統,有利于降低手術風險,提高介入治療質量。
目前臨床上已普遍采用螺旋CT機進行CT成像,所獲得的圖像具有分辨率高、可三維重建等優點,但也有CT圖像普遍存在軟組織對比度較差的缺點。CT應用于神經系統的成像取得了巨大的成功,但主要局限于腦成像,應用于周圍神經系統時受限于較差的分辨率以及周圍組織結構的復雜性。
螺旋CT機工作站上配備的軟件一般可根據所得的三維圖像重建出任意斜面的二維圖像,以利于醫生的觀察。對于周圍神經系統而言,這一點尤為重要,原因在于神經走行方向復雜,任意斜面的二維重建意味著能在多個方位觀察神經。美中不足的是,由于神經組織與周圍組織對比不是特別顯著,不是在每個方位上都能清楚分辨神經走行,特別是最常用的軸位,神經往往難以辨識,一方面由于在脊柱周圍組織結構復雜,另一方面由于神經纖維大多上下走行,軸位的截面積很小。但是如果在神經走行的平面上觀察,則往往能得到相對清晰的結果。目前螺旋CT機工作站上所裝的自動分割軟件基本上基于三維圖像或軸位圖像,要求圖像本身有足夠好的對比度。對于周圍神經這樣的結構,其CT圖像的分割往往需要醫生的經驗,因此,如能把自動分割與交互分割結合起來,無疑是最理想的。
現有大多數CT圖像工作站不提供斜面的交互分割操作,對于周圍神經系統的成像而言,這是個很大的缺點。開發一種支持醫學三維圖像在任意平面進行交互分割的圖像處理軟件將有助于解決這個問題。如能結合自動分割功能,無疑能使周圍神經實現理想的三維可視化。
VTK是目前應用最廣泛的三維圖形圖像工具集之一[1,2],它提供了三維圖形圖像的讀取、顯示、觀察和操作等一系列工具。本課題旨在研究借助VTK所提供的圖形圖像功能,利用MFC(Microsoft Foundation Class)所提供的友好用戶界面[1-5],實現CT圖像在任意平面的二維交互分割,為將來實現自動分割與交互分割的結合奠定基礎。
本軟件的開發基于VC++6.0,用戶界面采用了MFC,對CT圖像的各種操作則借助了VTK所提供的類庫。為了實現二維圖像的交互操作,需要從三維圖像中選取能隨意調整方位的平面。因此本軟件設計為三個視圖,左視圖為三維顯示,右視圖為平面對應圖像的二維顯示。左視圖還利用VTK自帶的多顯示端口功能,分為兩個顯示端口,上端口顯示三維體積圖,下端口顯示三維平面圖,如圖1所示。

圖 1 平臺的三個視圖設計
本研究采用了VTK所提供的VtkDICOMImageReader類讀取DICOM圖像,該類目前無法直接讀取三維圖像文件和壓縮文件,它讀取的是CT工作站導出的、存放于某一目錄下的系列二維CT圖像。
VTK提供了多種三維立體顯示方案,包括表面繪制和體繪制。本研究為方便起見,采用了體繪制中的最大密度投影法,其中有一個函數SetSampleDistance()可控制體繪制的速度,它設置體繪制樣本點之間的距離,距離越大,樣本點越少,繪制速度越快,缺點是繪制更不精細。但這一步驟僅為選取平面提供背景,不影響后續步驟中計算出的二維圖像。一般情況下,為了提高速度可將樣本點距離選擇在8.0以上。
本研究所設計的交互操作包括三個方面,首先是從三維圖選取任意取向的二維圖像,其次是對選取的圖像進行組織器官勾畫,界定模糊的組織器官邊界,再次是利用勾畫結果以及圖像本身能清晰顯示輪廓進行分割,采用的方法是區域生長。
3.1 從三維圖像選取任意方位的二維圖像
VTK提供了一個在三維環境下進行任意平面選取的工具,對應的庫為vtkImplicitPlaneWidget,它提供了交互式改變平面法線方向和平面位置的功能。為了取得此交互工具所得的平面參數(法線方向和平面原點),還需定義一個VTK平面類vtkPlane的對象。最后定義一個回調類來響應對vtkImplicitPlaneWidget的操作,并在此回調類中給對應的vtkPlane對象賦值。VTK為回調類提供了一套接收VTK的鍵盤和鼠標消息的方法。
回調類中還在平面法線和原點的基礎上定義了二維圖像的兩個正交坐標(記為x’和y’坐標,此定義有一定的隨意性)的方向矢量nx’和ny’。之后即可利用VTK中的vtkImageReslice類來計算該平面切割出的二維圖像。回調類中還定義了獲得平面參數后左視圖下顯示端口以及右視圖的更新。這樣只要調節vtkImplicitPlaneWidget平面,即可根據所選平面顯示對應圖像的三維顯示和二維顯示。
vtkImageReslice類所得數據的類型為vtkImageData,VTK為此類數據提供了可讀取和修改像素數值的指針。后續的勾畫以及區域生長都根據該指針對二維圖像進行操作。
3.2 對選取圖像的勾畫
VTK本身有一套對二維和三維圖像進行交互操作的工具(vtkRenderWindowInteractor),而且也有自帶的利用了MFC并能與VC++6.0融合的類(vtkMFCWindow),但該類的鼠標和鍵盤響應都被vtkRenderWindowInteractor所接管,包括上面的回調類,也是通過vtkRenderWindowInteractor實現消息響應的。不過可通過修改vtkMFCWindow類來修改和自定義有關鍵盤和鼠標響應的操作。勾畫結果能即時地顯示在視圖上,勾畫完可相應地將勾畫結果寫入圖像數據,使模糊的組織器官邊界通過醫生的經驗加以界定,輔助后續的區域生長。
3.3 基于勾畫結果與清晰邊界的區域生長
勾畫完成后,加上圖像本身能清晰顯示的邊界,意味著在二維圖上該結構的邊界已完全確定,剩下的只需通過區域生長將其輪廓“采集”下來,為防止區域生長過程跨越勾畫輪廓,我們采用了四個方向的生長,結果表明這不會對區域生長的范圍造成實際的負面影響。圖2給出了一個勾畫與區域生長的實例(為清晰起見,未對神經進行勾畫)。

圖 2 基于勾畫結果與清晰邊界的區域生長
在左視圖的下顯示端口可將區域生長出來的輪廓線疊加到三維圖像中。實現這一步需將輪廓的二維平面坐標轉換為三維顯示的空間坐標。此坐標變換實際利用的是矢量疊加原理。如圖3所示,。

圖 3 從二維圖像坐標到三維空間坐標的轉換
設二維像素點在二維圖像中的坐標為x'和y',其原點O'在三維空間中的坐標為(x0, y0, z0),由于二維圖像的x'軸和y'軸在三維空間的方向矢量分別為nx'和ny',因此該像素點的三維坐標為:

其中括號的下標表示括號內矢量在x, y或z方向上的分量。
將生長的輪廓轉換到三維空間后,可疊加顯示在二維圖像上,結果如圖4所示。

圖 4 二維交互分割結果的顯示
本研究所開發的軟件尚有代碼效率不夠高、區域生長參數調節不夠靈活等缺點,在進一步的開發中這些問題將被逐步解決,以提高用戶友好性。
軟件實現了三維CT圖像任意平面二維交互分割的基本操作,為將來實現三維自動分割與交互分割的結合奠定了基礎[6-8]。本研究將為臨床醫生提供一種能在普通PC機上實現的三維圖像分割功能,在實現CT圖像軟組織的三維分割方面將有重要的應用價值,特別是將改變CT圖像對周圍神經顯示不夠直觀的現狀,提高其對周圍神經系統的診斷價值。
[1] Schroeder W J. The VTK User's Guide[M]. 4th ed. New York:Kitware Inc., 2001.
[2] 王利,姜紅,張兆臣,等.基于VTK的虛擬手術系統中的關鍵技術[J].中國醫療設備,2009,24(5):58-59.
[3] 姚領田. MFC窗口程序設計[M].北京:中國水利水電出版社,2007.
[4] 郭圣文.集成化三維虛擬手術系統的設計[J].中國醫學影像技術,2006(26):1894-1897.
[5] 宋海友.基于VTK的醫學圖像三維重建及其可視化技術研究[D].成都:成都理工大學,2006.
[6] 邢英杰,張少華,等.虛擬手術系統技術現狀[J].計算機工程與應用,2004,40(7):88-90.
[7] 李嘉,胡懷中,等.可視化三維圖形庫Visualization ToolKit3.2的原理及應用[J].計算機應用與軟件,2004,21(2):5-7.
[8] 宋海友.基于VTK的醫學圖像三維重建及其可視化技術研究[D].成都:成都大學,2006.
Preliminary Investigation on the 2D Interactive Segmentation of CT Image in Arbitrary Plane Based on VTK
YAN Hua-gang, FU Xuan, QIAN Ya-jun, HUANG Ju-ying, LI Hai-yun School of Biomedical Engineering, Capital Medical University, Beijing 100069,China
TP311.52
A
10.3969/j.issn.1674-1633.2010.05.006
1674-1633(2010)05-0021-03
2009-08-18
2010-02-26基金項目:國家自然科學基金項目(30670576)資助。
李海云,教授,碩士研究生導師。
作者郵箱:h_g_yan@yahoo.com.cn
Abstract: The development of software of 2D interactive segmentation on arbitrary plane of a 3D CT image based on VTK using VC++6.0 is investigated. In particular, the selection of a plane in arbitrary orientation from the 3D rendering is implemented using VTK, the functions of contour drawing and region growth in a 2D view created with VC++6.0 is achieved, and the superposition of the region growth result onto the original 2D image in the 3D space is also realized.
Key words: CT; CT Image;VTK;image segmentation