一种基于面模型的断面网格生成方法与流程

文档序号:15494172发布日期:2018-09-21 21:18阅读:385来源:国知局

本发明涉及计算机医学辅助诊疗系统中的医学图像可视化处理方法,尤其涉及一种基于面模型的断面网格生成方法。



背景技术:

随着计算机技术的不断发展,计算机辅助诊断(cad)在临床中扮演着越来越重要的角色。医生采集患者ct图像,通过计算机图像处理技术将感兴趣的器官和组织以二值图像的形式分割出来,然后采用图形技术进行三维重建,从而得到器官和组织的三维网格模型。相对于传统的二维图像诊断,借助病变器官和组织的三维模型,医生可以多角度、全方位地观察和了解患者的病变情况,从而更加准确地对患者的病症和病情进行诊断和评估,进而提出更加有针对性和行之有效的治疗方案。

在计算机辅助诊断的整个过程中,由于某些组织器官反应在ct和mri图像上的特性相似,在三维重建中经常会出现不同的组织器官粘连和某些器官非正常“增生”的现象。因此,在三维重建之后,需要对模型进行后续处理,其中,将粘连器官进行切割,对异常“增生”网格进行裁切切除是非常重要的后处理手段。裁切之后的网格模型会在裁切部位出现“孔洞”,需要对“孔洞”进行三角化生成网格进行添补。目前已经存在的网格裁切面生成方法主要有以下几种:

第一种,3dmax、maya等网格处理工具。该类工具软件提供孔洞添补工具,可以自动识别网格存在的孔洞并进行自动添补。由于三维重建之后的三维网格模型比较复杂,裁切之后生成的孔洞边缘信息可能存在冗余和错误,直接采用该类工具进行处理可能会出现错误结果甚至导致程序崩溃,导致该方法无法使用。

第二种,基于耳裁切算法的裁切面生成。由于该方法无法再裁切部分(孔洞)内部生成新的顶点,因此采用该方法生成的裁切面网格多为较狭长的三角形。在原网格三角形数量密度较大时,裁切面的三角形密度会过少,可能导致面模型后续处理上的问题。在裁切面与原网格的夹角较大时,连接部分的法向量计算会出现突变,导致渲染效果较差。

请参照图5,传统裁切面生成算法生成的网格简单地将裁切生成的顶点相连,裁切面与被裁切网格的交界处由于法线计算的畸变导致渲染效果极差。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的不足,提供一种处理速度快、准确性好、处理效率高的基于面模型的断面网格生成方法。

为解决上述技术问题,本发明采用如下技术方案。

一种基于面模型的断面网格生成方法,其包括有:步骤s1,导入3d医学图像,对3d医学图像中需要离断的器官模型进行裁切,得到裁切面;步骤s2,针对每个三角形,按逆时针顺序将每条边与裁切面进行求交,获取裁切面的顶点并生成顶点之间的邻接关系;步骤s3,根据顶点及顶点间的邻接关系,将顶点分成一个或多个首尾相连的闭合多边形点集;步骤s4,将步骤s3获取的每一个闭合多边形点集记为p,取闭合多边形点集中的每一个顶点记为p,取内角平分线的方向向量记为d,计算p沿着指向闭合多边形内部偏移得到的新顶点q,则有q=p+u*d,其中,u为数值小于0.01的标量,之后由q组成的新顶点集合记为q,将集合p和q中的顶点根据位置和拓扑关系进行连接,得到外层三角形带;步骤s5,对步骤s4获得的集合q,每次取其中内角最小的顶点q,将其前后相邻的两个顶点x和y组成三角形,并根据分裂系数μ决定是否取q对边的中点w,并将该三角形分裂成xqw和qyw两个三角形,其中,μ=f*lavg/lxy,f为细分参数,lavg为边的平均长度,lxy为边xy的长度;步骤s6,获取步骤s5得到的内层网格中的所有三角形顶点,并以原始集合q中的顶点作为约束,调整裁切面的三角形分布和大小;步骤s7,得到器官模型的切面网格。

优选地,所述步骤s5中,若分裂(μ>1),则用w替代q参加下一轮计算,否则将q从集合q中删除。

优选地,所述步骤s5中,更新该步骤所修改的顶点内角及其左右相邻的两个顶点的邻接关系,之后进行下一轮计算,直至集合q中的顶点数目为3,将剩余的3个顶点组合成三角形。

优选地,所述步骤s6中,利用最小二乘法调整裁切面的三角形分布和大小。

本发明公开的基于面模型的断面网格生成方法中,其主要针对裁切之后的网格进行裁切面的三角形网格生成。首先获取裁切得到的顶点集合及其相互之间的拓扑顺序关系。然后对顶点集合进行预处理,根据顶点及其邻接关系,将顶点分成一个或多个的闭合多边形顶点集合。对于集合中的每一个闭合多边形点集p,将其中的每一个顶点向孔洞的内部进行长度为d的偏移并生成新的顶点集合q。将集合p和q中的顶点根据位置关系生成三角形带。对顶点集q,每次选取其中内角最小的顶点p,并将p和其前后相邻的两个顶点y和z组成三角形,并根据分裂系数μ决定是否取三角形的最长边的中点w并将该三角形分裂成两个三角形ypw和pzw。若分裂,则最长边的中点w代替顶点p参加下一轮计算,否则将该顶点移除集合q。每一轮计算完成后需要更新本轮修改的顶点的内角及其左右相邻的两个顶点的邻接关系。当顶点集合q中顶点数量为3时,将剩余的3个顶点组成三角形,计算结束。最后,将上述过程中所有生成的三角形进行最小二乘法优化,并以固定原始集合q中的所有顶点作为约束条件,求所有裁切面网格上所有顶点的最优位置。相比现有技术而言,本发明对于根据ct图像重建后的网格,将“黏连”的器官和“增生”的组织切除是一种常见的操作,切割面的网格生成速度和效果对于后续的网格处理和观察有着重大的意义,可以有效地提高计算机辅助诊断的效率。

附图说明

图1为本发明断面网格生成方法的流程图。

图2为优选实施例中裁切过后的胆囊模型图。

图3为生成了两层三角形带的结果图。

图4为裁切面网格生成结果图及优化结果图。

图5为传统裁切面生成算法的运行结果图。

具体实施方式

下面结合附图和实施例对本发明作更加详细的描述。

本发明公开了一种基于面模型的断面网格生成方法,请参照图1,其包括有:

步骤s1,导入3d医学图像,对3d医学图像中需要离断的器官模型进行裁切,得到裁切面;

步骤s2,针对每个三角形,按逆时针顺序将每条边与裁切面进行求交,获取裁切面的顶点并生成顶点之间的邻接关系;

步骤s3,根据顶点及顶点间的邻接关系,将顶点分成一个或多个首尾相连的闭合多边形点集;

步骤s4,将步骤s3获取的每一个闭合多边形点集记为p,取闭合多边形点集中的每一个顶点记为p,取内角平分线的方向向量记为d,计算p沿着指向闭合多边形内部偏移得到的新顶点q,则有q=p+u*d,其中,u为数值小于0.01的标量,之后由q组成的新顶点集合记为q,将集合p和q中的顶点根据位置和拓扑关系进行连接,得到外层三角形带;

步骤s5,对步骤s4获得的集合q,每次取其中内角最小的顶点q,将其前后相邻的两个顶点x和y组成三角形,并根据分裂系数μ决定是否取q对边的中点w,并将该三角形分裂成xqw和qyw两个三角形,其中,μ=f*lavg/lxy,f为细分参数,lavg为边的平均长度,lxy为边xy的长度;

步骤s6,获取步骤s5得到的内层网格中的所有三角形顶点,并以原始集合q中的顶点作为约束,调整裁切面的三角形分布和大小;

步骤s7,得到器官模型的切面网格。

上述方法中,其主要针对裁切之后的网格进行裁切面的三角形网格生成。首先获取裁切得到的顶点集合及其相互之间的拓扑顺序关系。然后对顶点集合进行预处理,根据顶点及其邻接关系,将顶点分成一个或多个的闭合多边形顶点集合。对于集合中的每一个闭合多边形点集p,将其中的每一个顶点向孔洞的内部进行长度为d的偏移并生成新的顶点集合q。将集合p和q中的顶点根据位置关系生成三角形带。对顶点集q,每次选取其中内角最小的顶点p,并将p和其前后相邻的两个顶点y和z组成三角形,并根据分裂系数μ决定是否取三角形的最长边的中点w并将该三角形分裂成两个三角形ypw和pzw。若分裂,则最长边的中点w代替顶点p参加下一轮计算,否则将该顶点移除集合q。每一轮计算完成后需要更新本轮修改的顶点的内角及其左右相邻的两个顶点的邻接关系。当顶点集合q中顶点数量为3时,将剩余的3个顶点组成三角形,计算结束。最后,将上述过程中所有生成的三角形进行最小二乘法优化,并以固定原始集合q中的所有顶点作为约束条件,求所有裁切面网格上所有顶点的最优位置。相比现有技术而言,本发明对于根据ct图像重建后的网格,将“黏连”的器官和“增生”的组织切除是一种常见的操作,切割面的网格生成速度和效果对于后续的网格处理和观察有着重大的意义,可以有效地提高计算机辅助诊断的效率。

作为一种优选方式,所述步骤s5中,若分裂(μ>1),则用w替代q参加下一轮计算,否则将q从集合q中删除。

进一步地,所述步骤s5中,更新该步骤所修改的顶点内角及其左右相邻的两个顶点的邻接关系,之后进行下一轮计算,直至集合q中的顶点数目为3,将剩余的3个顶点组合成三角形。

本实施例的所述步骤s6中,利用最小二乘法调整裁切面的三角形分布和大小。

在本发明的技术方案中,裁切阶段按逆时针顺序将每条边与裁切面求交从而获得按逆时针排列的裁切(生成的)顶点,在后续步骤无需对顶点进行额外的排序工作,提高了算法效率。同时,预处理阶段将有序的顶点集合分成一个或多个首位相连的闭合多边形点集合,以便对每个集合分别进行断面生成。其次,对每个多边形点集向中心方向生成一层(或多层)狭窄的三角形带,该过程避免了裁切面与被裁切网格的交界部位因裁切面的网格狭长和稀疏而导致法线计算产生畸变,致使渲染效果变差。再次,在裁切面内层网格生成时采用的循环取最小内角进行三角形生成并根据分裂系数决定是否对生成三角形进行分裂的算法。此外,对内层裁切面生成的三角形,以原始顶点集合q中的顶点为边界约束进行最小二乘优化的处理方法。

本发明公开的基于面模型的断面网格生成方法,其实际应用过程中可参考如下实施例:

首先,裁切点的信息获取主要是根据裁切算法,针对每个三角形,按逆时针顺序将每条边与裁切面进行求交,从而有序地获取裁切生成的顶点并据此快速生成顶点之间的邻接关系;

其次,根据顶点及其邻接关系信息,将顶点分成一个或多个首尾相连的闭合多边形点集;

之后,对上阶段获取的每一个闭合多边形点集p,取其中的每一个顶点p,取其内角平分线的方向向量d,计算p沿着指向闭合多边形内部偏移得到的新的顶点q。q=p+u*d.其中u为数值小于0.01的标量。获得q组成的新的顶点集合q,将集合p和q中的顶点根据位置和拓扑关系进行连接,获得外层三角形带;

再次,对上一阶段获得的顶点集合q,每次取其中内角最小的顶点q,将其前后相邻的两个顶点x和y组成三角形,并根据分裂系数μ决定是否取q所对的边的中点w并将该三角形分裂成xqw和qyw两个三角形(μ=f*lavg/lxy,f为细分参数,lavg为边的平均长度,lxy为边xy的长度)。若分裂(μ>1),则w替代q参加下一轮计算,否则将q从集合q中删除。更新本轮修改的顶点的内角及其左右相邻的两个顶点的邻接关系后进行下一轮计算,直至集合q中顶点数目为3,将剩余的3个顶点组合成三角形;

此外,本阶段获取上个阶段获取的内层网格中的所有三角形顶点,并固定原始集合q中的顶点作为约束,进行最小二乘法优化,使组成裁切面的三角形均匀分布、大小适中;

最后,生成模型的切面网格,切面网格内部三角形分布均匀,无细长三角形。并且由于最外层网格带的存在,切面部分与网格其余部分的顶点法向量过度平缓,不存在渲染效果异常的问题。

作为本发明的优选案例,下面介绍对于胆囊模型的裁切面网格生成过程:

请参照图2,为裁切过后的胆囊模型,裁切面处存在孔洞,需要对该孔洞生成三角形网格进行添补,即裁切面的网格生成过程;

请参照图3,图3为进行外层网格(三角形带)生成的结果,图中所展示的结果为生成了两层三角形带;

请参照图4,图4(左)为生成内层三角形网格的结果。由图4(中)可见,生成的内层三角形网格分布不均,大小不一,且存在较多狭长的三角形。图4(右)所示为对内层三角形进行最小二分法优化之后的结果,优化之后的三角形网格分布较均匀、大小近似且不存在极端狭长的三角形。

本发明公开的基于面模型的断面网格生成方法,其相比现有技术而言的有益效果在于,本发明,在裁切阶段获取有序的多边形顶点集合,可以避免后续过程的顶点排序工作,提高了算法效率。同时,本发明在裁切面生成过程中先生成一条或多条狭窄的三角形带,该三角形带作为被裁切网格和内层裁切面网格的连接部分,可以避免其他裁切面生成算法中裁切面三角形狭长和稀疏导致的法线计算畸变导致的渲染效果变差问题。其次,本发明采用最小内角进行三角形生成,并根据分裂系数决定是否对三角形进行分裂,可以处理凹多边形和凸多边形的情况,并且可以通过调节分裂系数控制网格三角形的数量,具有较广的适用范围和良好的灵活性。此外,本发明对裁切面内层三角形进行最小二乘优化,可以使内层三角形大小趋于一致,形状更加规则、分布更加均匀,避免网格较稀疏导致的精度问题和较密集导致的计算量增大问题,以便后续的网格处理工作的开展。

以上所述只是本发明较佳的实施例,并不用于限制本发明,凡在本发明的技术范围内所做的修改、等同替换或者改进等,均应包含在本发明所保护的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1