首页 / 利用VTK进行肠道三维重建的方法

利用VTK进行肠道三维重建的方法无效专利 发明

技术领域

[0001] 本发明涉及利用VTK(Visualization Toolkit可视化工具包)进行肠道三维重建的方法,尤其是涉及利用 VTK对肠道的CT图像进行三维重建的方法。

相关背景技术

[0002] 三维肠道重建就是用一组肠道的CT断层图像,通过某种算法将其转化为具有直观立体效果的肠道图像,更好的展现肠道的真实三维形态。三维肠道重建是科学诊断肠道疾病的基础,也是肠道疾病诊断治疗需要解决的关键技术之一。
[0003] 大肠癌是我国常见的恶性肿瘤之一,患者平均5年生存率为20%-25%,我国肠癌发病率的增速是世界平均水平的两倍,达到年均4%。发病率仅次于肺癌和肝癌,列第三位,已经成为癌症中的首要杀手之一。然而,在医疗诊断中,观察病人的一组二维断层图像CT、MRI是医生诊断病情的常规方式。但是,要准确地确定病变体的空间位置、大小、几何形状以及与周围生物组织之间的空间关系,医生仅通过二维断层图像,在头脑中想象真实的三维模型是十分困难的,从而影响了疾病诊治的精确性。因此,迫切需要一种行之有效的工具来完成对人体器官、软组织和病变的三维重建和显示。医学图像三维重建就是辅助医生对病变体的周围组织进行分析和显示的有效工具,它极大地提高了医疗诊断的准确性和科学性。

具体实施方式

[0016] 本发明的一个优选实例结合附图详细说明如下:参见图1,本发明利用VTK进行肠道三维重建的方法的一个优选实例结合附图说明如下:本发明的实施利用解放军海军总医院32排CT机中的一套889张人体胸腔CT扫描数据,分割出包含肠道部分的356张肠道CT数据,图像大小:512×512像素,层间距:0.62mm。利用VTK进行肠道三维重建方法共分为五步,其具体操作步骤如下:(1) 对含有噪声的CT数据进行预处理,对CT图像进行中值滤波,从而滤除由于影像设备中各电子间的随机扰动和周围环境产生的噪声;
其实施方法如下:
在图像上选取一个含有奇数个像素的窗口,对该窗口所覆盖像素按大小排序,处在灰度序列中间的那个灰度值为中值,用它代替窗口中心对应像素的原灰度值。
[0017] (2) 对CT图像采用边界分割Live-Wire方法和区域生长相结合的分割方法分割出肠道部分的CT图像,其具体如下:人体腹部的CT 扫描数据是由几百张CT图像组成的,要得到肠道的完整数据就要对这几百张图片整体分割,由于基于边界的分割不能用于体数据,而基于区域的分割虽然能用于体数据,但是它会造成过度分割,即将图像分割成过多的区域。本方法采用边界分割与区域分割相结合的分割方法,充分利用两种分割的优点更好地分割出肠道 ,具体方法如下:
①用Live-Wire算法在图像上选取边界点,作为肠道的边界。
[0018] ②在边界线内选取种子点,③根据设定的条件进行区域生长,从而找到完整的肠道。
[0019] (3) 对分割得到的肠道图像进行数学形态学的改进的最近邻域插值,提高图像的层间分辨率;其具体如下:给定两幅断层图像Sk-1和Sk+1,为了通过插值求出它们之间的图像Sk,用集合S=(V,F)来表示已知的所有断层图像,V为所有点的集合,其元素v=(x,y,z)表示点在空间的坐标,函数f:V→Y定义了任一点的灰度值。
[0020] 第一步,利用数学形态学的方法,得到被插值图像每个区域的轮廓。
[0021] 由步骤(2)得到2幅断层图像,接着要确定已知两幅断层图像上肠道的轮廓,分别用Ck-1和Ck+1表示分割得到的肠道区域的边界。
[0022] 对任意位于图像Sk-1某个轮廓上的点 ,即 来说,对应于图像Sk+1上的点 只可能有下面3种情况:
① 点 在轮廓Ck+1内,但不在Ck+1上,此时执行 ,其中 为
膨胀,B为结构算子。
[0023] ② 点 既不在轮廓Ck+1上,也不在轮廓内,即该点和点 不属于同一密度物质,此时,执行 ,其中 表示腐蚀。
[0024] ③ 点 在轮廓Ck+1上,即 ,此时无需任何操作。
[0025] 综合上述3种情况,可以表示为:(1)

(2)

根据式(1)、式(2)对任意的两幅断层图像进行操作,最终均能得到两幅完全一样的插值图像。此时,在断层图像Sk-1和Sk+1之间已经产生了一系列新的图像,找到与Sk位置对应的新图像,提取出它的每个密度物质轮廓Ck,这样就构成了插值图像Sk的轮廓。
[0026] 第二步,求出插值图像Sk上所有与Sk-1和Sk+1上对应的点。
[0027] 如图2所示,对断层图像Sk上的任一点Pk,找到它在Sk-1和Sk+1上关于z轴对应点Pk-1和Pk+1,求取点Pk-1到边界Ck-1的最短距离uk-1,同样求出点Pk+1到边界Ck+1的最短距离uk+1,那么求取点Pk到边界Ck的最短距离uk可以通过公式(3)求得,其中 为Sk到Sk-1 的距离, 为Sk-1和Sk+1的距离。
[0028] (3)这样可以根据uk的值判定该点与边界的关系,用此算法遍历插值图像Sk上的所有点,即可求出边界Ck。
[0029] 第三步,求插值图像Sk中各点的灰度值。
[0030] Sk上对应点Pk的灰度值 为:(4)

用同样的方法遍历插值图像上的每一点,即可得到最终的插值图像Sk。
[0031] (4) 设置VTK平台上的重建环境;设置肠道RGB颜色为(1,0.49,0.25),反射系数0.3,反射光强20,在VTK中的设置为:
设置肠道颜色:intestine->GetProperty()->SetDiffuseColor(1,0.49, 0.25);
设置反射系数:intestine->GetProperty()->SetSpecular(0.3);
设置反射光强:intestine->GetProperty()->SetSpecularPower(20);
(5)执行肠道面重建算法,其具体分为四个步骤:
第一步:逐点判断各个体素的面是否为二义性面。在计算得到肠道CT体数据与等值面的交点位置的基础上,判断是否为二义性面,其具体步骤如下:
① 交点通过该边的两端点像素值的线性插值得到。当体素面的边与x轴平行时,假设该边的两个端点分别为 和 ,等值面阈值为C,则交点为 ,其中:
(5)
依此类推分别求出与y轴平行的边的交点,以及与z轴平行的边的交点。
[0032] ② MC 算法(面重建算法)中,将体素各个顶点函数值与等值面阈值进行比较,大于阈值的点标记为1,小于阈值的点标记为0,在体素的一个面上,如果值为1的角点和值为0的角点分别位于对角线的两端,那么就会有两种可能的连接方式,因而存在着二义性。
[0033] 第二步:消除二义性面。在第一步判断为二义性面时,用对边交点的连线代替渐进线,并计算连线交点O处的坐标,进而判断交点处的状态值,从而判断连接方式,消除二义性。其具体如下:以平行 轴的体素面 为例,点P、Q、M、N 分别为等值面与二义性面的交点。假设, , , ,连接MN、PQ,则直线MN的方程为:
(6)
PQ的方程为:
(7)
联立上述两个方程,即可求得MN和PQ的交点O的坐标:
(8)

式中:令 , 均为常数,从而求出交点O的位置,

[0034] 计算O点处的函数值 ,并比较 与等值面阈值的关系,确定交点O处的状态,从而判断等值线的连接方式,消除面重建的得二义性问题;其具体如下:计算O点处的函数值 ,并比较 与等值面阈值的关系:若 大于等值面阈
值,体素面的中心区域应判为1,则中心区域应和标记为1的两个顶点在同一区域内;反之,若 小于等值面阈值,体素面的中心区域应判为0,中心区域应和标记为0的两个顶点在同一区域内,从而唯一的确定了等值面的连接方式,消除了二义性问题。
[0035] 第三步:拼接三角形面片,得到重建的三维模型。三角形面片表示实体模型的表面,对每一个空间的小三角形面片用三角形的三个顶点及顶点的连接次序来表示,将三角形面片拟合并曲面化,从而达到将抽象的肠道CT数据转化为可视化的三维模型的目的,并进行平滑滤波以使重建后的三维肠道表面比较光滑。
[0036] 第四步:利用VTK的渲染机制,渲染面重建结果。VTK使用渲染窗口(vtkRenderWindow)在显示设备中生成一个窗口,并把要立体显示的效果加入到渲染窗口中,使用渲染器vtkRender控制渲染过程,并通过窗口交互(vtkRenderWindowInteractor)对肠道三维重建的结果进行交互:旋转、放缩、漫游等。
[0037] 实验结果:本实验使用了解放军海军总医院提供的一套889张人体胸腔CT扫描数据,数据格式为DICOM格式,分割出的肠道部分为的356张肠道CT数据,图像大小为512×512像素,层间距为0.62mm。重建出的逼真三维肠道如图3所示。从图3可以看出:
本发明利用VTK进行肠道三维重建的方法,重建出的三维肠道模型是比较逼真的,很好地反映了二维CT图像的立体效果,,并可以应用于其它组织器官的三维重建。本研究解决了利用CT图像进行三维肠道逼真重建的问题,也为帮助医生更有效的诊断肠道疾病,提高医疗诊断的准确性打下了基础。

当前第1页 第1页 第2页 第3页