久久久久无码精品,四川省少妇一级毛片,老老熟妇xxxxhd,人妻无码少妇一区二区

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

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

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

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

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

【關鍵詞】 Visualization toolkit(VTK);Widget;測量;醫(yī)學圖像;函數(shù);坐標

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 引 言

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

  2 Widget的事件處理機制

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

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

  3 距離測量職稱論文

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

  3.1 二維切片的距離測量

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

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

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

  Fig 2 Measurement result of tracheal diameter

  3.2 三維器官的距離測量

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

  vtkDistanceWidget是vtkAbstractWidget的子類,用戶可以獨立的放置刻度尺的兩個端點,當兩個端點被釋放時,有一個專門的PlacePointEvent被激活以便有專門的操作來重置點的位置,要使用這個類需要確定一個vtkDistanceWidget實例和一個Representation。它響應下列VTK事件:鼠標左鍵按下,鼠標拖動,鼠標左鍵釋放,這些VTK事件通過vtkWidgetEventTrans

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

  在VTK的三維場景中一般存在兩種模型,一種是用于對三維物體操作的Widget 模型,另一種是在場景中顯示的data模型。但本身處于三維場景中的widget 模型是無法自行觸動消息響應函數(shù)對data 模型進行控制,要想達到此目的,需要在它和data 模型中間設置一個橋梁,該橋梁就是通過command模式實現(xiàn)的回調(diào)函數(shù)。同時在外部存在一個Observer 模塊對data 模型進行觀察,隨時反映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));

  通過vtkDistanceRepresentation2D獲得刻度尺兩個端點在世界坐標系內(nèi)的坐標,使用距離計算函數(shù): sqrt(Distance2BetweenPoints())得到被測物體的長度值dist,最后通過vtkDistanceRepresentation2D的SetTi

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

  4 角度測量

  4.1 二維切片的角度測量

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

  vtkAngleWidget用來測量共端點的兩條射線間的夾角,兩條射線是由三個點(一個中心點,兩個端點)確定的,三個點的位置可以獨立的設置,當其被釋放時,有一個專門的PlacePointEvent被激活以便有專門的操作來重置點的位置,要使用這個類需要確定一個vtkAngleWidget實例和一個Representation(vtk

  ?AngleRepresentation的一個子類)。

  交互代碼:

  vtkAngleRepresentation2D *Rep;

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

  Rep->GetPoint1WorldPosition(point1);

  Rep->GetCenterWorldPosition(center);

  Rep->GetPoint2WorldPosition(point2);

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

  Fig 4 Measurement result of vertebrae’s angle

  4.2 三維器官的角度測量

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

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

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

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

  Fig 5 Measurement result of fang’s angle

5 面積測量

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

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

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

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

  設多邊形的頂點分別為A1,A2.....An那么多邊形的面積為:

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

  S(OAiAi+1)表示以O為頂點的三角形面積,當三個頂點順時針排列時面積值為負,逆時針排列時面積值為正,三角形面積值的正負分別表示此三角形使多邊形面積增加還是減小。

  因為每個三角形都有一個頂點為坐標原點O(0,0),那么三角形的面積為:

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

  多邊形面積為:

  圖6 多邊形劃分為多個三角形的圖解

  Fig 6 Schema of polygon divided into several triangle

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

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

  vtkOrientedGlyphContourRepresentation*ContourRep;

  intn=

  ContourRep1 -> GetNumberOfNodes();

  double pos0[3];

  double pos1[3];

  double pos2[3];

  ContourRep1->

  GetNthNodeWorldPosition(0,pos0);

  ContourRep1->

  GetNthNodeWorldPosition (i,pos1);

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

  6 結(jié)論

  所有測量功能均依靠鼠標在圖像上點擊和拖動完成,對于測量系統(tǒng)而言,精度是一個重要的參數(shù),本文中的測量方法與兩個因素密切相關,一是比例尺的確定,另一個就是測量步驟中標記線段的準確性。要提高整個系統(tǒng)的測量精度,可以通過提高圖像的掃描分辨率,放大圖像以及多次測量求平均值的方法來實現(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ī)學圖像交互式三維測量技術研究[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ù)場可視化[M].北京:清華大學出版社,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ù)學手冊編寫組.數(shù)學手冊[M].北京:高等教育出版社,1979:331-332.

【VTK-Widgets在醫(yī)學圖像交互測量中的研究】相關文章:

閱讀教學中的交互活動研究07-03

醫(yī)學圖像配準技術及其研究進展03-01

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

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

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

醫(yī)學圖像資料書寫11-20

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

紅外圖像增強算法研究03-07

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