亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

VTK-Widgets在醫(yī)學(xué)圖像交互測(cè)量中的研究

時(shí)間:2024-09-20 21:59:09 醫(yī)學(xué)畢業(yè)論文 我要投稿
  • 相關(guān)推薦

VTK-Widgets在醫(yī)學(xué)圖像交互測(cè)量中的研究

【摘要】 VTK-Widgets是虛擬場(chǎng)景中響應(yīng)用戶(hù)事件的對(duì)象。介紹Widget的事件處理機(jī)制,并基于Widgets交互式得測(cè)量醫(yī)學(xué)圖像中感興趣對(duì)象間的距離、對(duì)象的角度和面積,此交互測(cè)量方法成功應(yīng)用于三維可視化系統(tǒng)中,有助于醫(yī)生診斷疾病。

VTK-Widgets在醫(yī)學(xué)圖像交互測(cè)量中的研究

【關(guān)鍵詞】 Visualization toolkit(VTK);Widget;測(cè)量;醫(yī)學(xué)圖像;函數(shù);坐標(biāo)

Research of Medical Image Interactive Measurement based on VTK-WidgetsDAI Zhenhui1, ZHANG Yu1, JIANG Guiping1,CHEN Guoyue2

  (1.Department of Biomedical Engineering, Southern Medical University, Guangzhou 510515, China;

  2.Faculty of Systems Science and Technology ,Akita Prefectural University,Japan,Akita)

  Abstract:VTK-Widgets are objects that respond to user events in a virtual scene. The mechanism of event processing is introduced, the distance between objects of interest, angle and area of objects interested in medical image are measured interactively based on Widgets. The method of interactive measure is applied to the 3D visualization system successfully and valuable for assisted diagnosis.

  Key words:Visualization toolkit(VTK) ; Widget; Measure; Medical image; Function; Coordinate

  1 引 言

  通過(guò)CT或者M(jìn)RI獲得的醫(yī)學(xué)圖像是臨床診斷治療的重要依據(jù),為了從醫(yī)學(xué)圖像中獲得更多有用的信息,需要對(duì)醫(yī)學(xué)圖像進(jìn)行各種變換、測(cè)量和標(biāo)注。對(duì)醫(yī)學(xué)圖像施加變換的前后需要測(cè)量圖像內(nèi)組織的長(zhǎng)度、角度和面積,同時(shí)對(duì)病灶中心等關(guān)鍵區(qū)域進(jìn)行文字標(biāo)注,以便輔助醫(yī)生診斷疾病,于是測(cè)量工具便成為所有醫(yī)學(xué)圖像處理軟件中不可缺少的一部分。VTK是Kitware公司開(kāi)發(fā)的集計(jì)算機(jī)圖形、圖像處理和可視化于一體的工具開(kāi)發(fā)包,利用VTK可以進(jìn)行各種測(cè)量。

  2 Widget的事件處理機(jī)制

  Widget可以定義為幾何學(xué)和控制顯示對(duì)象信息行為的封裝,它允許用戶(hù)直接操作三維數(shù)據(jù)場(chǎng)中的數(shù)據(jù)。在VTK中的Widget是由2D的鼠標(biāo)按鍵和移動(dòng)事件控制的,它接收交互器激活的VTK事件并產(chǎn)生相應(yīng)的行為。Widgets的功能分兩步實(shí)現(xiàn),一部分繼承于vtkAbstractWidget類(lèi),用于事件處理,另一部分繼承于vtkWidgetRepresentation類(lèi),用于幾何特征的描述[1]。

  如圖1所示,vtkWidgetRepresentation是vtkProp的子類(lèi),這說(shuō)明它就像VTK中的Actor一樣可以加到vtkRenderer中,并在場(chǎng)景中顯示出來(lái),它與vtkAbstractWidget的某個(gè)合適的子類(lèi)結(jié)合產(chǎn)生一個(gè)3D Widget。VTK的事件處理系統(tǒng)能夠讓觀察者區(qū)分事件的優(yōu)先順序,通過(guò)他們優(yōu)先權(quán)的設(shè)置來(lái)跟蹤注冊(cè)順序,于是使用者可以同時(shí)操作多個(gè)Widget[2]。本文中介紹的Widget均基于Kitware公司2009年6月發(fā)布的最新的5.4.2開(kāi)發(fā)包。

  3 距離測(cè)量職稱(chēng)論文

  在VTK中具有距離測(cè)量功能的類(lèi)有vtkLineWidget、vtkLineWidget2、vtkDistanceWidget,其中vtkDistanceWidget類(lèi)是Kitware公司在5.4開(kāi)發(fā)包里新添加的專(zhuān)門(mén)進(jìn)行距離測(cè)量的工具,使用它可以快速完成對(duì)組織的測(cè)量工作。

  3.1 二維切片的距離測(cè)量

  通過(guò)多平面顯示工具可以從三維CT圖像數(shù)據(jù)場(chǎng)中獲取二維的組織切片,使用vtkLineWidget對(duì)二維切片中的組織進(jìn)行距離測(cè)量,該類(lèi)本身不具備測(cè)量功能,但我們可以借助其內(nèi)部工具來(lái)完成測(cè)量。

  生 物 醫(yī) 學(xué) 工 程 研 究 第29卷第1期 戴振暉,等:VTK -Widgets在醫(yī)學(xué)圖像交互測(cè)量中的研究   vtkLineWidget定義了一個(gè)交互放置在三維場(chǎng)景內(nèi)的線段,當(dāng)對(duì)二維切片進(jìn)行距離測(cè)量時(shí),把線段交互式的放置在需要測(cè)量的組織切片上,設(shè)線段的兩個(gè)端點(diǎn)分別為p1和p2,p1的坐標(biāo)為(x1,y1,z1)p2的坐標(biāo)為(x2,y2,z2),利用兩點(diǎn)間的距離公式計(jì)算p1和p2之間的距離。

  通過(guò)vtkLineWidget得到兩個(gè)端點(diǎn)坐標(biāo),利用距離公式求得距離值為length,最后通過(guò)vtkTextActor類(lèi)將結(jié)果顯示在屏幕上。如圖2所示,使用此方法測(cè)量胸部切片內(nèi)的氣管直徑為25.7152 mm。圖2 氣管直徑測(cè)量結(jié)果

  Fig 2 Measurement result of tracheal diameter

  3.2 三維器官的距離測(cè)量

  當(dāng)用戶(hù)在計(jì)算機(jī)屏幕上用鼠標(biāo)點(diǎn)擊后,系統(tǒng)根據(jù)屏幕坐標(biāo)點(diǎn)拾取到用戶(hù)所需要的三維物體上的點(diǎn),將其轉(zhuǎn)化為世界坐標(biāo)系下的坐標(biāo)值,拾取兩個(gè)特征點(diǎn)后,通過(guò)計(jì)算輸出用戶(hù)所需要的測(cè)量數(shù)據(jù)。本文使用vtkDistanceWidget類(lèi)對(duì)重建后的三維器官進(jìn)行長(zhǎng)度測(cè)量。

  vtkDistanceWidget是vtkAbstractWidget的子類(lèi),用戶(hù)可以獨(dú)立的放置刻度尺的兩個(gè)端點(diǎn),當(dāng)兩個(gè)端點(diǎn)被釋放時(shí),有一個(gè)專(zhuān)門(mén)的PlacePointEvent被激活以便有專(zhuān)門(mén)的操作來(lái)重置點(diǎn)的位置,要使用這個(gè)類(lèi)需要確定一個(gè)vtkDistanceWidget實(shí)例和一個(gè)Representation。它響應(yīng)下列VTK事件:鼠標(biāo)左鍵按下,鼠標(biāo)拖動(dòng),鼠標(biāo)左鍵釋放,這些VTK事件通過(guò)vtkWidgetEventTrans

  ?lator類(lèi)轉(zhuǎn)換成vtkDistanceWidget的widget事件:增加點(diǎn),移動(dòng),結(jié)束選擇[3]。

  在VTK的三維場(chǎng)景中一般存在兩種模型,一種是用于對(duì)三維物體操作的Widget 模型,另一種是在場(chǎng)景中顯示的data模型。但本身處于三維場(chǎng)景中的widget 模型是無(wú)法自行觸動(dòng)消息響應(yīng)函數(shù)對(duì)data 模型進(jìn)行控制,要想達(dá)到此目的,需要在它和data 模型中間設(shè)置一個(gè)橋梁,該橋梁就是通過(guò)command模式實(shí)現(xiàn)的回調(diào)函數(shù)。同時(shí)在外部存在一個(gè)Observer 模塊對(duì)data 模型進(jìn)行觀察,隨時(shí)反映data 模型的狀態(tài)[4]。

  交互代碼:

  vtkDistanceRepresentation2D *Distance;

  double pos1[3], pos2[3];

  Distance->GetPoint1WorldPosition(pos1);

  Distance->GetPoint2WorldPosition(pos2);

  double dist=sqrt(vtkMath::Distance2BetweenPoin

  ?ts(pos1,pos2));

  通過(guò)vtkDistanceRepresentation2D獲得刻度尺兩個(gè)端點(diǎn)在世界坐標(biāo)系內(nèi)的坐標(biāo),使用距離計(jì)算函數(shù): sqrt(Distance2BetweenPoints())得到被測(cè)物體的長(zhǎng)度值dist,最后通過(guò)vtkDistanceRepresentation2D的SetTi

  ?tle()函數(shù)將計(jì)算結(jié)果顯示在屏幕上。如圖3所示,使用傳統(tǒng)的光線投射算法對(duì)頭骨進(jìn)行三維重建[5-6],測(cè)量的眼眶寬度為74.4 mm。

  4 角度測(cè)量

  4.1 二維切片的角度測(cè)量

  通過(guò)多平面顯示工具可以從三維CT圖像數(shù)據(jù)場(chǎng)中獲取二維的組織切片,使用vtkAngleWidget對(duì)二維切片中的組織進(jìn)行角度測(cè)量。

  vtkAngleWidget用來(lái)測(cè)量共端點(diǎn)的兩條射線間的夾角,兩條射線是由三個(gè)點(diǎn)(一個(gè)中心點(diǎn),兩個(gè)端點(diǎn))確定的,三個(gè)點(diǎn)的位置可以獨(dú)立的設(shè)置,當(dāng)其被釋放時(shí),有一個(gè)專(zhuān)門(mén)的PlacePointEvent被激活以便有專(zhuān)門(mén)的操作來(lái)重置點(diǎn)的位置,要使用這個(gè)類(lèi)需要確定一個(gè)vtkAngleWidget實(shí)例和一個(gè)Representation(vtk

  ?AngleRepresentation的一個(gè)子類(lèi))。

  交互代碼:

  vtkAngleRepresentation2D *Rep;

  double point1[3], center[3],point2[3];

  Rep->GetPoint1WorldPosition(point1);

  Rep->GetCenterWorldPosition(center);

  Rep->GetPoint2WorldPosition(point2);

  通過(guò)vtkAngleRepresentation2D獲得三個(gè)特征點(diǎn)在世界坐標(biāo)系內(nèi)的坐標(biāo)并自動(dòng)計(jì)算出兩條射線的夾角。如圖4所示,測(cè)量的椎骨切片的角度為88.3°。圖4 椎骨角度測(cè)量結(jié)果

  Fig 4 Measurement result of vertebrae’s angle

  4.2 三維器官的角度測(cè)量

  在制作三維模型時(shí),經(jīng)常需要測(cè)量某個(gè)部位的角度,使用vtkAngleWidget可以對(duì)立體模型的角度進(jìn)行測(cè)量。

  三維角度測(cè)量與二維角度測(cè)量的工作機(jī)制相同,唯一的不同在于:三維角度測(cè)量使用vtkAngleRe

  ?presentation3D作為vtkAngleWidget的Representation。通過(guò)vtkAngleRepresentation3D獲得三個(gè)特征點(diǎn)在世界坐標(biāo)系內(nèi)的坐標(biāo)并計(jì)算出兩條射線的夾角。如圖5所示,測(cè)量牙齒模型中牙根的角度為42.2°。

  圖5 牙根角度測(cè)量結(jié)果

  Fig 5 Measurement result of fang’s angle

5 面積測(cè)量

  腫瘤體積的測(cè)量是臨床診斷和放射治療的重要指標(biāo),為了更加準(zhǔn)確地評(píng)估治療效果,對(duì)包含腫瘤的切片進(jìn)行處理,計(jì)算從斷層切片中分割出的腫瘤區(qū)域的面積,用此面積乘以掃描的層距以代表每一層的體積,通過(guò)累加得到腫瘤的體積[7],所以,切片的面積測(cè)量對(duì)于體積的測(cè)量是有重要意義的。VTK并未提供專(zhuān)門(mén)測(cè)量面積的工具,我們可以用vtkContour

  ?Widget分割出腫瘤區(qū)域,采用多邊形近似法計(jì)算腫瘤切片的面積。

  本研究以氣管的軸位切片為例計(jì)算面積,即切片位于XOY平面上,見(jiàn)圖6,求n邊形面積,把n邊形的每條邊的兩個(gè)端點(diǎn)分別與坐標(biāo)原點(diǎn)O連接,構(gòu)成n個(gè)以O(shè)為頂點(diǎn)的三角形[8]。設(shè)三維空間內(nèi)一個(gè)三角形三個(gè)頂點(diǎn)的坐標(biāo)分別為:A0(x0,y0,z0),Ai(xi,yi,z0),Ai+1(xi+1,yi+1,z0),z0表示三角形位于z=z0平面上,利用三角形面積公式求每個(gè)三角形的面積。三角形面積公式:

  Si=(x0yi-x0yi+1-xiy0+xiyi+1+xi+1y0-xi+1yi)*0.5(1)

  設(shè)多邊形的頂點(diǎn)分別為A1,A2.....An那么多邊形的面積為:

  S=∑n-1i=1S(OAiAi+1)+S(OAnA1)(2)

  S(OAiAi+1)表示以O(shè)為頂點(diǎn)的三角形面積,當(dāng)三個(gè)頂點(diǎn)順時(shí)針排列時(shí)面積值為負(fù),逆時(shí)針排列時(shí)面積值為正,三角形面積值的正負(fù)分別表示此三角形使多邊形面積增加還是減小。

  因?yàn)槊總(gè)三角形都有一個(gè)頂點(diǎn)為坐標(biāo)原點(diǎn)O(0,0),那么三角形的面積為:

  S(OAiAi+1)=0.5?(xiyi+1-xi+1yi)(3)

  多邊形面積為:

  圖6 多邊形劃分為多個(gè)三角形的圖解

  Fig 6 Schema of polygon divided into several triangle

  利用vtkContourWidget實(shí)現(xiàn)以上算法,vtkContour

  ?Widget是vtkAbstractWidget的子類(lèi),用來(lái)選擇一系列點(diǎn),并在這些點(diǎn)之間畫(huà)線。利用vtkContourWidget畫(huà)輪廓線時(shí),為了畫(huà)出一個(gè)閉合的區(qū)域,取點(diǎn)原則是最后一個(gè)結(jié)點(diǎn)與第一個(gè)結(jié)點(diǎn)重合。   交互代碼:

  vtkOrientedGlyphContourRepresentation*ContourRep;

  intn=

  ContourRep1 -> GetNumberOfNodes();

  double pos0[3];

  double pos1[3];

  double pos2[3];

  ContourRep1->

  GetNthNodeWorldPosition(0,pos0);

  ContourRep1->

  GetNthNodeWorldPosition (i,pos1);

  n為輪廓線上結(jié)點(diǎn)的個(gè)數(shù),由于第一個(gè)結(jié)點(diǎn)和最后一個(gè)結(jié)點(diǎn)重合,所以,形成的多邊形有n-1個(gè)結(jié)點(diǎn),可以劃分成n-1個(gè)三角形。通過(guò)函數(shù)GetNthNodeWorldPosition(0,pos0)獲得第一個(gè)結(jié)點(diǎn)的坐標(biāo)pos0,pos1為第i+1個(gè)結(jié)點(diǎn)的坐標(biāo),如此可以獲取多邊形每一個(gè)頂點(diǎn) 的坐標(biāo)。利用式(4)可以求得輪廓線內(nèi)部區(qū)域的面積。如圖7所示,測(cè)量的是氣管的軸位切片的面積為:520.8603 mm2。

  6 結(jié)論

  所有測(cè)量功能均依靠鼠標(biāo)在圖像上點(diǎn)擊和拖動(dòng)完成,對(duì)于測(cè)量系統(tǒng)而言,精度是一個(gè)重要的參數(shù),本文中的測(cè)量方法與兩個(gè)因素密切相關(guān),一是比例尺的確定,另一個(gè)就是測(cè)量步驟中標(biāo)記線段的準(zhǔn)確性。要提高整個(gè)系統(tǒng)的測(cè)量精度,可以通過(guò)提高圖像的掃描分辨率,放大圖像以及多次測(cè)量求平均值的方法來(lái)實(shí)現(xiàn)。

【參考文獻(xiàn)】
 [1]Schroeder W J,Andy Cedilnik. Kitware’s software developer’s quarterly[M]. New York: Kitware ,2007:3-4.

  [2]Arjan J. F. Kok·Robert van Liere.A multimodal virtual reality interfacefor 3D interaction with VTK[J].Knowledge and Information Systems,2007.201-212.

  [3]Schroeder W,Martin K,Lorensen B. The visualization toolKit an object-oriented approach to 3D graphics [M].3th ed.New Jersey: Prentice- Hall,2002:241-243.

  [4]袁杲, 葉峰,楊玲,謝明元.基于VTK 的醫(yī)學(xué)圖像交互式三維測(cè)量技術(shù)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(13).

  [5]Schroeder W J. The VTK user's guideUpdated for version 4.0 [M]. New York: Kitware, 2001:19~20,48-52.

  [6]唐澤圣.三維數(shù)據(jù)場(chǎng)可視化[M].北京:清華大學(xué)出版社,1999:15-78.

  [7]Mayr N A, Taoka T.Method and timing of tumor volume measurement for outcome prediction in cervical cancer using magnetic resonance imaging[J]. Int J. Radiat. Oncol Biol Phys, 2002, 52(1):14-22.

  [8]數(shù)學(xué)手冊(cè)編寫(xiě)組.數(shù)學(xué)手冊(cè)[M].北京:高等教育出版社,1979:331-332.

【VTK-Widgets在醫(yī)學(xué)圖像交互測(cè)量中的研究】相關(guān)文章:

閱讀教學(xué)中的交互活動(dòng)研究07-03

醫(yī)學(xué)圖像配準(zhǔn)技術(shù)及其研究進(jìn)展03-01

醫(yī)學(xué)圖像領(lǐng)域中數(shù)字圖像處理的應(yīng)用研究性論文04-24

基于醫(yī)學(xué)CT圖像的三維重建研究03-02

脈沖耦合神經(jīng)網(wǎng)絡(luò)在醫(yī)學(xué)圖像處理中的應(yīng)用11-22

醫(yī)學(xué)圖像資料書(shū)寫(xiě)11-20

基于內(nèi)容的圖像檢索研究11-20

紅外圖像增強(qiáng)算法研究03-07

1394技術(shù)及其在實(shí)時(shí)圖像采集系統(tǒng)中的應(yīng)用研究03-02