嚴(yán)華剛,付璇,錢雅君,黃菊英,李海云
首都醫(yī)科大學(xué) 生物醫(yī)學(xué)工程學(xué)院,北京 100069
基于VTK的任意平面CT圖像二維交互分割初步研究
嚴(yán)華剛,付璇,錢雅君,黃菊英,李海云
首都醫(yī)科大學(xué) 生物醫(yī)學(xué)工程學(xué)院,北京 100069
研究利用VC++6.0進(jìn)行基于VTK(Visualization Toolkit)的三維CT圖像任意平面的二維交互分割軟件的開發(fā)。用VTK實(shí)現(xiàn)了從三維顯示中選取任意方位平面以及該平面對(duì)應(yīng)圖像的三維與二維顯示,研究在VC++6.0創(chuàng)建的二維視圖中進(jìn)行輪廓勾畫和區(qū)域生長(zhǎng)的功能,實(shí)現(xiàn)了在三維圖像中將區(qū)域生長(zhǎng)結(jié)果疊加于原二維圖像的功能。
CT機(jī);CT圖像;VTK;圖像分割
課題背景:本課題受國(guó)家自然科學(xué)基金(項(xiàng)目編號(hào):30670576)資助,主要研究基于影像特征的椎體成形術(shù)的圖像仿真研究,前期部分包括椎體及周圍組織的幾何形態(tài)的特征信息提取與分析,為臨床椎體成形術(shù)的實(shí)施提供圖像指導(dǎo)、分析和評(píng)估。
偏倚或不足:本研究實(shí)現(xiàn)了多層面CT圖像在任意平面的二維交互分割和初步結(jié)果顯示,進(jìn)一步的工作將進(jìn)行三維幾何形態(tài)特征信息的提取與分析。
應(yīng)用要點(diǎn):為椎體成形術(shù)的臨床介入治療提供一種圖像仿真分析系統(tǒng),有利于降低手術(shù)風(fēng)險(xiǎn),提高介入治療質(zhì)量。
目前臨床上已普遍采用螺旋CT機(jī)進(jìn)行CT成像,所獲得的圖像具有分辨率高、可三維重建等優(yōu)點(diǎn),但也有CT圖像普遍存在軟組織對(duì)比度較差的缺點(diǎn)。CT應(yīng)用于神經(jīng)系統(tǒng)的成像取得了巨大的成功,但主要局限于腦成像,應(yīng)用于周圍神經(jīng)系統(tǒng)時(shí)受限于較差的分辨率以及周圍組織結(jié)構(gòu)的復(fù)雜性。
螺旋CT機(jī)工作站上配備的軟件一般可根據(jù)所得的三維圖像重建出任意斜面的二維圖像,以利于醫(yī)生的觀察。對(duì)于周圍神經(jīng)系統(tǒng)而言,這一點(diǎn)尤為重要,原因在于神經(jīng)走行方向復(fù)雜,任意斜面的二維重建意味著能在多個(gè)方位觀察神經(jīng)。美中不足的是,由于神經(jīng)組織與周圍組織對(duì)比不是特別顯著,不是在每個(gè)方位上都能清楚分辨神經(jīng)走行,特別是最常用的軸位,神經(jīng)往往難以辨識(shí),一方面由于在脊柱周圍組織結(jié)構(gòu)復(fù)雜,另一方面由于神經(jīng)纖維大多上下走行,軸位的截面積很小。但是如果在神經(jīng)走行的平面上觀察,則往往能得到相對(duì)清晰的結(jié)果。目前螺旋CT機(jī)工作站上所裝的自動(dòng)分割軟件基本上基于三維圖像或軸位圖像,要求圖像本身有足夠好的對(duì)比度。對(duì)于周圍神經(jīng)這樣的結(jié)構(gòu),其CT圖像的分割往往需要醫(yī)生的經(jīng)驗(yàn),因此,如能把自動(dòng)分割與交互分割結(jié)合起來,無疑是最理想的。
現(xiàn)有大多數(shù)CT圖像工作站不提供斜面的交互分割操作,對(duì)于周圍神經(jīng)系統(tǒng)的成像而言,這是個(gè)很大的缺點(diǎn)。開發(fā)一種支持醫(yī)學(xué)三維圖像在任意平面進(jìn)行交互分割的圖像處理軟件將有助于解決這個(gè)問題。如能結(jié)合自動(dòng)分割功能,無疑能使周圍神經(jīng)實(shí)現(xiàn)理想的三維可視化。
VTK是目前應(yīng)用最廣泛的三維圖形圖像工具集之一[1,2],它提供了三維圖形圖像的讀取、顯示、觀察和操作等一系列工具。本課題旨在研究借助VTK所提供的圖形圖像功能,利用MFC(Microsoft Foundation Class)所提供的友好用戶界面[1-5],實(shí)現(xiàn)CT圖像在任意平面的二維交互分割,為將來實(shí)現(xiàn)自動(dòng)分割與交互分割的結(jié)合奠定基礎(chǔ)。
本軟件的開發(fā)基于VC++6.0,用戶界面采用了MFC,對(duì)CT圖像的各種操作則借助了VTK所提供的類庫。為了實(shí)現(xiàn)二維圖像的交互操作,需要從三維圖像中選取能隨意調(diào)整方位的平面。因此本軟件設(shè)計(jì)為三個(gè)視圖,左視圖為三維顯示,右視圖為平面對(duì)應(yīng)圖像的二維顯示。左視圖還利用VTK自帶的多顯示端口功能,分為兩個(gè)顯示端口,上端口顯示三維體積圖,下端口顯示三維平面圖,如圖1所示。
圖 1 平臺(tái)的三個(gè)視圖設(shè)計(jì)
本研究采用了VTK所提供的VtkDICOMImageReader類讀取DICOM圖像,該類目前無法直接讀取三維圖像文件和壓縮文件,它讀取的是CT工作站導(dǎo)出的、存放于某一目錄下的系列二維CT圖像。
VTK提供了多種三維立體顯示方案,包括表面繪制和體繪制。本研究為方便起見,采用了體繪制中的最大密度投影法,其中有一個(gè)函數(shù)SetSampleDistance()可控制體繪制的速度,它設(shè)置體繪制樣本點(diǎn)之間的距離,距離越大,樣本點(diǎn)越少,繪制速度越快,缺點(diǎn)是繪制更不精細(xì)。但這一步驟僅為選取平面提供背景,不影響后續(xù)步驟中計(jì)算出的二維圖像。一般情況下,為了提高速度可將樣本點(diǎn)距離選擇在8.0以上。
本研究所設(shè)計(jì)的交互操作包括三個(gè)方面,首先是從三維圖選取任意取向的二維圖像,其次是對(duì)選取的圖像進(jìn)行組織器官勾畫,界定模糊的組織器官邊界,再次是利用勾畫結(jié)果以及圖像本身能清晰顯示輪廓進(jìn)行分割,采用的方法是區(qū)域生長(zhǎng)。
3.1 從三維圖像選取任意方位的二維圖像
VTK提供了一個(gè)在三維環(huán)境下進(jìn)行任意平面選取的工具,對(duì)應(yīng)的庫為vtkImplicitPlaneWidget,它提供了交互式改變平面法線方向和平面位置的功能。為了取得此交互工具所得的平面參數(shù)(法線方向和平面原點(diǎn)),還需定義一個(gè)VTK平面類vtkPlane的對(duì)象。最后定義一個(gè)回調(diào)類來響應(yīng)對(duì)vtkImplicitPlaneWidget的操作,并在此回調(diào)類中給對(duì)應(yīng)的vtkPlane對(duì)象賦值。VTK為回調(diào)類提供了一套接收VTK的鍵盤和鼠標(biāo)消息的方法。
回調(diào)類中還在平面法線和原點(diǎn)的基礎(chǔ)上定義了二維圖像的兩個(gè)正交坐標(biāo)(記為x’和y’坐標(biāo),此定義有一定的隨意性)的方向矢量nx’和ny’。之后即可利用VTK中的vtkImageReslice類來計(jì)算該平面切割出的二維圖像?;卣{(diào)類中還定義了獲得平面參數(shù)后左視圖下顯示端口以及右視圖的更新。這樣只要調(diào)節(jié)vtkImplicitPlaneWidget平面,即可根據(jù)所選平面顯示對(duì)應(yīng)圖像的三維顯示和二維顯示。
vtkImageReslice類所得數(shù)據(jù)的類型為vtkImageData,VTK為此類數(shù)據(jù)提供了可讀取和修改像素?cái)?shù)值的指針。后續(xù)的勾畫以及區(qū)域生長(zhǎng)都根據(jù)該指針對(duì)二維圖像進(jìn)行操作。
3.2 對(duì)選取圖像的勾畫
VTK本身有一套對(duì)二維和三維圖像進(jìn)行交互操作的工具(vtkRenderWindowInteractor),而且也有自帶的利用了MFC并能與VC++6.0融合的類(vtkMFCWindow),但該類的鼠標(biāo)和鍵盤響應(yīng)都被vtkRenderWindowInteractor所接管,包括上面的回調(diào)類,也是通過vtkRenderWindowInteractor實(shí)現(xiàn)消息響應(yīng)的。不過可通過修改vtkMFCWindow類來修改和自定義有關(guān)鍵盤和鼠標(biāo)響應(yīng)的操作。勾畫結(jié)果能即時(shí)地顯示在視圖上,勾畫完可相應(yīng)地將勾畫結(jié)果寫入圖像數(shù)據(jù),使模糊的組織器官邊界通過醫(yī)生的經(jīng)驗(yàn)加以界定,輔助后續(xù)的區(qū)域生長(zhǎng)。
3.3 基于勾畫結(jié)果與清晰邊界的區(qū)域生長(zhǎng)
勾畫完成后,加上圖像本身能清晰顯示的邊界,意味著在二維圖上該結(jié)構(gòu)的邊界已完全確定,剩下的只需通過區(qū)域生長(zhǎng)將其輪廓“采集”下來,為防止區(qū)域生長(zhǎng)過程跨越勾畫輪廓,我們采用了四個(gè)方向的生長(zhǎng),結(jié)果表明這不會(huì)對(duì)區(qū)域生長(zhǎng)的范圍造成實(shí)際的負(fù)面影響。圖2給出了一個(gè)勾畫與區(qū)域生長(zhǎng)的實(shí)例(為清晰起見,未對(duì)神經(jīng)進(jìn)行勾畫)。
圖 2 基于勾畫結(jié)果與清晰邊界的區(qū)域生長(zhǎng)
在左視圖的下顯示端口可將區(qū)域生長(zhǎng)出來的輪廓線疊加到三維圖像中。實(shí)現(xiàn)這一步需將輪廓的二維平面坐標(biāo)轉(zhuǎn)換為三維顯示的空間坐標(biāo)。此坐標(biāo)變換實(shí)際利用的是矢量疊加原理。如圖3所示,。
圖 3 從二維圖像坐標(biāo)到三維空間坐標(biāo)的轉(zhuǎn)換
設(shè)二維像素點(diǎn)在二維圖像中的坐標(biāo)為x'和y',其原點(diǎn)O'在三維空間中的坐標(biāo)為(x0, y0, z0),由于二維圖像的x'軸和y'軸在三維空間的方向矢量分別為nx'和ny',因此該像素點(diǎn)的三維坐標(biāo)為:
其中括號(hào)的下標(biāo)表示括號(hào)內(nèi)矢量在x, y或z方向上的分量。
將生長(zhǎng)的輪廓轉(zhuǎn)換到三維空間后,可疊加顯示在二維圖像上,結(jié)果如圖4所示。
圖 4 二維交互分割結(jié)果的顯示
本研究所開發(fā)的軟件尚有代碼效率不夠高、區(qū)域生長(zhǎng)參數(shù)調(diào)節(jié)不夠靈活等缺點(diǎn),在進(jìn)一步的開發(fā)中這些問題將被逐步解決,以提高用戶友好性。
軟件實(shí)現(xiàn)了三維CT圖像任意平面二維交互分割的基本操作,為將來實(shí)現(xiàn)三維自動(dòng)分割與交互分割的結(jié)合奠定了基礎(chǔ)[6-8]。本研究將為臨床醫(yī)生提供一種能在普通PC機(jī)上實(shí)現(xiàn)的三維圖像分割功能,在實(shí)現(xiàn)CT圖像軟組織的三維分割方面將有重要的應(yīng)用價(jià)值,特別是將改變CT圖像對(duì)周圍神經(jīng)顯示不夠直觀的現(xiàn)狀,提高其對(duì)周圍神經(jīng)系統(tǒng)的診斷價(jià)值。
[1] Schroeder W J. The VTK User's Guide[M]. 4th ed. New York:Kitware Inc., 2001.
[2] 王利,姜紅,張兆臣,等.基于VTK的虛擬手術(shù)系統(tǒng)中的關(guān)鍵技術(shù)[J].中國(guó)醫(yī)療設(shè)備,2009,24(5):58-59.
[3] 姚領(lǐng)田. MFC窗口程序設(shè)計(jì)[M].北京:中國(guó)水利水電出版社,2007.
[4] 郭圣文.集成化三維虛擬手術(shù)系統(tǒng)的設(shè)計(jì)[J].中國(guó)醫(yī)學(xué)影像技術(shù),2006(26):1894-1897.
[5] 宋海友.基于VTK的醫(yī)學(xué)圖像三維重建及其可視化技術(shù)研究[D].成都:成都理工大學(xué),2006.
[6] 邢英杰,張少華,等.虛擬手術(shù)系統(tǒng)技術(shù)現(xiàn)狀[J].計(jì)算機(jī)工程與應(yīng)用,2004,40(7):88-90.
[7] 李嘉,胡懷中,等.可視化三維圖形庫Visualization ToolKit3.2的原理及應(yīng)用[J].計(jì)算機(jī)應(yīng)用與軟件,2004,21(2):5-7.
[8] 宋海友.基于VTK的醫(yī)學(xué)圖像三維重建及其可視化技術(shù)研究[D].成都:成都大學(xué),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基金項(xiàng)目:國(guó)家自然科學(xué)基金項(xiàng)目(30670576)資助。
李海云,教授,碩士研究生導(dǎo)師。
作者郵箱: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