一种在血管数字模型中生成肿瘤的方法、系统及电子设备与流程

文档序号:20267450发布日期:2020-04-03 18:34阅读:276来源:国知局
一种在血管数字模型中生成肿瘤的方法、系统及电子设备与流程

本申请属于虚拟手术技术领域,特别涉及一种在血管数字模型中生成肿瘤的方法、系统及电子设备。



背景技术:

研究表明,手术教学训练中80%的失误是人为因素引起的,所以对于医生手术技能的训练极其重要。利用虚拟手术系统进行手术技能训练是一种新兴且高效的方式。

虚拟手术系统是虚拟现实技术在医学领域的一个典型应用。虚拟手术是由医学图像数据出发,应用计算机图形学重构出虚拟人体软组织模型,模拟出虚拟的医学环境,并利用触觉交互设备与之进行交互的手术系统。医生可在虚拟手术系统上观察专家手术过程,也可重复练习。虚拟手术使得手术培训的时间大为缩短,减少了对昂贵的实验对象的需求,同时能够避免传统手术风险高,病人痛苦大,术后效果不理想等缺点。

虚拟手术系统目前的技术难点之一是如何得到虚拟手术系统中所需要的病例模型。在颅内动脉瘤手术模拟训练系统中,病例模型是指病变血管数字模型,目前已有的得到病变血管数字模型技术方案主要有以下三种:

(1)三维重建

该方法基于实际病例的ct/mri/dsa等扫描图像进行血管分割,进而采用三维重建技术获得具有肿瘤病变的三维血管数字模型。然而,三维重建方法中,由于种种因素,扫描图像中往往存在着较大的噪声,血管的自动分割和识别比较困难,很难找到一种普适的方法。所以此方法获得的血管模型往往是粗糙的,需要经过人工干预和后期处理才能用于虚拟手术。该方法获取病例模型的前提是拥有该病例的图像,由于涉及到病人隐私的问题,获取较为困难,并且需要掌握对三维重建获得的粗糙模型的后期处理方法。

(2)通过三维编辑软件编辑

该方法建立在已经获取并且经过三维重建和后期处理的三维血管数字模型的基础之上,通过3dsmax或maya等三维编辑软件,对三维血管数字模型进行编辑,进而获取不同类型的病变血管模型。该方法可以获得病理特征种类丰富的病例模型,然而通过三维软件进行编辑的方法,需要操作人员学习3dsmax或maya等三维编辑软件的软件使用,而且需要了解血管数字模型的结构,需要较大的学习成本。

(3)直接编辑

该方法同样建立在已经获取并且经过三维重建和后期处理的三维血管数字模型的基础之上,通过肿瘤位置选取、肿瘤孔洞切割和肿瘤网格生成等步骤,简单快速的构造出血管肿瘤病变。直接编辑的方法虽然可以快速方便的生成肿瘤病变血管数字模型,然而该方法无法适配不同半径的血管数字模型,生成的肿瘤与血管数字模型相连接处过渡不自然,与真实肿瘤有较大区别,除此之外,直接编辑的操作过程会降低血管数字模型的网格质量。



技术实现要素:

本申请提供了一种在血管数字模型中生成肿瘤的方法、系统及电子设备,旨在至少在一定程度上解决现有技术中的上述技术问题之一。

为了解决上述问题,本申请提供了如下技术方案:

一种在血管数字模型中生成肿瘤的方法,包括以下步骤:

步骤a:在血管数字模型上选取肿瘤位置;

步骤b:基于平面的点法式方程计算血管数字模型在肿瘤位置处的近似半径;

步骤c:以选取的肿瘤位置为球心生成一个虚拟球体,将所述虚拟球体与血管数字模型进行碰撞后删除碰撞三角形,以向虚拟球体中心生长的方式生成空洞,并通过迭代的三角形细化方法构建光滑且规则的肿瘤网格模型;

步骤d:对所述肿瘤网格模型表面进行编辑,选取一定数量的控制点,通过保刚性变形,在肿瘤网格表面构造出不规则的形变;

步骤e:对所述肿瘤网格模型与血管数字模型的连接处进行光顺处理;

步骤f:对所述肿瘤网格模型进行严格保边界的网格简化,得到肿瘤在血管数字模型中的生成结果。

本申请实施例采取的技术方案还包括:在所述步骤a中,所述肿瘤位置选取方式具体为:在血管数字模型上点选一点,以该点的位置信息作为屏幕坐标信息;将该屏幕坐标信息转换为世界坐标信息,并将该世界坐标信息与虚拟相机的位置连成一条射线;计算与该射线相交的血管数字模型上的三角形面片,计算该三角形三个顶点的几何中心点的位置tc,该位置tc即在血管数字模型上选取的肿瘤位置。

本申请实施例采取的技术方案还包括:在所述步骤b中,所述近似半径计算方法具体包括:

步骤b1:以在血管数字模型上选取的肿瘤位置为中心,得到其周围半径为r内的m个三角面片,计算第1个三角面片的法向量与第2个三角面片的法向量的向量积计算第2个三角面片的法向量与第3个三角面片的法向量的向量积依此类推,可以计算得到m-1个向量积然后计算它们的均值

步骤b2:取在血管数字模型上选取的肿瘤位置坐标所在的三角面片f0,计算其重心的坐标g0(x0,y0,z0),通过和g0,得到一个经过g0且垂直于的平面的点法式方程,即:

a(x-x0)+b(y-y0)+c(z-z0)=0

步骤b3:设定一个正实数α,在构成血管数字模型的所有三角面片中,找到所有重心坐标gi(xi,yi,zi)符合不等式-α≤a(x-xi)+b(y-yi)+c(z-zi)≤α的三角面片并构成集合f,计算f中所有三角面片重心坐标的平均值,得到一个点o0;

步骤b4:计算集合f中所有三角面片的重心与点o0之间的直线距离然后求平均值r0,该平均值r0即为血管数字模型在选取的肿瘤位置处的近似半径。

本申请实施例采取的技术方案还包括:在所述步骤c中,所述构建光滑且规则的肿瘤网格模型具体包括:

步骤c1:以在血管数字模型上选取的肿瘤位置tc为球心,生成一个半径为r的虚拟球体,r=αr0,α为0到1之间的值;

步骤c2:将虚拟球体与血管数字模型进行碰撞检测,得到所有与该虚拟球体相交的三角形集合s,求集合s中所有三角形面片的平均法向量dt,该法向量为肿瘤的生长方向;

步骤c3:将集合s中的所有三角形面片从血管数字模型中删除,得到一个不规则的边界,该边界上的所有顶点集合为sbd;

步骤c4:将顶点集合sbd上的每一个顶点与球心tc进行连线,分别求得对应连线与虚拟球体的交点集合sint;

步骤c5:将顶点集合sbd和交点集合sint上的顶点进行三角化连接,构成一圈三角形网格,并将交点集合sint中的顶点作为肿瘤与血管相交位置的顶点;

步骤c6:计算肿瘤球心位置pt和肿瘤最高点位置ph:

pt=tc+(r2-r2)dt

ph=pt+rdt

上述公式中,r为肿瘤半径,r=μr,μ为大于1的常数,r=αr0,r0为血管数字模型在选取的肿瘤位置处的近似半径;

步骤c7:将交点集合sint中的顶点和肿瘤最高点位置ph进行连接,形成一个锥形的网格,组成该网格的三角形集合为s0,对集合s0中的每一个三角形进行细分操作,得到新的三角形集合s1,然后对集合s1中的每一个三角形进行同样的细分操作,该操作进行n轮,最终得到的三角形集合sn即为规则的肿瘤网格模型。

本申请实施例采取的技术方案还包括:所述每一个三角形进行细分操作具体包括:对于集合中的每一个三角形,如果三个顶点中有两个顶点a和b属于交点集合sint,则取除了由顶点a和b组成的边以外的另两个边的中点x和y相连,并取中点x和y中的任意一个与顶点a和b中的任意一个相连,将原三角形分成3个,x和y为新增的顶点;如果三角形的三个顶点中没有任何顶点属于顶点集合sint,则取三条边的中点x,y,z,并两两相连,将原三角形分割成4个三角形,x、y和z为新增的顶点;将新增的顶点x和y或x、y和z分别移动到射线ptx和pty或ptx、pty和ptz与虚拟球体的交点处,得到其最终的位置。

本申请实施例采取的技术方案还包括:在所述步骤d中,所述在肿瘤网格表面构造出不规则的形变具体包括:

步骤d1:将生成的肿瘤网格模型作为网格变形操作的输入网格s;

步骤d2:将肿瘤网格分成m个部分,在每个部分中随机选取q个控制点;对每一个控制点,在肿瘤网格上选取其周围一定范围内的三角面片,将这些三角面片的顶点作为该控制点对应的自由点集;

步骤d3:将控制点的位置约束信息设置为:当前控制点沿该点法向或法向的反向移动λr距离后的位置;其中λ为介于大于0小于1的常数,r为肿瘤半径;

步骤d4:结合输入网格信息、控制点及其对应的自由点集信息以及固定位置约束信息进行保刚性网格变形。

本申请实施例采取的技术方案还包括:保刚性网格变形具体包括:

第一步:获取输入网格s的邻接信息,令顶点vi与其1-邻域三角面片构成一个单元ci;

第二步:定义每一单元的刚性能量,求和得到整体刚性能量:

上公式中,s为输入网格,s′为变形后的输入网格;e(s′)为整个网格的刚性能量;n为输入网格s中顶点的个数,ci为顶点vi与其1-邻域三角面片构成的一个单元,ci′为变形后的该单元,e(c′)为一个单元的刚性能量,n(i)为与顶点vi相邻的顶点的集合,pi为顶点vi的坐标,pi变形后的坐标为pi′,pj为顶点vj的坐标,pj变形后的坐标为pj′,ωij为边eij的权重,使用余切权值αij和βij是边eij的两个对角;ri为单元ci变换前后的旋转矩阵;

第三步:确定变形后顶点坐标的初始猜测;对于选中的控制点,其初始猜测为之前设置的固定位置约束;对于自由点,通过最小化||lp′-δ||2确定初始猜测,其中δ=lp,p是用户输入的初始网格中顶点的坐标,p′为控制点坐标已经根据上述固定位置约束改变后的网格中顶点的坐标;||lp′-δ||2要实现最小,则为lp′=lp,,其中矩阵l定义如下:

上述公式中,ωij为边eij的权重,使用余切权值n(i)为与顶点vi相邻的顶点集合;通过进一步计算和化简,可得:ataxfree=at(lp-bxfixed),解该方程组即可得到xfree,即为自由点的初始猜测;

第四步:利用变形后顶点坐标pi′,使用奇异值分解记算出所有变形单元的最优旋转矩阵;

第五步:利用当前最优旋转矩阵,解线性方程组得到新的顶点坐标;当ri确定后,通过求解线性方程组得到使e(s′)最小的p′,对于每个pi′可以得到以下方程:

上述方程左侧的线性组合就是p′的离散拉普拉斯-贝尔特拉米算子,因此方程组可以写为:lp′=b;求解该方程组即可得到p′;

第六步:迭代执行第四、五步,直到整体刚性能量小于设定阈值。

本申请实施例采取的技术方案还包括:在所述步骤e中,所述光顺处理过程包括:

步骤e1:选取血管网格模型上肿瘤孔洞边界的三角面片及其n-邻域三角面片,以上述三角面片组成的数字网格模型作为第一步网格光顺操作的输入:

获取数字网格模型的邻接信息,记每一个顶点i的邻接点集合为n(i);

计算每个顶点的各邻接点权值:

上述公式中,αij和βij是边(i,j)的两个对角;

根据邻接信息和wij计算数字网格模型中每个点的拉普拉斯坐标l(i):

上述公式中,pi为顶点i的坐标,pj为顶点i的邻接点j的坐标;

将原始坐标pi更新为λl(i)+pi;其中λ为小于1正实数;

将上述网格光顺步骤迭代进行m1次;

步骤e2:再次选取肿瘤上所有的三角面片以及血管网格模型上肿瘤孔洞边界的三角面片及其n-邻域三角面片,以上述三角面片组成的数字网格模型作为网格光顺的输入,将上述网格光顺操作迭代进行m2次,其中,m1应远大于m2。

本申请实施例采取的技术方案还包括:在所述步骤f中,所述对肿瘤网格模型进行严格保边界的网格简化具体包括:

步骤f1:对所有的初始顶点计算误差矩阵q,得到所有有效边(v1,v2);

步骤f2:对每一条有效边(v1,v2),计算最优抽取目标v以及抽取这条边的代价;

步骤f3:将所有的边按照抽取代价cost的大小存入一个堆中;

步骤f4:每次移除抽取代价最小的边,将顶点v1,v2合并到并且更新所有与相连的有效边的抽取代价和最佳抽取位置,计算移除代价最小边后肿瘤网格中三角面片的数量;

步骤f5:重复步骤f1至f4直到现有面的数量小设定阈值。

本申请实施例采取的另一技术方案为:一种在血管数字模型中生成肿瘤的系统,包括:

肿瘤位置选取模块:用于在血管数字模型上选取肿瘤位置;

近似半径计算模块:用于基于平面的点法式方程计算血管数字模型在肿瘤位置处的近似半径;

肿瘤网格构建模块:用于以选取的肿瘤位置为球心生成一个虚拟球体,将所述虚拟球体与血管数字模型进行碰撞后删除碰撞三角形,以向虚拟球体中心生长的方式生成空洞,并通过迭代的三角形细化方法构建光滑且规则的肿瘤网格模型;

肿瘤网格形变模块:用于对所述肿瘤网格模型表面进行编辑,选取一定数量的控制点,通过保刚性变形,在肿瘤网格表面构造出不规则的形变;

网格光顺处理模块:用于对所述肿瘤网格模型与血管数字模型的连接处进行光顺处理;

网格简化模块:用于对所述肿瘤网格模型进行严格保边界的网格简化,得到肿瘤在血管数字模型中的生成结果。

本申请实施例采取的又一技术方案为:一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的在血管数字模型中生成肿瘤的方法的以下操作:

步骤a:在血管数字模型上选取肿瘤位置;

步骤b:基于平面的点法式方程计算血管数字模型在肿瘤位置处的近似半径;

步骤c:以选取的肿瘤位置为球心生成一个虚拟球体,将所述虚拟球体与血管数字模型进行碰撞后删除碰撞三角形,以向虚拟球体中心生长的方式生成空洞,并通过迭代的三角形细化方法构建光滑且规则的肿瘤网格模型;

步骤d:对所述肿瘤网格模型表面进行编辑,选取一定数量的控制点,通过保刚性变形,在肿瘤网格表面构造出不规则的形变;

步骤e:对所述肿瘤网格模型与血管数字模型的连接处进行光顺处理;

步骤f:对所述肿瘤网格模型进行严格保边界的网格简化,得到肿瘤在血管数字模型中的生成结果。

相对于现有技术,本申请实施例产生的有益效果在于:本申请实施例的在血管数字模型中生成肿瘤的方法、系统及电子设备通过设计了一种血管肿瘤模型的自动生成及优化方法,用以丰富虚拟手术领域可采用的病例模型,并且使操作简单高效。相对于现有技术,本申请具有以下优点:

一、本申请不存在病例数据来源受限问题,且几乎不需要任何学习成本即可使用,能在正常血管数字模型中几乎任何位置构造肿瘤,有较高的自由度;

二、本申请可计算得到血管数字模型任意位置的近似半径,在生成肿瘤时可根据选中位置的血管模型半径自适应的设置肿瘤半径和孔洞半径,不必每一次手动设置;

三、本申请在通过经纬度采样生成肿瘤网格后,在肿瘤网格上随机选取一定数量的控制点,通过保刚性变形,在肿瘤表面构造出不规则的形变,能模拟更为丰富的肿瘤形态;

四、本申请在生成肿瘤网格后,通过两步网格光顺使肿瘤与血管模型连接处过渡更为平滑,更符合真实肿瘤与血管连接处的形态;

五、本申请在生成肿瘤网格后,进行了严格保边界的网格简化,使肿瘤网格与血管网格的网格密度之间不会有过大的差异。

附图说明

图1是本申请实施例的在血管数字模型中生成肿瘤的方法的流程图;

图2为生成的肿瘤网格模型中r与r的关系示意图;

图3(a)为肿瘤网格上的两个圆弧之间的网格示意图,图3(b)为将肿瘤网格分成3部分时其中一部分的网格示意图;

图4是保刚性网格变形流程图;

图5为顶点vi与其对应单元ci示意图;

图6为肿瘤网格进行保刚性变形的过程示意图;

图7为第一步网格光顺操作流程示意图;

图8为肿瘤网格与血管数字模型的连接处网格光顺过程示意图;

图9为网格简化流程图;

图10为在血管数字模型中生成肿瘤的最终效果示意图;

图11是本申请实施例的在血管数字模型中生成肿瘤的系统的结构示意图;

图12是本申请实施例提供的在血管数字模型中生成肿瘤的方法的硬件设备结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

请参阅图1,是本申请实施例的在血管数字模型中生成肿瘤的方法的流程图。本申请实施例的在血管数字模型中生成肿瘤的方法包括以下步骤:

步骤100:在血管数字模型上选取肿瘤位置;

步骤100中,肿瘤位置选取方式具体为:在血管数字模型上点选一点,以该点的位置信息作为屏幕坐标信息;将该屏幕坐标信息转换为世界坐标信息,并将该世界坐标信息与虚拟相机的位置连成一条射线;计算与该射线相交的血管数字模型上的三角形面片,计算该三角形三个顶点的几何中心点的位置tc,该位置tc即在血管数字模型上选取的肿瘤位置。

步骤200:基于平面的点法式方程计算血管数字模型在肿瘤位置处的近似半径;

步骤200中,通过基于平面的法式方程的等一系列简单计算,可以求得血管数字模型在任意位置的近似半径,后续在生成肿瘤时可根据近似半径自适应的设置肿瘤半径和孔洞半径。近似半径计算方式具体包括:

步骤201:以在血管数字模型上选取的肿瘤位置为中心,得到其周围半径为r内的m个三角面片,计算第1个三角面片的法向量与第2个三角面片的法向量的向量积计算第2个三角面片的法向量与第3个三角面片的法向量的向量积依此类推,可以计算得到m-1个向量积然后计算它们的均值

步骤202:取在血管数字模型上选取的肿瘤位置坐标所在的三角面片f0,计算其重心的坐标g0(x0,y0,z0),通过和g0,得到一个经过g0且垂直于的平面的点法式方程,即:

a(x-x0)+b(y-y0)+c(z-z0)=0(1)

将该平面看作近似垂直于血管延伸方向。

步骤203:设定一个合适的正实数α,在构成血管数字模型的所有三角面片中,找到所有重心坐标gi(xi,yi,zi)符合不等式-α≤a(x-xi)+b(y-yi)+c(z-zi)≤α的三角面片并构成集合f,计算f中所有三角面片重心坐标的平均值,得到一个点o0;

步骤204:计算集合f中所有三角面片的重心与点o0之间的直线距离然后求平均值r0,该平均值r0即为血管数字模型在选取的肿瘤位置处的近似半径。

步骤300:以选取的肿瘤位置为球心生成一个虚拟球体,将虚拟球体与血管数字模型进行碰撞后删除碰撞三角形,以向虚拟球体中心生长的方式生成空洞,并通过迭代的三角形细化方法构建光滑且规则的肿瘤网格模型;

步骤300中,肿瘤网格模型构建方法具体包括:

步骤301:以在血管数字模型上选取的肿瘤位置tc为球心,生成一个半径为r的虚拟球体,r=αr0,α为0到1之间的值;

步骤302:将虚拟球体与血管数字模型进行碰撞检测,得到所有与该虚拟球体相交的三角形集合s,求集合s中所有三角形面片的平均法向量dt,该法向量为肿瘤的生长方向;

步骤303:将集合s中的所有三角形面片从血管数字模型中删除,得到一个不规则的边界,该边界上的所有顶点集合为sbd;

步骤304:将顶点集合sbd上的每一个顶点与球心tc进行连线,分别求得对应连线与虚拟球体的交点集合sint;

步骤305:将顶点集合sbd和交点集合sint上的顶点进行三角化连接,构成一圈三角形网格,并将交点集合sint中的顶点作为肿瘤与血管相交位置的顶点;

步骤306:计算肿瘤球心位置pt和肿瘤最高点位置ph:

pt=tc+(r2-r2)dt(2)

ph=pt+rdt(3)

上述公式中,r为肿瘤半径,r=μr,μ为大于1的常数,r=αr0,r0为血管数字模型在选取的肿瘤位置处的近似半径,生成的肿瘤网格模型中r与r的关系如图2所示。

步骤307:将交点集合sint中的顶点和肿瘤最高点位置ph进行连接,形成一个锥形的网格,组成该网格的三角形集合为s0,对集合s0中的每一个三角形进行细分操作,得到新的三角形集合s1,然后对集合s1中的每一个三角形进行同样的细分操作,该操作进行n轮,最终得到的三角形集合sn即为规则的肿瘤网格模型。

进一步地,本申请对三角形集合si(i∈[0,n])的细分操作具体包括:

(1)对于集合中的每一个三角形,如果三个顶点中有两个顶点(假设为顶点a和b)属于交点集合sint,则取除了由顶点a和b组成的边以外的另两个边的中点(假设为x和y)相连,并取中点x和y中的任意一个与顶点a和b中的任意一个相连,将原三角形分成3个,x和y为新增的顶点;如果三角形的三个顶点中没有任何顶点属于顶点集合sint,则取三条边的中点(假设为x,y,z),并两两相连,将原三角形分割成4个三角形,x、y和z为新增的顶点。

(2)将新增的顶点x和y或x、y和z分别移动到射线ptx和pty或ptx、pty和ptz与虚拟球体的交点处,得到其最终的位置。

步骤400:对肿瘤网格模型表面进行编辑,选取一定数量的控制点,通过保刚性变形,在肿瘤网格表面构造出不规则的形变;

步骤400中,不规则的形变能模拟更为丰富的肿瘤形态。具体构造方式包括:

步骤401:设置输入网格,选取控制点并设置每个控制点对应的自由点集,设置控制点的固定位置约束,进行保刚性网格变形;

步骤402:将生成的肿瘤网格模型作为网格变形操作的输入网格s;

步骤403:选取控制点;结合经度纬度采样构造肿瘤网格的方法,容易得到肿瘤网格上的两个相邻圆弧之间的三角面片组成的条状网格mi(i=1,2,...,n,n集合p中的顶点个数),更进一步,可以得到由多个上述条状网格mi构成的集合。按此方法,将肿瘤网格分成m个部分,每个部分有个上述的条状网格,最后一部分有个上述条状网格。如图3所示,图3(a)为肿瘤网格上的两个圆弧之间的网格示意图,图3(b)为将肿瘤网格分成3部分时其中一部分的网格示意图。将肿瘤网格分成m个部分,在每个部分中随机选取q个控制点;对每一个控制点,在肿瘤网格上选取其周围一定范围内的三角面片,将这些三角面片的顶点作为该控制点对应的自由点集。

步骤404:设置固定位置约束信息;将控制点的位置设置为:当前控制点沿该点法向或法向的反向移动λr距离后的位置;其中λ为介于大于0小于1的常数,r为肿瘤半径;用户可自定义λ,λ越大,肿瘤表面不规则形变的程度越大。

步骤405:结合输入网格信息、控制点及其对应的自由点集信息以及固定位置约束信息进行保刚性网格变形。保刚性网格变形流程如图4所示,具体包括以下步骤:

第一步:获取输入网格s的邻接信息,令顶点vi与其1-邻域三角面片构成一个单元ci,如图5所示;若单元ci进行了刚性变换,则变换前后的顶点位置关系可用一个旋转矩阵表示,即满足:其中pi为顶点vi的位置;pi变形后的位置为pi′,ri为单元ci变换前后的旋转矩阵,n(i)为与顶点vi相邻的顶点集合。当变形不是刚性的时候,依然可以找到最佳旋转矩阵ri,使得等式pi′-pj′=ri(pi-pj)左右两边差值最小。

第二步:定义每一单元的刚性能量,求和得到整体刚性能量:

上公式中,s为输入网格,s′为变形后的输入网格;e(s′)为整个网格的刚性能量;n为输入网格s中顶点的个数,ci为顶点vi与其1-邻域三角面片构成的一个单元,ci′为变形后的该单元,e(c′)为一个单元的刚性能量,n(i)为与顶点vi相邻的顶点的集合,pi为顶点vi的坐标,pi变形后的坐标为pi′,pj为顶点vj的坐标,pj变形后的坐标为pj′,ωij为边eij的权重,使用余切权值αij和βij是边eij的两个对角;ri为单元ci变换前后的旋转矩阵。

通过最小化刚性能量e(s′)可以实现网格的尽可能刚性变形。在e(s′)式中,只有顶点变型后坐标pi′和旋转矩阵ri是未知量。

第三步:确定变形后顶点坐标的初始猜测;对于选中的控制点,其初始猜测为之前设置的固定位置约束。对于自由点,通过最小化||lp′-δ||2确定初始猜测,其中δ=lp,p是用户输入的初始网格中顶点的坐标,p′为控制点坐标已经根据上述固定位置约束改变后的网格中顶点的坐标。||lp′-δ||2要实现最小,则为lp′=lp,,其中矩阵l定义如下:

公式(5)中,wij为边eij的权重,使用余切权值n(i)为与顶点vi相邻的顶点集合。

根据lp′=lp求出网格s中自由点坐标的初始猜测,等式可改写为:axfree+bxfixed=lp。其中a为矩阵l中自由顶点下标对应的列组成的矩阵,xfree为自由顶点的坐标,是未知量,b为矩阵l中固定顶点下标对应的列组成的矩阵,xfixed为固定顶点的坐标,包括控制点和网格s中的剩余顶点。

通过进一步计算和化简,可得:ataxfree=at(lp-bxfixed),解该方程组即可得到xfree,即为自由点的初始猜测。

最后,需要迭代更新旋转矩阵ri和顶点变型后顶点坐标pi′。

第四步:利用变形后顶点坐标pi′,使用奇异值分解记算出所有变形单元的最优旋转矩阵;对于某一单元ci,记eij=pi-pj,相应的,在变形后的单元ci′中,记eij′=pi′-pj′,用j简化表示集合j∈n(i)。则某一单元的刚性能量e(c′)经过化简后可以写为:

式中不包含ri的项在寻找最优旋转矩阵的过程中可以看作常量,因此可以删去不作讨论,此时上式可以写作:

已知当risi为对称半正定矩阵时,tr(ris′)可以得到最大值,因此可以从si的奇异值分解si=ui∑ivit中推导出ri:

ri=viuit(8)

按照上述方法计算出每一个单元的旋转矩阵ri。

第五步:利用当前最优旋转矩阵,解线性方程组得到新的顶点坐标;当ri确定后,通过求解线性方程组得到使e(s′)最小的p′,对于每个pi′可以得到以下方程:

上述方程左侧的线性组合就是p′的离散拉普拉斯-贝尔特拉米算子,因此方程组可以写为:lp′=b;求解该方程组即可得到p′。

第六步:迭代执行第四、五步,直到整体刚性能量小于设定阈值;下一次迭代中,将新求得的p′作为已知量,以此求解新的r和p′,如此反复,直到网格刚性能量小于用户指定的阈值为止。

肿瘤网格进行保刚性变形的过程如图6所示,其中(a)为设置固定位置约束,(b)为网格模型变形的初始猜测,(c)为迭代更新p和r一定次数后的网格模型。需要说明的是,本申请中控制点的选取过程,除了可以通过按一定方式随机选取控制点外,还可以通过用户鼠标点选的人机交互方式选取控制点;固定位置约束过程,除了可以设置固定的偏移量λr外,可以通过记录用户控制鼠标移动的距离来设置偏移量。

步骤500:对肿瘤网格模型与血管数字模型的连接处进行光顺处理;

步骤500中,光顺处理过程分为以下两步:

第一步网格光顺:经过上述的经度纬度采样方法构造肿瘤后,容易得到肿瘤网格上靠近底部的三角面片(即肿瘤与血管数字模型连接处的三角面片)。此外,再选取血管网格模型上肿瘤孔洞边界的三角面片及其n-邻域三角面片。以上述三角面片组成的数字网格模型作为第一步网格光顺操作的输入。

第一步网格光顺操作流程如图7所示,具体包括以下步骤:

步骤501:获取数字网格模型的邻接信息,记每一个顶点i的邻接点集合为n(i);

步骤502:计算每个顶点的各邻接点权值:

公式(10)中,αij和βij是边(i,j)的两个对角。

步骤503:根据邻接信息和wij计算数字网格模型中每个点的拉普拉斯坐标l(i):

公式(11)中,pi为顶点i的坐标,pj为顶点i的邻接点j的坐标。

步骤504:将原始坐标pi更新为λl(i)+pi;其中λ为小于1正实数;

步骤505:将上述网格光顺步骤迭代进行m1次,然后进行第二步光顺操作。

第二步网格光顺:再次选取肿瘤上所有的三角面片以及血管网格模型上肿瘤孔洞边界的三角面片及其n-邻域三角面片,以上述三角面片组成的数字网格模型作为网格光顺的输入,将上述网格光顺操作迭代进行m2次,其中,m1应远大于m2。肿瘤网格与血管数字模型的连接处网格光顺过程如图8所示,图8(a)原始肿瘤网格,图8(b)为第一步光顺后的肿瘤网格,图8(c)第二步光顺后的肿瘤网格。

步骤600:对肿瘤网格模型进行严格保边界的网格简化,得到肿瘤在血管数字模型中的生成结果。

步骤600中,生成肿瘤网格后,进行严格保边界的网格简化,使肿瘤网格与血管网格的网格密度之间不会有过大的差异。将整个肿瘤网格作为输入网格,进行严格保边界的qem(二次误差度量)网格简化,流程如图9所示,具体包括以下步骤:

步骤601:对所有的初始顶点计算误差矩阵q,得到所有有效边(v1,v2)(有效边是指联通的边);

步骤601中,具体的,需要计算与一个顶点相邻的所有平面的平面方程ax+by+cz+d=0且a2+b2+c2=1,保存参数a,b,c,d,构造向量p=(a,b,c,d)t,计算每个面的二次基本误差矩阵kp:

将一个顶点的所有kp求和即构成该点的误差矩阵q。

步骤602:对每一条有效边(v1,v2),计算最优抽取目标v以及抽取这条边的代价;

步骤602中,如果边(v1,v2)为边界边,则将其抽取代价设为无限大。对于非边界有效边(v1,v2),假设其收缩至一点v,记其中q1和q2分别是v1和v2的误差矩阵,则该边的抽取代价应为对cost求导,并计算其导数为0时υ的取值即解方程:

公式(13)中,qij为矩阵q中的对应元素。如果系数矩阵可逆,那么通过求解上述方程就可以得到最优抽取目标v0的坐标,如果系数矩阵不可逆,则令取v1和v2的中点。

步骤603:将所有的边按照抽取代价cost的大小存入一个堆中;

步骤604:每次移除抽取代价最小的边,将顶点v1,v2合并到并且更新所有与相连的有效边的抽取代价和最佳抽取位置,计算移除代价最小边后肿瘤网格中三角面片的数量。

步骤605:重复上述步骤直到现有面的数量小设定阈值。

经过上述所有步骤后,在血管数字模型中生成肿瘤的最终效果如图10所示。

请参阅图11,是本申请实施例的在血管数字模型中生成肿瘤的系统的结构示意图。本申请实施例的在血管数字模型中生成肿瘤的系统包括肿瘤位置选取模块、近似半径计算模块、肿瘤网格构建模块、肿瘤网格形变模块、网格光顺处理模块和网格简化模块。

肿瘤位置选取模块:用于在血管数字模型上选取肿瘤位置;其中,肿瘤位置选取方式具体为:在血管数字模型上点选一点,以该点的位置信息作为屏幕坐标信息;将该屏幕坐标信息转换为世界坐标信息,并将该世界坐标信息与虚拟相机的位置连成一条射线;计算与该射线相交的血管数字模型上的三角形面片,计算该三角形三个顶点的几何中心点的位置tc,该位置tc即在血管数字模型上选取的肿瘤位置。

近似半径计算模块:用于基于平面的点法式方程计算血管数字模型在肿瘤位置处的近似半径;近似半径计算方式具体为:

1、以在血管数字模型上选取的肿瘤位置为中心,得到其周围半径为r内的m个三角面片,计算第1个三角面片的法向量与第2个三角面片的法向量的向量积计算第2个三角面片的法向量与第3个三角面片的法向量的向量积依此类推,可以计算得到m-1个向量积然后计算它们的均值

2、取在血管数字模型上选取的肿瘤位置坐标所在的三角面片f0,计算其重心的坐标g0(x0,y0,z0),通过和g0,得到一个经过g0且垂直于的平面的点法式方程,即:

a(x-x0)+b(y-y0)+c(z-z0)=0(1)

将该平面看作近似垂直于血管延伸方向。

3、设定一个合适的正实数α,在构成血管数字模型的所有三角面片中,找到所有重心坐标gi(xi,yi,zi)符合不等式-α≤a(x-xi)+b(y-yi)+c(z-zi)≤α的三角面片并构成集合f,计算f中所有三角面片重心坐标的平均值,得到一个点o0;

4、计算集合f中所有三角面片的重心与点o0之间的直线距离然后求平均值r0,该平均值r0即为血管数字模型在选取的肿瘤位置处的近似半径。

肿瘤网格构建模块:用于以选取的肿瘤位置为球心生成一个虚拟球体,将虚拟球体与血管数字模型进行碰撞后删除碰撞三角形,以向虚拟球体中心生长的方式生成空洞,并通过迭代的三角形细化方法构建光滑且规则的肿瘤网格模型;其肿瘤网格模型构建方法具体为:

1、以在血管数字模型上选取的肿瘤位置tc为球心,生成一个半径为r的虚拟球体,r=αr0,α为0到1之间的值;

2、将虚拟球体与血管数字模型进行碰撞检测,得到所有与该虚拟球体相交的三角形集合s,求集合s中所有三角形面片的平均法向量dt,该法向量为肿瘤的生长方向;

3、将集合s中的所有三角形面片从血管数字模型中删除,得到一个不规则的边界,该边界上的所有顶点集合为sbd;

4、将顶点集合sbd上的每一个顶点与球心tc进行连线,分别求得对应连线与虚拟球体的交点集合sint;

5、将顶点集合sbd和交点集合sint上的顶点进行三角化连接,构成一圈三角形网格,并将交点集合sint中的顶点作为肿瘤与血管相交位置的顶点;

6、计算肿瘤球心位置pt和肿瘤最高点位置ph:

pt=tc+(r2-r2)dt(2)

ph=pt+rdt(3)

上述公式中,r为肿瘤半径,r=μr,μ为大于1的常数,r=αr0,r0为血管数字模型在选取的肿瘤位置处的近似半径,生成的肿瘤网格模型中r与r的关系如图2所示。

7、将交点集合sint中的顶点和肿瘤最高点位置ph进行连接,形成一个锥形的网格,组成该网格的三角形集合为s0,对集合s0中的每一个三角形进行细分操作,得到新的三角形集合s1,然后对集合s1中的每一个三角形进行同样的细分操作,该操作进行n轮,最终得到的三角形集合sn即为规则的肿瘤网格模型。

进一步地,本申请对三角形集合si(i∈[0,n])的细分操作具体包括:

(1)对于集合中的每一个三角形,如果三个顶点中有两个顶点(假设为顶点a和b)属于交点集合sint,则取除了由顶点a和b组成的边以外的另两个边的中点(假设为x和y)相连,并取中点x和y中的任意一个与顶点a和b中的任意一个相连,将原三角形分成3个,x和y为新增的顶点;如果三角形的三个顶点中没有任何顶点属于顶点集合sint,则取三条边的中点(假设为x,y,z),并两两相连,将原三角形分割成4个三角形,x、y和z为新增的顶点。

(2)将新增的顶点x和y或x、y和z分别移动到射线ptx和pty或ptx、pty和ptz与虚拟球体的交点处,得到其最终的位置。

肿瘤网格形变模块:用于对肿瘤网格模型表面进行编辑,选取一定数量的控制点,通过保刚性变形,在肿瘤网格表面构造出不规则的形变;具体构造方式包括:

1、设置输入网格,选取控制点并设置每个控制点对应的自由点集,设置控制点的固定位置约束,进行保刚性网格变形;

2、将生成的肿瘤网格模型作为网格变形操作的输入网格s;

3、选取控制点;结合经度纬度采样构造肿瘤网格的方法,容易得到肿瘤网格上的两个相邻圆弧之间的三角面片组成的条状网格mi(i=1,2,...,n,n集合p中的顶点个数),更进一步,可以得到由多个上述条状网格mi构成的集合。按此方法,将肿瘤网格分成m个部分,每个部分有个上述的条状网格,最后一部分有个上述条状网格。如图3所示,图3(a)肿瘤网格上的两个圆弧之间的网格示意图,图3(b)为将肿瘤网格分成3部分时其中一部分的网格示意图。将肿瘤网格分成m个部分,在每个部分中随机选取q个控制点;对每一个控制点,在肿瘤网格上选取其周围一定范围内的三角面片,将这些三角面片的顶点作为该控制点对应的自由点集。

4、设置固定位置约束信息;将控制点的位置设置为:当前控制点沿该点法向或法向的反向移动λr距离后的位置;其中λ为介于大于0小于1的常数,r为肿瘤半径;用户可自定义λ,λ越大,肿瘤表面不规则形变的程度越大。

5、结合输入网格信息、控制点及其对应的自由点集信息以及固定位置约束信息进行保刚性网格变形。保刚性网格变形流程具体包括:

第一步:获取输入网格s的邻接信息,令顶点vi与其1-邻域三角面片构成一个单元ci,如图5所示;若单元ci进行了刚性变换,则变换前后的顶点位置关系可用一个旋转矩阵表示,即满足:其中pi为顶点vi的位置;pi变形后的位置为pi′,ri为单元ci变换前后的旋转矩阵,n(i)为与顶点vi相邻的顶点集合。当变形不是刚性的时候,依然可以找到最佳旋转矩阵ri,使得等式pi′-pj′=ri(pi-pj)左右两边差值最小。

第二步:定义每一单元的刚性能量,求和得到整体刚性能量:

上公式中,s为输入网格,s′为变形后的输入网格;e(s′)为整个网格的刚性能量;n为输入网格s中顶点的个数,ci为顶点vi与其1-邻域三角面片构成的一个单元,ci′为变形后的该单元,e(c′)为一个单元的刚性能量,n(i)为与顶点vi相邻的顶点的集合,pi为顶点vi的坐标,pi变形后的坐标为pi′,pj为顶点vj的坐标,pj变形后的坐标为pj′,wij为边eij的权重,使用余切权值αij和βij是边eij的两个对角;ri为单元ci变换前后的旋转矩阵。

通过最小化刚性能量e(s′)可以实现网格的尽可能刚性变形。在e(s′)式中,只有顶点变型后坐标pi′和旋转矩阵ri是未知量。

第三步:确定变形后顶点坐标的初始猜测;对于选中的控制点,其初始猜测为之前设置的固定位置约束。对于自由点,通过最小化||lp′-δ||2确定初始猜测,其中δ=lp,p是用户输入的初始网格中顶点的坐标,p′为控制点坐标已经根据上述固定位置约束改变后的网格中顶点的坐标。||lp′-δ||2要实现最小,则为lp′=lp,,其中矩阵l定义如下:

公式(5)中,wij为边eij的权重,使用余切权值n(i)为与顶点vi相邻的顶点集合。

根据lp′=lp求出网格s中自由点坐标的初始猜测,等式可改写为:axfree+bxfixed=lp。其中a为矩阵l中自由顶点下标对应的列组成的矩阵,xfree为自由顶点的坐标,是未知量,b为矩阵l中固定顶点下标对应的列组成的矩阵,xfixed为固定顶点的坐标,包括控制点和网格s中的剩余顶点。

通过进一步计算和化简,可得:ataxfree=at(lp-bxfixed),解该方程组即可得到xfree,即为自由点的初始猜测。

最后,需要迭代更新旋转矩阵ri和顶点变型后顶点坐标pi′。

第四步:利用变形后顶点坐标pi′,使用奇异值分解记算出所有变形单元的最优旋转矩阵;对于某一单元ci,记eij=pi-pj,相应的,在变形后的单元ci′中,记eij′=pi′-pj′,用j简化表示集合j∈n(i)。则某一单元的刚性能量e(c′)经过化简后可以写为:

式中不包含ri的项在寻找最优旋转矩阵的过程中可以看作常量,因此可以删去不作讨论,此时上式可以写作:

已知当risi为对称半正定矩阵时,tr(ris′)可以得到最大值,因此可以从si的奇异值分解si=ui∑ivit中推导出ri:

ri=viuit(8)

按照上述方法计算出每一个单元的旋转矩阵ri。

第五步:利用当前最优旋转矩阵,解线性方程组得到新的顶点坐标;当ri确定后,通过求解线性方程组得到使e(s′)最小的p′,对于每个pi′可以得到以下方程:

上述方程左侧的线性组合就是p′的离散拉普拉斯-贝尔特拉米算子,因此方程组可以写为:lp′=b;求解该方程组即可得到p′。

第六步:迭代执行第四、五步,直到整体刚性能量小于设定阈值;下一次迭代中,将新求得的p′作为已知量,以此求解新的r和p′,如此反复,直到网格刚性能量小于用户指定的阈值为止。

肿瘤网格进行保刚性变形的过程如图6所示,其中(a)为设置固定位置约束,(b)为网格模型变形的初始猜测,(c)为迭代更新p和r一定次数后的网格模型。需要说明的是,本申请中控制点的选取过程,除了可以通过按一定方式随机选取控制点外,还可以通过用户鼠标点选的人机交互方式选取控制点;固定位置约束过程,除了可以设置固定的偏移量λr外,可以通过记录用户控制鼠标移动的距离来设置偏移量。

网格光顺处理模块:用于对肿瘤网格模型与血管数字模型的连接处进行光顺处理;光顺处理过程分为以下两步:

第一步网格光顺:经过上述的经度纬度采样方法构造肿瘤后,容易得到肿瘤网格上靠近底部的三角面片(即肿瘤与血管数字模型连接处的三角面片)。此外,再选取血管网格模型上肿瘤孔洞边界的三角面片及其n-邻域三角面片。以上述三角面片组成的数字网格模型作为第一步网格光顺操作的输入。

第一步网格光顺操作具体包括:

1、获取数字网格模型的邻接信息,记每一个顶点i的邻接点集合为n(i);

2、计算每个顶点的各邻接点权值:

公式(10)中,αij和βij是边(i,j)的两个对角。

3、根据邻接信息和wij计算数字网格模型中每个点的拉普拉斯坐标l(i):

公式(11)中,pi为顶点i的坐标,pj为顶点i的邻接点j的坐标。

4、将原始坐标pi更新为λl(i)+pi;其中λ为小于1正实数;

5、将上述网格光顺步骤迭代进行m1次,然后进行第二步光顺操作。

第二步网格光顺:再次选取肿瘤上所有的三角面片以及血管网格模型上肿瘤孔洞边界的三角面片及其n-邻域三角面片,以上述三角面片组成的数字网格模型作为网格光顺的输入,将上述网格光顺操作迭代进行m2次,其中,m1应远大于m2。肿瘤网格与血管数字模型的连接处网格光顺过程如图8所示,图8(a)原始肿瘤网格,图8(b)为第一步光顺后的肿瘤网格,图8(c)第二步光顺后的肿瘤网格。

网格简化模块:用于对肿瘤网格模型进行严格保边界的网格简化,得到肿瘤在血管数字模型中的生成结果;生成肿瘤网格后,进行严格保边界的网格简化,使肿瘤网格与血管网格的网格密度之间不会有过大的差异。将整个肿瘤网格作为输入网格,进行严格保边界的qem(二次误差度量)网格简化具体包括:

1、对所有的初始顶点计算误差矩阵q,得到所有有效边(v1,v2)(有效边是指联通的边);具体的,需要计算与一个顶点相邻的所有平面的平面方程ax+by+cz+d=0且a2+b2+c2=1,保存参数a,b,c,d,构造向量p=(a,b,c,d)t,计算每个面的二次基本误差矩阵kp:

将一个顶点的所有kp求和即构成该点的误差矩阵q。

2、对每一条有效边(v1,v2),计算最优抽取目标v以及抽取这条边的代价;如果边(v1,v2)为边界边,则将其抽取代价设为无限大。对于非边界有效边(v1,v2),假设其收缩至一点v,记其中q1和q2分别是v1和v2的误差矩阵,则该边的抽取代价应为对cost求导,并计算其导数为0时v的取值即解方程:

公式(13)中,qij为矩阵q中的对应元素。如果系数矩阵可逆,那么通过求解上述方程就可以得到最优抽取目标v0的坐标,如果系数矩阵不可逆,则令取v1和v2的中点。

3、将所有的边按照抽取代价cost的大小存入一个堆中;

4、每次移除抽取代价最小的边,将顶点v1,v2合并到并且更新所有与相连的有效边的抽取代价和最佳抽取位置,计算移除代价最小边后肿瘤网格中三角面片的数量。

5、重复上述步骤直到现有面的数量小设定阈值;

本申请通过实验证明可行,且效率较高,在血管数字模型上生成肿瘤病变的时间在1s内。

图12是本申请实施例提供的在血管数字模型中生成肿瘤的方法的硬件设备结构示意图。如图12所示,该设备包括一个或多个处理器以及存储器。以一个处理器为例,该设备还可以包括:输入系统和输出系统。

处理器、存储器、输入系统和输出系统可以通过总线或者其他方式连接,图12中以通过总线连接为例。

存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例的处理方法。

存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理系统。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入系统可接收输入的数字或字符信息,以及产生信号输入。输出系统可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时,执行上述任一方法实施例的以下操作:

步骤a:在血管数字模型上选取肿瘤位置;

步骤b:基于平面的点法式方程计算血管数字模型在肿瘤位置处的近似半径;

步骤c:以选取的肿瘤位置为球心生成一个虚拟球体,将所述虚拟球体与血管数字模型进行碰撞后删除碰撞三角形,以向虚拟球体中心生长的方式生成空洞,并通过迭代的三角形细化方法构建光滑且规则的肿瘤网格模型;

步骤d:对所述肿瘤网格模型表面进行编辑,选取一定数量的控制点,通过保刚性变形,在肿瘤网格表面构造出不规则的形变;

步骤e:对所述肿瘤网格模型与血管数字模型的连接处进行光顺处理;

步骤f:对所述肿瘤网格模型进行严格保边界的网格简化,得到肿瘤在血管数字模型中的生成结果。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例提供的方法。

本申请实施例提供了一种非暂态(非易失性)计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行以下操作:

步骤a:在血管数字模型上选取肿瘤位置;

步骤b:基于平面的点法式方程计算血管数字模型在肿瘤位置处的近似半径;

步骤c:以选取的肿瘤位置为球心生成一个虚拟球体,将所述虚拟球体与血管数字模型进行碰撞后删除碰撞三角形,以向虚拟球体中心生长的方式生成空洞,并通过迭代的三角形细化方法构建光滑且规则的肿瘤网格模型;

步骤d:对所述肿瘤网格模型表面进行编辑,选取一定数量的控制点,通过保刚性变形,在肿瘤网格表面构造出不规则的形变;

步骤e:对所述肿瘤网格模型与血管数字模型的连接处进行光顺处理;

步骤f:对所述肿瘤网格模型进行严格保边界的网格简化,得到肿瘤在血管数字模型中的生成结果。

本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行以下操作:

步骤a:在血管数字模型上选取肿瘤位置;

步骤b:基于平面的点法式方程计算血管数字模型在肿瘤位置处的近似半径;

步骤c:以选取的肿瘤位置为球心生成一个虚拟球体,将所述虚拟球体与血管数字模型进行碰撞后删除碰撞三角形,以向虚拟球体中心生长的方式生成空洞,并通过迭代的三角形细化方法构建光滑且规则的肿瘤网格模型;

步骤d:对所述肿瘤网格模型表面进行编辑,选取一定数量的控制点,通过保刚性变形,在肿瘤网格表面构造出不规则的形变;

步骤e:对所述肿瘤网格模型与血管数字模型的连接处进行光顺处理;

步骤f:对所述肿瘤网格模型进行严格保边界的网格简化,得到肿瘤在血管数字模型中的生成结果。

本申请实施例的在血管数字模型中生成肿瘤的方法、系统及电子设备通过设计了一种血管肿瘤模型的自动生成及优化方法,用以丰富虚拟手术领域可采用的病例模型,并且使操作简单高效。相对于现有技术,本申请具有以下优点:

一、本申请不存在病例数据来源受限问题,且几乎不需要任何学习成本即可使用,能在正常血管数字模型中几乎任何位置构造肿瘤,有较高的自由度;

二、本申请可计算得到血管数字模型任意位置的近似半径,在生成肿瘤时可根据选中位置的血管模型半径自适应的设置肿瘤半径和孔洞半径,不必每一次手动设置;

三、本申请在通过经纬度采样生成肿瘤网格后,在肿瘤网格上随机选取一定数量的控制点,通过保刚性变形,在肿瘤表面构造出不规则的形变,能模拟更为丰富的肿瘤形态;

四、本申请在生成肿瘤网格后,通过两步网格光顺使肿瘤与血管模型连接处过渡更为平滑,更符合真实肿瘤与血管连接处的形态;

五、本申请在生成肿瘤网格后,进行了严格保边界的网格简化,使肿瘤网格与血管网格的网格密度之间不会有过大的差异。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本申请中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本申请所示的这些实施例,而是要符合与本申请所公开的原理和新颖特点相一致的最宽的范围。

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