999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

VTK在可視人體頭部三維重建中的應用

2014-01-16 05:58:08戴虹
電子設計工程 2014年15期
關鍵詞:可視化

戴虹

(上海第二工業大學 電子與電氣工程學院,上海 201209)

醫學圖像可視化技術通過對二維斷層圖像序列,如CT、MRI圖像進行三維重建,從而得到人體組織的三維體數據,這些體數據能為醫學診斷、手術規劃和治療中的監控等提供更完整的信息,因而成為醫學圖像領域重要的研究方向[1]。美國國家醫學圖書館的可視人項目(Visible Human Project,VHP)提供了一男一女彩色照片截面圖像以及CT和MRI斷層掃描圖像,可用于構造各種虛擬人體三維模型,在醫學教育和臨床中發揮重要作用[2]。目前常用VC++軟件,并使用OpenGL(Open Graphics Library,開放的圖形接口)進行醫學圖像可視化編程工作,然而復雜度仍然較高。美國Kitware公司推出了VTK (Visualization Toolkit,可視化工具箱),是一種基于OpenGL的用于3D圖形學、圖像處理及三維可視化開發包[3],可嵌入到VC++中,用簡單代碼實現斷層圖像的三維重建。

文中對可視人項目提供的男性頭部CT圖像在matlab中編程,采用最大類間方差閾值法分別求得其皮膚和骨骼的分割閾值,將其作為等值面抽取值;利用VTK編程分別實現頭部皮膚和骨骼的三維表面重建。

1 基于Matlab的數字化可視人頭部圖像分割

1.1 基于最大類間方差閾值法的頭部皮膚與骨骼圖像分割

在對頭部進行三維表面繪制之前須分別求得皮膚和骨骼等值面抽取值,即皮膚和骨骼圖像分割閾值。由于憑經驗手工設定閾值的時間較長,故采用最大類間方差自動閾值分割算法,也稱為OTSU算法,它通過搜索圖像的灰度范圍尋找最佳分類點,即各類圖像的分割閾值,使得類間方差最大。設一幅圖像的灰度范圍是1~L級,有M-1個分割閾值t1,t2,…,tM-1,將灰度 范圍分為 C1,C2,… ,CM,共 M 類:C1←[1,t1],C2←[t1+1,t2],…,…,CM←[tM-1,L],最佳閾值{t1*,t2*,…,t*M-1}使類間方差 σ2B最大[4],即:

1.2 Matlab主要程序與實驗結果

本課題實驗數據來自可視人項目一位男性頭部的CT序列圖像,尺寸為512×512,共245幅,為dicom格式圖像,dicom標準是醫學數字成像與通信標準,其主要目的是在各種醫療成像產品之間提供一致性接口,使醫療設備之間實現互操作。基于最大類間方差法利用Matlab2007軟件編程實現頭部皮膚與骨骼圖像分割的主要程序與實驗結果如下:

1)設計頭部CT圖像讀取與信息顯示界面。

利用Matlab中的dicomread與dicominfo函數,分別讀入頭部CT圖像序列并顯示圖像的信

息,并用圖形界面(GUI)工具設計界面,如圖1所示(以第125幅圖像為例):

圖1 頭部CT圖片與信息顯示界面Fig.1 Interface of the head CT image and information

2)設計頭部皮膚與骨骼閾值分割程序。

根據公式(1)設計的Matlab主要程序代碼如下(設f為原圖,仍以第125幅圖像為例):

[M,N]=size (f);%圖像的尺寸為 M*N; [T,C]=imhist(f);p=T/(M*N);%p 為圖像的歸一化直方圖 L=256; max1=0; %L為最大的灰度級;設類間方差σB2最大值的初始值max1=0

for t1=1:L%對皮膚閾值t1和骨骼閾值t2進行遍歷,求得使max1最大的t1和t2(設為t10和t20)

for t2=t1:L

w0=sum(p (1:t1));w1=sum (p(t1+1:t2));w2=sum(p(t2+1:L));%計算 ω0,ω1和 ω2

i1=1:t1;i2=t1+1:t2;i3=t2+1:L;

u0=sum(i1.*p(1:t1))/w0;u1=sum(i2.*p(t1+1:t2))/w1;u2=sum(i3.*p(t2+1:L))/w2;%計算 μ0,μ1和 μ2

uT=w0*u0+w1*u1+w2*u2; %計算μT

sigB=w0*(u0-uT)^2+w1*(u1-uT)^2+w2*(u2-uT)^2;%計算

max1=sigB;t10=t1;t20=t2;

end

end

end

g1=f.*(f>=t10&f<t20);g2=f.*(f>=t20);%g1 和 g2 分別是頭部皮膚與骨骼圖像

程序運行結果為:皮膚與骨骼的最佳閾值分別為t1*=51,t2*=145,頭部皮膚(含肌肉)與骨骼圖像如圖 2(a)和(b)所示,可見該算法分割效果較好。

圖2 基于最大類間方差閾值法的頭部皮膚與骨骼分割圖像Fig.2 The segmented images of head and bone based on maximum between-class variance threshold algorithm

2 利用VTK實現可視化人體頭部三維表面重建

2.1 VTK表面三維重建的管道模型

如果將CT序列圖像數據看成是空間區域內采樣點的集合,則該空間區域內具有相同值的點集將定義一個曲面,稱之為等值面,不同組織具有不同的物理屬性,因此以適當值定義的等值面可表示各組織的外表面[4]。VTK支持一系列可視化算法和高級建模技術,許多算法已經集成到VTK中。本課題利用其所包含的vtkContourFilter類提取可視人頭部皮膚和骨骼等值面實現表面重建,也稱“面繪制”。等值面抽取值即圖像分割閾值,則頭部皮膚和骨骼等值面抽取值分別是t1*=51,t2*=145。

VTK采用的是管道模型(Pipeline)機制,在這種模式下,首先建立一個數據流水線并選擇相應算法來處理數據,其次建立適當的目標圖形來演示數據[5]。采用VTK類庫實現頭部面繪制的管道模型如圖3所示。

圖3 基于VTK的頭部面繪制管道模型Fig.3 The surface rendering pipeline model of the head based on VTK

2.2 VTK主要程序代碼

根據上述管道模型,基于VTK采用VC++6.0編程實現頭部三維重建的步驟、環境設置和主要程序代碼如下:

1)程序環境設置

到Kitware公司的VTK網站上下載VTK5.0開發包,安裝于本地目錄下。打開VC++6.0:

(i)選擇菜單:工具---選項,加入VTK的頭文件和庫文件目錄。

(ii)選擇:工程---設置---Link,在 Object/Library Modules中加入VTK的庫文件,如:vtkIO.lib,vtkHybrid.lib,vtkRendering.lib,vtkFiltering.lib 等。

2)建立一個vtkDICOMImageReader對象[6],讀取存儲在D盤“Head”目錄下的dicom格式

可視人頭部CT序列圖像。

#include"vtkRenderer.h"

…… //此處省略了包含的頭文件

void main()

{vtkDICOMImageReader*v16=vtkDICOMImageReader::New();

v16 ->SetDataByteOrderToLittleEndian ();//設置為小端字節序

v16 ->SetDirectoryName ("D://Head");v16 ->SetDataSpacing (1, 1, 1);//設置圖像間隔

3)建立一個vtkContourFilter對象,并設定頭部皮膚或骨骼等值面抽取值。

vtkContourFilter*skinExtractor=vtkContourFilter::New();

skinExtractor->SetInputConnection (v16->GetOutputPort());

skinExtractor->SetValue (0,51); //皮膚等值面抽取值為51

//skinExtractor->SetValue(0,143); //若提取骨骼等值面則抽取值改為143

4)利用vtkPolyDataNormals類產生等值面上的法線,以使繪制過程中的表面光滑著色。

vtkPolyDataNormals*skinNormals=vtkPolyDataNormals::New();

skinNormals ->SetInputConnection (skinExtractor ->GetOutputPort());

skinNormals->SetFeatureAngle(60.0);

5)由vtkPolyDataMapper類將圖像數據映射為可被計算機繪制的圖元;由vtkActor類創建一個代表頭部皮膚或骨骼的“角色”,設置其顏色,并與一個映射器關聯。

vtkPolyDataMapper*skinMapper= vtkPolyDataMapper::New();

skinMapper ->SetInputConnection (smoother ->GetOutputPort());

skinMapper->ScalarVisibilityOff();

vtkActor*skin=vtkActor::New();

skin->SetMapper (skinMapper); skin->GetProperty ()->SetColor(1,0.7,0.4);//設置顏色

6)利用vtkRenderer類創建一個繪制器,添加被繪制的“角色”;用vtkRenderWindow在繪制窗口中顯示;通過vtkRenderWindowInteractor實現繪制結果與用戶的交互。

vtkRenderer*aRenderer=vtkRenderer::New();

aRenderer->AddActor(skin); aRenderer->SetBackground(1,1,1);//設置背景顏色為白色vtkRenderWindow*renWin=vtkRenderWindow::New();renWin->AddRenderer (aRenderer); renWin->SetSize(640, 480);//設置繪制窗口大小為 640*480

vtkRenderWindowInteractor *iren =vtkRenderWindowInteractor::New();

iren->SetRenderWindow(renWin);}

2.3 實驗結果分析

利用VTK進行頭部皮膚與骨骼表面重建結果分別如圖3(a)和圖 3(b)所示。 可見基于 vtkContourfilter類的面繪制算法產生了清晰的重建效果。在程序中采用vtkPolyDataNormals類產生等值面上的法線其作用是對重建表面進行平滑處理,從而使結果更為逼真;利用鼠標還能直接拖動三維模型進行旋轉,增強了系統的交互能力;程序代碼僅20~30句,故編程十分簡單;程序運行時間為:8.40秒,因此三維繪制速度較快。

圖4 基于VTK的可視人頭部皮膚與骨骼三維表面重建Fig.4 Three dimensional surface reconstruction of the visible human’s skin and bone of head based on VTK

3 結 論

提出一種基于VTK[7]的可視人頭部皮膚與骨骼三維可視化方法:1)采用最大類間方差閾值法獲得皮膚與骨骼等值面抽取值。2)基于VTK編程實現頭部的三維表面重建。實驗結果表明,該方法重建結果比較理想,編程簡單且運行速度很快,也可推廣至對人體所有器官進行三維可視化工作。

[1]曹毅.基于體繪制技術的三維醫學圖像可視化平臺研究[D].成都:四川大學,2007.

[2]Michael J.Ackerman.The Visible Human Project Getting the Data [EB/OL].[2013-06-11].http://www.nlm.nih.gov/research/visible/

[3]WANG Hong-jian.3D Medical CT Images Reconstruction Based on VTK and Visual C++ [C]//The 3rd International Conference on Bioinformatics and Biomedical Engineering,Beijing,2009:1-4.

[4]謝術富.一種醫學圖像的3-D表面重建方法 [J].計算機工程與應用,2006,42(6):230-232.XIE Shu-fu.A Method of 3-D surface reconstruction of medical images[J].Computer Engineering and Application,2006,42(6):230-232.

[5]WANG Yan-an,WAN Wang-gen,WANG Rui.An improved interpolation algorithm using nearest neighbor from VTK[C]//2010 International Conference On Image Processing,Hong Kong,2010:1062-1065.

[6]賀銳鋼,杜紅.基于VTK的醫學圖像三維重建的研究與實現[J].電腦知識與技術,2013,9(1):165-167.HE Rui-gang,DU Hong.Research and implementation of 3D medical image reconstruction based on VTK[J].Computer Knowledge and Technology,2013,9(1):165-167.

[7]李永毅,鐘雪麗.基于掛片協議的醫學影像顯示系統架構[J].電子科技,2012(1):81-84.LI Yong-yi,ZHONG Xue-li.Medical imaging display system architecture based on hanging protocols[J].Electronic Science and Technology,2012(1):81-84.

猜你喜歡
可視化
無錫市“三項舉措”探索執法可視化新路徑
基于CiteSpace的足三里穴研究可視化分析
自然資源可視化決策系統
北京測繪(2022年6期)2022-08-01 09:19:06
三維可視化信息管理系統在選煤生產中的應用
選煤技術(2022年2期)2022-06-06 09:13:12
思維可視化
師道·教研(2022年1期)2022-03-12 05:46:47
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
自然資源可視化決策系統
北京測繪(2021年7期)2021-07-28 07:01:18
基于CGAL和OpenGL的海底地形三維可視化
可視化閱讀:新媒體語境下信息可視化新趨勢
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
主站蜘蛛池模板: 97av视频在线观看| 国产偷国产偷在线高清| 欧美福利在线播放| 欧美一区福利| 国产一区二区精品高清在线观看| 国产69囗曝护士吞精在线视频| 国产亚洲欧美在线视频| 97se亚洲| 毛片基地美国正在播放亚洲 | 国产香蕉97碰碰视频VA碰碰看| 在线欧美日韩国产| 天天综合亚洲| 欧美国产成人在线| 精品色综合| 精品欧美视频| 国产99视频在线| 国产极品美女在线观看| 国产麻豆永久视频| 日韩欧美高清视频| yjizz国产在线视频网| 久久综合结合久久狠狠狠97色| 日韩精品亚洲一区中文字幕| 99视频在线看| 亚洲最猛黑人xxxx黑人猛交 | 在线视频精品一区| 亚洲午夜福利精品无码不卡 | 亚洲va视频| 成人欧美在线观看| 午夜限制老子影院888| 亚洲国产天堂久久综合| 久久频这里精品99香蕉久网址| 天天视频在线91频| 欧美特级AAAAAA视频免费观看| 欧美天堂在线| 国产毛片高清一级国语 | 亚洲视频一区| jizz国产视频| 91午夜福利在线观看精品| 国产本道久久一区二区三区| 国产精品久久久久久影院| 亚洲69视频| 久久国产拍爱| 97超碰精品成人国产| 国产97视频在线| 在线观看国产精美视频| 亚洲不卡网| 欧美日韩午夜| 亚洲精品无码不卡在线播放| 成人字幕网视频在线观看| 国产欧美日韩在线在线不卡视频| 四虎综合网| 亚洲精品成人7777在线观看| 久久美女精品国产精品亚洲| 一级成人a毛片免费播放| 超碰色了色| 免费国产福利| 亚洲AV无码久久精品色欲| 91啦中文字幕| 精品国产一区91在线| 日本国产一区在线观看| 亚洲国产成人无码AV在线影院L| 青青青伊人色综合久久| 国产精品99一区不卡| a级毛片在线免费观看| 欧美日韩第三页| 色欲国产一区二区日韩欧美| 国产99久久亚洲综合精品西瓜tv| 国产在线高清一级毛片| 亚洲国产精品VA在线看黑人| 国产免费久久精品99re不卡 | 毛片基地视频| 精品少妇人妻无码久久| 久久精品无码中文字幕| 不卡视频国产| 91成人在线观看| 99国产在线视频| 成人一级免费视频| 国产最新无码专区在线| 日韩精品成人网页视频在线| 国产一区在线观看无码| 青青青伊人色综合久久| 欧美中文字幕在线播放|