表面网格切割和切口边界优化处理的方法和系统与流程

文档序号:17668170发布日期:2019-05-15 22:51阅读:311来源:国知局
表面网格切割和切口边界优化处理的方法和系统与流程

本发明主要涉及医学图像处理领域,尤其涉及医学图像的表面网格切割和切口边界优化处理的方法和系统。



背景技术:

医学影像数据集越来越庞大,要对整个影像数据集进行快速的三维可视化处理,是一个非常有挑战性的问题。在实际应用中,感兴趣的可能只是其中的一部分数据,可以选取其中一小部分作为绘制对象,以达到快速的三维可视化的目的。在医学图像处理中,可对表面网格所表示的影像数据进行平面切割以实现对医学影像数据的分析。

进一步,虚拟手术仿真系统的建模能力越来越强大,能够模拟活体人体组织的物理特性和生理特性,并且可以对各种手术情况和场景进行仿真。由于在实际手术中需要对病变器官进行切割缝合等操作,因此虚拟手术中模型切割模拟是非常重要的一个组成部分。

当前主要存在以下几种用于表面网格切割的技术:

1.mortenbro-nielsen提出的单元去除法(bro-nielsen,m.“finiteelementmodelinginsurgerysimulation”proceedingsoftheieee86.3(1998):490-503),该方法将与切割面发生相交的单元直接去除,此方法实现简单,但是切割效果比较粗糙。

2.andrewb.mor提出了一种累进切割的方法(mor,andrewb.“progressivecuttingwithminimalnewelementcreationofsofttissuemodelsforinteractivesurgicalsimulation”,carnegiemellonuniversity,2001),该方法将切割面完全掠过某个单元之前先将该单元进行临时分裂,再对这些临时单元进行剖分,此方法虽然效果细腻程度有所加强,但是算法复杂度增加。

3.yi-jelim等人对累进切割方法进行了改进,在切割进行过程中根据设定的阈值将离切割轨迹较近的顶点移动到切割轨迹的顶点上,这样使得切割单元的边界将全部移动到切割面上。(参见lim,yi-je,hujohn,changchu-yin,etal..softtissuedeformationandcuttingsimulationforthemultimodalsurgerytraining.proceedingsofthe19thieeesymposiumoncomputer-basedmedicalsystems,saltlakecity,2006:635-640;zhangh,payandehs,dill.j.simulationofprogressivecuttingonsurfacemeshmodel[j].draft6-08,sep02,2002;andrewbmor,takeokanade.modifyingsofttissuemodels:progressivecuttingwithminimalnewelementcreation[j].medicalimagecomputingandcomputer-assistedintervention,2000,1935:598-607)

4.王洪瑞等人提出了一种算法(王洪瑞等,“虚拟手术中表面网格切割优化算法的研究”,燕山大学学报6(2013):528-534),该算法在交点复制顶点平移法的基础上通过移动切割轨迹与三角面片的交点对算法进行优化,并按照最大化最小角的原则重新构造三角面片以达到提高剖分质量的目的,然后利用贝塞尔曲线构造切口凹槽的思想,采用复用二次贝塞尔曲线对切口凹槽进行细化,改善切割效果。

针对现有技术中的以上问题,期望对现有的医学图像网格化处理作出改进。



技术实现要素:

针对以上技术问题,本文提出一种表面网格切割及其优化处理切口边界的方法,该方法能有效地处理表面网格切口边界,避免产生内角尖锐的三角形,从而提高表面网格的质量,为后续的基于面网格生成体网格降低失败的风险。

本发明提供了一种表面网格切割方法,包括:

获取初始表面网格与切割平面的相交三角面片集合;

获取所述初始表面网格关于所述切割平面的边界点集;

获取所述初始表面网格与所述切割平面的相交点集;

使用所述边界点集中的点与所述相交点集中的点来形成四边形;以及

处理所述四边形以获得表面网格。

可任选地,所述边界点集包括所述三角面片集合中与所述切割平面相交的三角面片的顶点中不属于所述切割平面上的点集合。

可任选地,所述获取边界点集包括:

基于网格控制参数获取所述点集合中在所述切割平面上或所述切割平面下的点来形成所述边界点集。

可任选地,所述获取边界点集包括:

消除所述边界点集中的迂回点。

可任选地,所述消除所述边界点集中的迂回点包括:

确定指向边界点的向量与切割平面法向为锐角还是钝角;

计算包括所述边界点的两个向量的内积;以及

根据向量与切割平面法向为锐角还是钝角以及所述内积来确定所述边界点是否为迂回点。

可任选地,所述获取相交点集包括:

获取所述三角面片集合与所述切割平面的多个相交点;以及

对所述多个相交点进行插值处理以获得所述相交点集。

可任选地,所述获得表面网格包括:

将所述四边形拆分成三角形;以及

对所述拆分的三角形进行delaunayremesh处理以获得表面网格。

可任选地,所述将所述四边形拆分成三角形包括:

根据最大化最小角原则来将所述四边形拆分成三角形。

可任选地,该方法进一步包括:

将所述表面网格投影到所述切割平面上以形成新的切口平面。

本发明的又一方面提供了一种表面网格切割装置,包括:

输入模块,用于获取初始表面网格与切割平面的相交三角面片集合;

边界点集处理模块,用于获取所述初始表面网格关于所述切割平面的边界点集;

相交点集处理模块,用于获取所述初始表面网格与所述切割平面的相交点集;

新网格生成模块,用于使用所述边界点集中的点与所述相交点集中的点来形成四边形;以及处理所述四边形以获得表面网格。

可任选地,所述边界点集包括所述三角面片集合中与所述切割平面相交的三角面片的顶点中不属于所述切割平面上的点集合。

可任选地,所述边界点集处理模块被进一步配置成:

基于网格控制参数获取所述点集合中在所述切割平面上或所述切割平面下的点来形成所述边界点集。

可任选地,所述边界点集处理模块被进一步配置成:

消除所述边界点集中的迂回点。

可任选地,所述边界点集处理模块被进一步配置成:

确定指向边界点的向量与切割平面法向为锐角还是钝角;

计算包括所述边界点的两个向量的内积;以及

根据向量与切割平面法向为锐角还是钝角以及所述内积来确定所述边界点是否为迂回点。

可任选地,所述相交点集处理模块被进一步配置成:

获取所述三角面片集合与所述切割平面的多个相交点;以及

对所述多个相交点进行插值处理以获得所述相交点集。

可任选地,所述新网格生成模块被进一步配置成:

将所述四边形拆分成三角形;以及

对所述拆分的三角形进行delaunayremesh处理以获得表面网格。

可任选地,所述新网格生成模块被进一步配置成:

根据最大化最小角原则来将所述四边形拆分成三角形。

可任选地,该装置进一步包括切口平面生成模块,其被配置成:

将所述表面网格投影到所述切割平面上以形成新的切口平面。

本发明的进一步方面提供了一种表面网格切割系统,所述系统包括:

至少一个处理器;以及

存储器,用于存储指令,所述指令被所述至少一个处理器执行时使得所述系统:

获取初始表面网格与切割平面的相交三角面片集合;

获取所述初始表面网格关于所述切割平面的边界点集;

获取所述初始表面网格与所述切割平面的相交点集;

使用所述边界点集中的点与所述相交点集中的点来形成四边形;以及

处理所述四边形以获得表面网格。

与现有技术相比,本发明至少具有以下优势:

(1)提供与初始表面网格相比更为逼真的切口边界;

(2)提供质量优良的切口附近的壁面表面网格;

(3)提供带有边界属性值的切口边界多边形或三角形。

附图说明

图1是根据本发明的各方面的优化表面网格的方法的流程图。

图2是根据本发明的各方面的优化表面网格的替换方法的流程图。

图3是根据本发明的各方面的优化处理网格切口边界的方法的流程图。

图4是根据本发明的各方面的三角面片的图解。

图5a和5b是网格边界点集迂回的示意图。

图6图解了最大化最小角原则。

图7是根据本发明的各方面的优化处理网格切口边界的模块示意图。

具体实施方式

为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。

在图像数据处理过程中,“图像分割”、“图像提取”、“图像分类”可以相互转化,均指代从大范围区域内选取符合某条件的图像。本文所描述的网格可以是三角面片组成的网格,例如delaunay表面网格。delaunay表面网格是指一系列相互邻接且互不重叠的三角形集合。

图1示出了根据本发明的优化表面网格的方法的流程图。该优化表面网格的方法包括以下步骤:

步骤101,获取医学图像。

在一些实施例中,可使用成像系统来采集医学图像。

成像系统可包括但不限于,数字减影血管造影(dsa)、磁共振成像(mri)、磁共振血管造影(mra)、计算机断层扫描(ct)、计算机断层扫描血管造影(cta)、超声波扫描(us)、正电子发射断层扫描输(pet)、单光子发射计算机断层扫描(spect)、spect-mr、ct-pet、ce-spect、dsa-mr、pet-mr、spect-us、tms-mr、us-ct、us-mr、x射线-pet、x射线-us、视频-ct、视频-us等中的一种或多种的组合。

医学图像可以包括对象的血管、组织或器官的图像或数据。

步骤102,对所获取的医学图像进行分割,得到图像的裸数据。

图像分割过程可以基于图像的像素点(或体素点)的相应特征进行。在一些实施例中,所述像素点(或体素点)的相应特征可以包括纹理结构、灰度、平均灰度、信号强度、颜色饱和度、对比度、亮度、或其组合。

步骤103,对图像的裸数据(通常保存为.raw文件)进行表面网格划分。

例如,可以对图像裸数据建模,对模型的表面进行体网格划分(也被称为三维网格划分)。体网格划分可以是将模型用三维的网格进行划分。所述三维网格可以包括四面体网格、六面体网格、棱柱体网格(边界层网格)、四面体与六面体混合网格、笛卡尔网格、球填充法网格等。

作为一个示例,可以选择表面网格质量参数,生成delaunay表面网格。

步骤104,确定切割平面。

例如,可以通过点法式确定切割平面,具体而言,可以在将要切割的网格附近取一个点(例如,网格内部一个点或者外部靠近待切割表面网格附近的一个点),并且确定一个法向量作为平面的正方向(即平面朝上的部分),由此确定切割平面。

步骤105,输入网格控制参数。该网格控制参数可以控制要处理表面网格的哪一部分(例如,切割平面上的部分还是切割平面下的部分)。

举例而言,如果网格控制参数为1,可表示将处理表面网格在切割平面上的点集,即,选择表面网格在切割平面上的顶点集合作为初始边界点集合;如果网格控制参数为0,可表示将处理表面网格在切割平面下的点集,即,选择网格在平面下的顶点集合作为初始边界点集合。

步骤106,优化处理网格切口。具体操作在以下图3中解说。

步骤107,生成具有边界属性值的多边形切口或者具有边界属性值的三角化后的切口。

步骤108,输出切割后的表面网格并进行可视化显示。

图2示出了根据本发明的优化表面网格的替换方法的流程图。

该方法包括步骤201,导入待切割的表面网格。例如,可以导入.stl文件、.off文件等格式的表面网格文件。

图2的方法中的步骤202-206与图1中的步骤104-108是相同的。在此不再赘述。

图3是根据本发明的优化处理网格切口的方法的流程图。具体而言,该方法是图1的步骤106和/或图2的步骤204的具体操作。该方法包括以下步骤:

步骤301,确定表面网格与切割平面相交的三角面片集合。

例如,可以根据表面网格和切割平面的位置来确定相交三角面片集合。

三角面片是三角形表面网格的组成部分。作为示例,图4示出了切割平面与三角网格相交的环,其是由多个三角面片构成的集合。

进一步,可以确定相交三角面片集合在切割平面上或切割平面下的顶点以及相交三角面片集合与切割平面的交点。

步骤302,获取表面网格在切割平面上或切割平面下的边界点集b。

该步骤可包括根据网格控制参数来选择要处理切割平面上还是切割平面下的点(例如,相交三角面片集合在平面上或平面下的顶点)。例如,如果网格控制参数为1,则选择要处理相交三角面片集合在切割平面上的顶点;如果网格控制参数为0,则选择要处理相交三角面片集合在切割平面下的顶点。这里的网格控制参数仅仅是示例,也可根据实际需要选取其它形式的网格控制参数。

该步骤可进一步包括获取所选顶点作为初始边界点,并对所获取的初始边界点进行首尾相连以构成有向的边界点集b。这里所说网格的边界点指的是从初始表面网格的三角面片中去掉与切割平面相交的相交环后剩下的位于切割面上方或下方(上方或下方由网格控制参数0或1来决定)的三角面片集合的边界点集,换言之,边界点集合是相交三角面片集合的顶点中不处于切割平面上的点集合。

步骤303,调整边界点集b以生成经更新的边界点集b1。

该步骤可以消除边界点集b中的迂回点。如上所述,边界点集b可以是有向点集合。边界点集b可被投影到切割平面上。在边界点集b中,有些点会投影到前一个点的后面,这样对医学成像会产生不利的影响。具体而言,如果一个点投影到前一个点的后面(即,点集方向的反方向),则会出现边界点集与相交点集一一匹配后相互连接为四边形的过程中产生相互交叉、网格扭曲的现象。

根据本发明的一方面,可以通过构造辅助线和更新边界点来避免前一点的投影落到后一点的投影的后面。

具体而言,边界点集的调整可包括以下操作:

首先,根据切割平面的法向以及边界点集b中构成的有向连线,确定边界点集b中的有向点中有没有迂回点。

如有迂回点,则相应地添加三角形,消除迂回点和相应的迂回边,得到新的边界点集b1。重复此过程,直至边界点集b中的所有点都按照同一个方向。

图5a和图5b解说了消除迂回点的具体示例。

具体而言,图5a示出了切割平面法向与迂回边(与有向点集b的总方向相反方向的边)的向量成钝角的情形。图5a中的a、b、c、d为边界点集b中的点,且a、b、c、d顺次连接构成有向线段,箭头代表线段的方向。如图5a所示,点c位于点b的后面,由此构成了迂回边bc。

在图5a的情形中,可以计算向量ab与向量bc的内积,如果结果小于或等于0,则认为bc是迂回边;随后计算切割平面法向量与向量bc的内积,如果小于0,则添加向量bd,构成新的有序点集abd,由此消除了迂回点c。

图5b示出了切割平面法向与迂回边的向量成锐角的情形。其中点c位于点b的后面。

在图5b的情形中,同样可以计算向量ab与向量bc的内积,如果结果大于或等于0,则认为bc是迂回边;随后计算切割平面法向量与向量bc的内积,如果大于0,则添加向量ac,构成新的有向点集acd,由此消除了迂回点b。

步骤304,获取切割平面与表面网格的相交点集i。

在一些情形中,表面网格与切割平面仅有一个相交区域(例如,表面网格表征的是规则形状的肿瘤),则直接获取切割平面与表面网格的相交点。这些相交点可以是切割平面与表面网格的相交三角面片的边的交点或者是由这些交点进行插值处理后的新的点集。

在其它情形中,切割平面与表面网格可能有多个相交区域。例如,在表面网格表征的是蜿蜒的血管的情况下,一切割平面将与表面网格有多个剖面。在这种情况下,可将相关的相交三角面片集合分组(例如,切割平面与表面网格的一个剖面的相交三角面片集合分为一组),由此得到不同组的三角面片集合;随后获取切割平面中最靠近目标点(例如,待处理区域中的点)的相交三角面片集合的组中的所有相交点。

步骤305,对相交点集i进行插值处理以获得经插值相交点集i1。

具体而言,可以对步骤304中所获取的相交点进行插值处理,获得比边界点集(b或b1)中的点的个数更多的相交点集i1。

在一个示例中,可以对相交点进行等间距插值。在另一示例中,可以进行自适应插值,对较平直的相交点集区段插入较少的点,而对较弯曲的相交点集区段插入较多的点。

步骤306,获取相交点集中与边界点相对应的相交点子集i2。

在该步骤中,可以从步骤305中所获得的经插值相交点集i1中选择与边界点集(b或b1)中的每一点距离最近的对应点,从而获得相交点子集i2。

替换地,也可以跳过步骤305的插值处理,从步骤304中获得的相交点集i中选择与边界点集(b或b1)中的每一点距离最近的对应点,从而获得相交点子集i2。

步骤307,形成四边形和生成新网格。

具体而言,可以形成由边界点集和相交点子集i2组成的四边形。例如,将边界点集(b或b1)中的每一点与相距最近的相交点子集i2中的点连接,从而获得多个四边形。

随后可将四边形拆分成三角形,对三角形进行delaunayremesh处理以形成新的网格。

举例而言,可以将相交点子集i2和边界点集b1中的点一一对应,将对应的点连接以构成四边形;然后可按照最大化最小角的原则将每个四边形拆分为三角形,对新的三角形及其附近的三角形进行delaunayremesh处理,由此得到新的网格。

最大化最小角原则是由lawson提出的。具体而言,参见图6,四边形abcd可以拆成两个三角形,可以连接bd,也可以连接ac。所谓的最大化最小角原则就是采用连接ac这种情况,此情况下的最小角比前者要大。通过最大化最小角原则得到的新的三角形进一步避免了产生尖锐的三角形的问题。

步骤308,生成切口边界。

步骤308可对步骤307中更新后的网格取出新的网格边界点(例如,根据步骤302中的网格控制参数选择平面上或平面下边界点),并将这些边界点进行连接和有向排序,使得边界线段首尾相接,然后将所有新的边界点投影到切割平面上,从而获得投影点集合。

随后可将投影点集合中的点首尾相接构成多边形,并给每一个切口边界上的多边形赋予一个边界属性值。

优选地,可对此边界多边形进行delaunay三角化,使得每个切口边界上的多边形由多个三角形替代,并对这些处于同一切口边界上的三角形赋予相同的边界属性值。

在现有技术中,通常直接找出表面网格与切割平面的相交点来生成切口平面。

在一方面,本发明通过对相交点进行插值处理,能够避免生成质量较差的相交处的网格。这种经插值处理后得到更多的切割环上的点,从这些切割环中挑出与靠近切割环的边界网格上距离最近的点,然后拆分四边形得到新的两个三角网格,此类三角网格的内角不会太尖锐。

另一方面,本发明对网格的边界点进行了优化处理,通过消除边界点集中的迂回点,进一步优化了三角网格。

应理解,所公开的方法中各步骤的具体次序或阶层是示例性过程的解说。基于设计偏好,应该理解,这些方法中各步骤可以重新编排次序或组合,并且其中一些步骤是可任选的。

例如,图3的步骤303中的消除迂回边可被省略,从而后续步骤可以根据步骤302中获取的边界点集b来执行。作为另一示例,步骤305中的插值处理也可被省略,后续步骤可以根据步骤304中获取的相交点集i进行处理。另外,对边界点集的处理(步骤302和/或303)和对相交点集的处理(步骤304和/或305)的顺序也可以颠倒。本领域技术人员能够根据实际的需要对其中的步骤进行排列组合。

图7是根据本发明的各方面的用于优化处理网格切口边界的模块示意图。

如图7所示,用于优化处理网格切口边界的装置可包括输入模块701、边界点集处理模块702、相交点集处理模块703、新网格生成模块704和切口边界生成模块705。

输入模块701可获取表面网格与切割平面相交的三角面片集合。进一步,输入模块701还可获取相交三角面片集合在切割平面上或切割平面下的顶点和相交三角面片集合与切割平面的交点。

边界点集处理模块702可以根据网格控制参数来选择相交三角面片集合在切割平面上还是切割平面下的顶点作为初始边界点,对初始边界点进行首尾相连以构成有向的边界点集b。

边界点集处理模块702可以进一步调整边界点集b,生成经更新的边界点集b1。例如,边界点集处理模块702可以消除边界点集b中的迂回点。如以上步骤303所述的。

相交点集处理模块703可以获取相交点集i。如果表面网格与切割平面仅有一个相交区域(例如,表面网格表征的是规则形状的肿瘤),则直接获取切割平面与表面网格的相交点。如果切割平面与表面网格有多个相交区域(例如,表面网格表征的是蜿蜒的血管),则可将相交三角面片集合分组,并且获取切割平面中最靠近目标点(例如,待处理区域中的点)的相交三角面片集合的组中的所有相交点。

相交点集处理模块703还可对相交点集i进行插值处理以获得经插值相交点集i1,从而获得比边界点集中的点的个数更多的相交点集i1。

相交点集处理模块703可进一步获取相交点集中与边界点集相对应的相交点子集i2。

新网格生成模块704可以形成由边界点集和相交点子集组成的四边形,将四边形拆分成三角形,对三角形进行delaunayremesh处理以形成新网格。

切口边界生成模块705可以从新网格获取新的边界点,并将这些新边界点进行连接和有向排序,随后将新边界点投影到切割平面上。

切口边界生成模块705可进一步将投影点收尾向量以构成多边形,并且对切口边界上的多边形赋予边界属性值。替换地,切口平面生成模块704可边界多边形进行delaunay三角化,使得每个切口边界上的多边形由多个三角形替代,并对这些处于同一切口边界上的三角形赋予相同的边界属性值。

根据本公开的各方面,元素、或元素的任何部分、或者元素的任何组合可用包括一个或多个处理器的“处理系统”或处理器来实现。处理器的示例包括:微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编程逻辑器件(pld)、状态机、门控逻辑、分立的硬件电路以及其他配置成执行本公开中通篇描述的各种功能性的合适硬件。处理系统中的一个或多个处理器可以执行软件。软件应当被宽泛地解释成意为指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行件、执行的线程、规程、函数等,无论其是用软件、固件、中间件、微代码、硬件描述语言、还是其他术语来述及皆是如此。软件可驻留在计算机可读介质上。计算机可读介质可以是非瞬态计算机可读介质。作为示例,非瞬态计算机可读介质包括:磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,紧致盘(cd)、数字多用盘(dvd))、智能卡、闪存设备(例如,记忆卡、记忆棒、钥匙驱动器)、随机存取存储器(ram)、只读存储器(rom)、可编程rom(prom)、可擦式prom(eprom)、电可擦式prom(eeprom)、寄存器、可移动盘、以及任何其他用于存储可由计算机访问与读取的软件与/或指令的合适介质。作为示例,计算机可读介质还可包括承载、传输线、与任何其他用于传送可由计算机访问与读取的软件与/或指令的合适介质。计算机可读介质可以驻留在处理系统中、在处理系统外部、或跨包括该处理系统的多个实体分布。计算机可读介质可以在计算机程序产品中实施。作为示例,计算机程序产品可包括封装材料中的计算机可读介质。本领域技术人员将认识到如何取决于具体应用和加诸于整体系统上的总体设计约束来最佳地实现本公开中通篇给出的所描述的功能性。

虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可作出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变型都将落在本申请的权利要求书的范围内。

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