[4] VTK 采用流水线的机制读取数据最后显示在渲染窗口 ( 如图 1) 在此可视化软件中, 利用软件开发 平台 QT Creator 与 VTK 结合,VTK 的作用是将计算机中读取进来的医学图像进行二维平面显示 三维立 体显示, 并提供各种 VTK 的类来实现交互 切面浏览 体绘制以及肿瘤体积

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "[4] VTK 采用流水线的机制读取数据最后显示在渲染窗口 ( 如图 1) 在此可视化软件中, 利用软件开发 平台 QT Creator 与 VTK 结合,VTK 的作用是将计算机中读取进来的医学图像进行二维平面显示 三维立 体显示, 并提供各种 VTK 的类来实现交互 切面浏览 体绘制以及肿瘤体积"

Transcription

1 基于 VTK 的图像可视化及肿瘤体积计算 陈秀文, 杨荣骞 ( 华南理工大学材料科学与工程学院, 广东广州 ) 摘要 : 针对在肝癌射频消融手术或临床诊断中肿瘤形状形态确定和肿瘤体积定量计算问题, 本文基于可视化工具 Vsualzaton Toolkt (VTK) 设计一个医学图像可视化软件, 软件中实现二维医学图像横断面 冠断面 矢断面和三维图像重建效果同时显示, 通过窗宽窗位调节分别提取图像中皮肤 组织 骨头部分 在二维图像横断面的基础上勾画肿瘤区域, 利用多边形面积和累加法的原理实现肿瘤体积的计算, 辅助医生在进行癌组织观察和对肿瘤大小 形态定量分析中提供有效可靠的方法 关键词 : 医学影象 ;VTK; 二维显示 ; 三维重建 ; 肿瘤体积 Image Vsualzaton and Tumor Volume Calculaton Base on VTK CHEN Xuwen, YANG Rongqan (School of Materals Scence and Engneerng of South Chna Unversty of Technology, Guangzhou, , Chna) Abstract: Focusng on the shape of tumor dagnosng and the volume of tumor calculatng, software for vsualzng medcal mage s desgned based on Vsualzaton Toolkt (VTK), whch can dsplay the transverse secton, sagttal secton, crown secton of two dmensonal and three dmensonal mages at the same tme. Adjustng wndow wdth and wndow level could extractng skn, tssue and bone of the mage. Meanwhle, the polygon area and the prncple of accumulaton method are ntroduced to calculate tumor volume based on transverse secton. Ths software provdes an effectve and relable method for assstng physcans to observe cancerous tssue and quanttatvely analyze the sze and shape of tumor. Keywords: medcal mage,vtk, two dmensonal dsplay, three dmensonal reconstructon, tumor volume 中国年新发癌症病例数 例, 根据平均寿命 74 岁计算, 人一生中患恶性肿瘤的几率是 22%, 肿瘤已经成为了一种常见疾病 [1] 为了帮助医生在进行癌组织切除或者消融的术前规划和术后观察时能更好地观察肿瘤的大小 形状以及手术效果, 需要建立一个有肿瘤体积计算功能的医学图像可视化软件 [2] 可视化工具库 (Vsualzaton Toolkt,VTK) 是医学可视化领域中使用最广泛的可视化开发工具, 它主要被用于医学图像的可视化方面 [3] VTK 是一个源代码开放 跨平台的用于科学计算可视化处理的类库 基金项目 : 国家自然科学基金项目 ( ); 广东省科技计划项目 (2012b ); 中央高校重点项目 (2014ZG003D); 广州市珠江科技新星专项 (2014J ) 作者简介 : 陈秀文, 女, 硕士, 研究生, 研究方向为医学影象 医学图像处理技术及信号处理, 联系电话 : , E-mal: 1

2 [4] VTK 采用流水线的机制读取数据最后显示在渲染窗口 ( 如图 1) 在此可视化软件中, 利用软件开发 平台 QT Creator 与 VTK 结合,VTK 的作用是将计算机中读取进来的医学图像进行二维平面显示 三维立 体显示, 并提供各种 VTK 的类来实现交互 切面浏览 体绘制以及肿瘤体积计算等功能 图 1 VTK 可视化流水线 1 可视化软件 1.1 可视化软件架构软件界面如图 2 所示, 可视化软件具有的功能 ( 图 3): 1. 打开文件 : 通过设定图像路径, 按图像序列读取该路径文件下所有的图像 ;2. 二维显示 : 利用 vtkimagevewer2 类进行横断面 冠断面 矢断面显示, 从不同的角度进行观察, 有利于组织器官甚至是病灶的定位 切片浏览时, 在横断面中勾画该张切片的肿瘤轮廓, 利用二维到三维的原理计算肿瘤体积 ;3. 三维显示 : 在 VTK 中对二维图像进行三维立体重建, 得到图像的三维体绘制效果, 并能调节窗宽窗位和体绘制的颜色 透明度效果 图 2 软件界面 2

3 图 3 可视化软件流程图 1.2 医学图像二维显示 VTK 有一个封装好的类专门用于二维图像的显示 vtkimagevewer2 vtkimagevewer2 封装了 VTK 图像显示的管线, 包括 vtkactor,vtkrender,vtkrenderwndow,vtkcamera,vtkinteractorstyle 等对象, 可以方便的完成图像显示和交互 实现图像不同断面的显示 : SetSlceOrentatonToXY; // 显示横断面 SetSlceOrentatonToXZ; // 显示冠断面 SetSlceOrentatonToYZ; // 显示矢断面拉动界面滑动条触发其 valuechanged () 信号, 改变 vtkimagevewer2 的显示页面 : vtkimagevewer2->setslce(slder_value);// 设置显示的页数 vtkimagevewer2->render(); // 刷新显示 1.3 医学图像三维重建此可视化系统采用 VTK 的基于光线投影算法原理的合成体绘制函数 (vtk Volume Ray Cast Composte Fucton) 进行二维图像的三维重建 [5] 合成体绘制函数通过设定的传递函数将体数据值转换光学属性如颜色值 透明度等 [6], 然后把属性合成到像素中 传递函数只要包括颜色传递函数 (vtk Color Transfer Functon) 不透明度传递函数 (vtk Pecewse Functon) 梯度传递函数 通过设定传递函数的不同参数, 可以改变三维图像渲染的颜色 透明度效果 此外, 还能通过压缩所有体素的体素值, 设定显示的体素值范围调整窗宽窗位, 将窗宽里面的像素压缩在灰度阶为 中显示出来 [7], 用以突出某部分组织, 窗宽窗位调节的原理如图 4 所示 图 5 是通过调节窗宽窗位分别显示完整图像 皮肤 组织和骨头的三维体绘制效果 在可视化软件中二维窗宽窗位和三维窗宽窗位的调节是同时进行的, 就是说当拉动界面上表示窗宽窗位的椭圆的时候, 二维的窗宽窗位和三维的同时接收到改变的信号, 然后同时改变显示, 达到同步显示的功能 3

4 图 4 窗宽窗位原理 图 5 三维调节窗宽窗位的体绘制效果图 2 肿瘤体积计算 2.1 新建 VTK 交互类 VTK 封装的一些交互方式包括图像放大 缩小 平移 三维旋转等, 但在肿瘤体积计算中基本的交互方式不能满足 [8], 因此需新建一个 VTK 的交互类 交互类中主要响应三个鼠标操作函数 : OnLeftButtonDown() 鼠标按下函数,OnLeftButtonMove() 鼠标移动函数,OnLeftButtonUp() 鼠标弹起函数 利用交互类勾画肿瘤轮廓主要有两种方法 ( 图 6): 1 利用闭合轮廓线勾画;2 利用多次有序画点来勾画轮廓 第一种方法在鼠标按下时获取该点的屏幕坐标, 然后利用以下代码实现从人眼看到的视点坐标系到体数据实际所在的世界坐标系的转换 : ths->fndpokedrenderer(sx, sy); // 获取该点的二维屏幕坐标点 (sx, sy) nt pck=ths->interactonpcker->pck(sx, sy, 0.0;ths->CurrentRenderer); //VTK 中从三维屏幕坐标系的点映射到三维世界坐标系中 ths->interactonpcker->getpckposton(pos [3] ); // pos[3] 是对应世界坐标系的坐标点, 单位是毫米 4

5 同时新建 vtkorentedglyphcontourrepresentaton 来管理轮廓数据, 将其放在 vtkcontourwdget, 然后鼠标移动时经过的每个点的数据都输入轮廓数据中 鼠标弹起后停止画线, 将第一个点和最后一个点连接在一起形成闭合轮廓 在画好该切面的轮廓之后, 利用 vtkcontourwdget 可以移动每个点的位置, 用以修改轮廓的形状, 得到更加精确的结果 第二种方法在每次鼠标按下时获取该点的屏幕坐标然后转换成世界坐标, 多次有序地在肿瘤的边缘画点, 从而勾画轮廓 [9] 2.2 多边形面积计算 图 6 封闭曲线和点集勾画肿瘤轮廓 每张切片上围成的轮廓都可以看作是多个点围成的多边形, 因此计算每张切面肿瘤的面积可以用多边 形面积计算的方法 以坐标原点和 N 边形每条边的两个端点构成一个三角形, 顶点坐标分别为 P0 ( x0, y 0), P (, ) x y, P 1 ( x 1, y 1 ), 如图 7 所示 要求的三角形面积为 S : 图 7 三角形面积计算示意图 S S S S 梯形 AP0 P B a b (( BP AP ) AB AP AP BP BP ) / (( y y y y ) ( x x ) ( y y ) ( x x ) ( y y ) ( x x )) / ( x y x y x y x y x y x y ) / (1) 原点坐标为 (0,0), 所以三角形面积公式可化简为 : S ( x y x y ) / 2 (2) 1 1 三角形面积在三个端点逆时针排列时为正, 顺时针排列时为负, 在三角形面积叠加的时候可以去除重复的部分面积, 得到多边形的面积 N 边形的面积等于全部三角形面积叠加之和 : 5

6 N 1 S ( ( x y x y ) x y x y ) / 2 总 1 1 N 1 1 N (3) 2.3 肿瘤体积计算 得到每张切片上肿瘤轮廓多边形的面积之后, 根据图 8 所示, 用累加法的原理从二维的面积计算肿瘤 三维的体积 图 8 肿瘤体积计算示意图 n V S h (4) 其中 V 代表肿瘤体积,S 是切片上第 个肿瘤轮廓的面积, 是第 个肿瘤轮廓对应的高度 h 的大小是排列好每张有肿瘤轮廓的切片次序后得到它们在世界坐标中 Z 轴的坐标, 然后求三维相邻切片 Z 轴坐标的差值 点击界面的 重建轮廓 按钮, 将所花的所有轮廓三维重建出来, 得到图 9 的重建效果 点击 计算体积 按钮, 运行算法, 弹出对话框显示求得的肿瘤体积, 单位是立方毫米 (mm 3 ) 1 3 结语 图 9 肿瘤轮廓重建效果和体积结算结果 本文基于 VTK 可视化工具建立一个医学图像可视化软件, 实现二维图像 三维图像重建的同时显示, 并能实现切片浏览, 窗宽窗位调节 颜色透明度颜色调节等功能 此外, 在医学图像可视化软件中实现肿瘤体积计算, 通过在二维切片中勾画肿瘤轮廓, 计算出肿瘤的体积, 辅助医生在进行癌组织切除或者消融的术前规划和术后观察时能定性定量地观察肿瘤的大小 形状 参考文献 [1] 赫捷, 赵平, 陈万青 中国肿瘤登记年报 [M]. 北京 : 军事医学科学出版社,2013. [2] 张浩, 郑智华. 基于 VTK 的医学可视化系统实现 [J]. 硅谷,2010, 21: [3] Avla LS, Barre S, Blue R et al. The VTK User's Gude [M]. New York: Ktware,

7 [4] Lang M, Lu X, L W et al. Evaluatng the growth of pulmonary nodular ground-glass opacty on CT: Comparson of volume renderng and thn slce mages [J]. 华中科技大学学报 ( 医学 )( 英德文版 ),2011, 31(6): [5] 张子群, 陈渊. 基于 VTK 的医学图像三维可视化系统 [J]. 生物医学工程学进展,2012, 32(3): [6] 冯林, 颜世鹏, 孙焘. 图像配准中的一种特定区域轮廓提取算法 [J]. 计算机技术与发展,2006, 03: [7] 丛日娟, 李均利, 侯艳芹, 等. 窗宽窗位对基于互信息的医学图像配准的影响 [J]. 计算机工程,2008, 34(5): [8] 张欣然, 陈琪儒, 何煦佳, 等. 头部 MRI 图像外轮廓提取算法的实现与比较 [J]. 计算机应用与软件,2013, 5: [9] 杨荣骞, 何煦佳, 吴晓明, 等. 一种脑部肿瘤头皮定位图像处理方法 : 中国 [P]. 2014, 04. ( 责任编辑彭屹 ) 7