CN109919913B - 一种冠状动脉的半径计算方法、终端及存储介质 - Google Patents
一种冠状动脉的半径计算方法、终端及存储介质 Download PDFInfo
- Publication number
- CN109919913B CN109919913B CN201910105746.1A CN201910105746A CN109919913B CN 109919913 B CN109919913 B CN 109919913B CN 201910105746 A CN201910105746 A CN 201910105746A CN 109919913 B CN109919913 B CN 109919913B
- Authority
- CN
- China
- Prior art keywords
- point
- points
- target
- exit
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 210000004351 coronary vessel Anatomy 0.000 title claims abstract description 188
- 238000004364 calculation method Methods 0.000 title description 7
- 238000000034 method Methods 0.000 claims abstract description 79
- 208000031481 Pathologic Constriction Diseases 0.000 claims description 25
- 208000037804 stenosis Diseases 0.000 claims description 25
- 230000036262 stenosis Effects 0.000 claims description 25
- 238000009499 grossing Methods 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 15
- 230000017531 blood circulation Effects 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 12
- 238000010606 normalization Methods 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 description 20
- 230000008569 process Effects 0.000 description 11
- 238000000605 extraction Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 230000003902 lesion Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010968 computed tomography angiography Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- AYFVYJQAPQTCCC-GBXIJSLDSA-N L-threonine Chemical compound C[C@@H](O)[C@H](N)C(O)=O AYFVYJQAPQTCCC-GBXIJSLDSA-N 0.000 description 4
- 210000000988 bone and bone Anatomy 0.000 description 3
- 208000029078 coronary artery disease Diseases 0.000 description 3
- 239000010410 layer Substances 0.000 description 3
- 238000000513 principal component analysis Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 230000036770 blood supply Effects 0.000 description 2
- 210000004204 blood vessel Anatomy 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000002059 diagnostic imaging Methods 0.000 description 2
- 239000011229 interlayer Substances 0.000 description 2
- 238000002406 microsurgery Methods 0.000 description 2
- 238000002324 minimally invasive surgery Methods 0.000 description 2
- 238000001356 surgical procedure Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000002583 angiography Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000002872 contrast media Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000002526 effect on cardiovascular system Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000000004 hemodynamic effect Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 230000002792 vascular Effects 0.000 description 1
Images
Landscapes
- Apparatus For Radiation Diagnosis (AREA)
- Magnetic Resonance Imaging Apparatus (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供一种冠状动脉的半径计算方法、终端及存储介质,该冠状动脉的半径计算方法包括:获取冠状动脉的点云数据,并基于点云数据确定第一点集;其中,第一点集包括冠状动脉的中轴线上的点;基于第一点集建立索引关系;其中,索引关系表征中轴线上的多个点形成的路径;基于点云数据和索引关系,计算冠状动脉的第一半径。
Description
技术领域
本发明涉及但不限于医学图像处理技术领域,尤其涉及一种冠状动脉的半径计算方法、终端及存储介质。
背景技术
针对冠状动脉疾病而言,以前主要是通过微手术来测量冠状动脉处,前段病变处的导丝两端的压力差的方式来衡量病变程度。随着医疗技术的发展,目前医生都比较认可计算冠状动脉血流储备系数(Fractional Flow Reserve,FFR)来衡量病变程度,进而给病人提出合适的建议如是否需要通过手术治愈冠状动脉疾病。FFR的计算是通过冠状动脉模型直径来分配分支的供血量,所以需要计算出冠状动脉模型的正常半径,然而,相关技术中无法准确计算出冠状动脉的半径。
发明内容
本发明实施例提供一种冠状动脉的半径计算方法、终端及存储介质,以解决相关技术中无法准确计算出冠状动脉的半径的问题。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种冠状动脉的半径计算方法,所述方法包括:
获取冠状动脉的点云数据,并基于所述点云数据确定第一点集;其中,所述第一点集包括所述冠状动脉的中轴线上的点;
基于所述第一点集建立索引关系;其中,所述索引关系表征所述中轴线上的多个点形成的路径;
基于所述点云数据和所述索引关系,计算所述冠状动脉的第一半径。
可选的,所述基于所述第一点集建立索引关系,包括:
去除所述第一点集中重复的点和不连续的点,得到第二点集;
基于所述第二点集中的第一特定点搜索所述冠状动脉的出口点和入口点;
基于所述出口点和所述入口点,建立所述索引关系。
可选的,所述去除所述第一点集中重复的点和不连续的点,得到第二点集之前,所述方法还包括:
确定所述第一点集中,与第一目标点之间的距离在第一预设距离范围内的点为所述重复的点;其中,所述第一点集包括所述第一目标点,且所述第一目标点为所述第一点集中的任一点;
获取第二目标点的切线的第一方向,并基于所述第一方向确定所述不连续的点;其中,所述第二目标点为第三点集中的任一点,所述第三点集包括所述第一点集中除所述重复的点以外的点。
可选的,所述获取第二目标点的切线的第一方向,包括:
从所述第三点集中选择与所述第二目标点之间的距离在第二预设距离范围内的多个第二特定点,并基于所述多个第二特定点得到第四点集;
获取所述第四点集中每一第二特定点的切线的第二方向;
基于多个所述第二方向,确定所述第一方向。
可选的,所述基于多个所述第二方向,确定所述第一方向,包括:
计算多个所述第二方向的第一平均值,并对所述第一平均值进行归一化处理,得到所述第一方向。
可选的,所述基于所述第一方向确定所述不连续的点,包括:
基于所述第一方向、所述第二目标点的坐标和第一阈值,确定所述不连续的点。
可选的,所述基于所述第一方向、所述第二目标点的坐标和第一阈值,确定所述不连续的点,包括:
沿所述第一方向且与所述第二目标点相距第一距离的点为球心,并以所述第一距离为半径,构造第一区域;
沿所述第一方向相反的方向且与所述第二目标点相距第一距离的点为球心,并以所述第一距离为半径,构造第二区域;
确定所述第一区域和所述第二区域中包括的第三点集中的点的数量;
若所述数量不符合预设数量范围,确定所述第二目标点为所述不连续的点。
可选的,所述去除所述第一点集中重复的点和不连续的点,得到第二点集之后,所述方法包括:
基于所述第二点集,选择与第三目标点之间的距离在第三预设距离范围内的多个第四目标点;其中,所述第三目标点为所述第二点集中的任一点;
基于所述多个第四目标点的第一方向,对所述第三目标点的第一方向进行平滑处理,得到第一目标方向。
可选的,所述基于所述多个第四目标点的第一方向,对所述第三目标点的第一方向进行平滑处理,得到第一目标方向,包括:
将每一所述第四目标点的第一方向投影至所述第三目标点的第一方向上,得到投影后的每一第三方向;
用符号函数对多个所述第三方向进行方向统一,得到多个第四方向;
计算多个所述第四方向的第二平均值,并对所述第二平均值进行归一化处理,得到所述第一目标方向。
可选的,所述基于所述第二点集中的第一特定点搜索所述冠状动脉的出口点和入口点,包括:
计算所述第二点集中各个点与所述第一特定点之间的多个第二距离;
确定所述多个第二距离中最短距离对应的点为所述冠状动脉的入口点;
若所述第一区域和所述第二区域中有且仅有一个区域中包括所述第二点集中的一个第三特定点,基于所述第三特定点确定所述冠状动脉的出口点。
可选的,所述基于所述出口点和所述入口点,建立所述索引关系,包括:
从所述第二点集中确定与所述出口点之间的距离在第四预设距离范围内的第五目标点;其中,所述第五目标点的个数为至少一个;
从至少一个所述第五目标点中确定所述第五目标点的切线的第一目标方向与所述出口点的切线的第一目标方向不垂直,且与所述出口点之间距离最近的第五目标点为所述出口点的父节点;
基于所述出口点的切线的第一目标方向,所述出口点到所述入口点的第五方向,所述出口点到所述父节点的第六方向,建立所述索引关系。
可选的,所述若所述第一区域和所述第二区域中有且仅有一个区域中包括所述第二点集中的一个第三特定点,基于所述第三特定点确定所述冠状动脉的出口点,包括:
若所述第一区域和所述第二区域中有且仅有一个区域中包括所述第二点集中的一个第三特定点,确定所述第三特定点为所述冠状动脉的初始出口点;
若所述初始出口点的切线的目标方向与所述第五目标点的中的特定目标点的切线的第一目标方向垂直,用所述特定目标点替换所述初始出口点,得到所述冠状动脉的出口点;其中,所述特定目标点是至少一个所述第五目标点中与所述初始出口点之间距离最近的点。
可选的,所述基于所述出口点的切线的第一目标方向,所述出口点到所述入口点的第五方向,所述出口点到所述父节点的第六方向,建立所述索引关系,包括:
基于所述出口点的切线的第一目标方向,所述第五方向,所述第六方向,确定从所述出口点到所述入口点的路径方向;
从所述出口点沿着所述路径方向遍历所述第二点集中的点,得到所述索引关系。
可选的,所述从所述出口点沿着所述路径方向遍历所述第二点集中的点,得到所述索引关系,包括:
从所述出口点沿着所述路径方向遍历所述第二点集中的点直至所述入口点,得到所述索引关系。
可选的,所述出口点的个数为至少一个,所述从所述出口点沿着所述路径方向遍历所述第二点集中的点,得到所述索引关系,包括:
从每一出口点沿着与所述每一出口点对应的路径方向遍历所述第二点集中的第一部分点,且遍历至与所述每一出口点不同的第一出口点,则从所述第一出口点回退至第一分叉处,得到第一子路径;其中,所述第一子路径包括从所述每一出口点至所述第一分叉处的路径;
从所述第一分叉处沿着所述与所述每一出口点对应的路径方向遍历所述第二点集中的第二部分点,得到第二子路径;其中,所述第二子路径包括从所述第一分叉处至所述每一出口点对应的入口点的路径;
基于所述第一子路径和所述第二子路径,确定与所述每一出口点对应的每一路径;
基于所述与所述每一出口点对应的每一路径,确定所述索引关系。
可选的,所述从所述第一分叉处沿着所述与所述每一出口点对应的路径方向遍历所述第二点集中的第二部分点,得到第二子路径,包括:
从所述第一分叉处沿着所述与所述每一出口点对应的路径方向遍历所述第二部分点中的第一子部分点,且遍历至与所述第一出口点不同的第二出口点,则从所述第二出口点回退至第二分叉处,得到第三子路径;其中,所述第三子路径包括从所述第一分叉处至所述第二分叉处的路径;
从所述第二分叉处沿着所述与所述每一出口点对应的路径方向遍历所述第二点集中的第二部分点中的第二子部分点,得到第四子路径;其中,所述第四子路径包括从所述第二分叉处至所述每一出口点对应的入口点的路径;
基于所述第三子路径和所述第四子路径,确定所述第二子路径。
可选的,所述基于所述与所述每一出口点对应的每一路径,确定所述索引关系,包括:
确定多个所述出口点对应的多个路径中的多个重叠部分的路径和多个未重叠部分的路径;其中,所述多个重叠部分的路径中同一重叠部分具有唯一的路径;
基于所述多个重叠部分的路径和所述多个未重叠部分的路径,确定所述索引关系。
可选的,所述基于所述点云数据和所述索引关系,计算所述冠状动脉的第一半径,包括:
基于所述点云数据确定所述冠状动脉的外轮廓边界;
从所述第二点集中确定第三目标点的法平面与所述外轮廓边界相交,且与所述第三目标点之间的距离小于第三距离的多个第六目标点;其中,所述第三目标点为所述第二点集中的任一点;
获取每一第六目标点与所述第二目标点之间的每一第四距离;
基于多个所述第四距离,计算所述第一半径。
可选的,所述基于多个所述第四距离,计算所述第一半径之后,所述方法还包括:
若所述冠状动脉的分支段存在狭窄或斑块凸起,基于所述第一半径设置所述分支段的特定位置处的第三目标点的半径为第二半径;其中,所述第二半径能用于对所述冠状动脉进行血流量分配。
可选的,所述若所述冠状动脉的分支段存在狭窄或斑块凸起,基于所述第一半径设置所述分支段的特定位置处的第三目标点的半径为第二半径,包括:
若所述冠状动脉的分支段存在狭窄或斑块凸起,且所述分支段的长度属于第一长度范围,计算所有所述第三目标点对应的第一半径的第三平均值;
基于所述第三平均值设置所述分支段的特定位置处的第三目标点的半径为所述第二半径。
可选的,所述若所述冠状动脉的分支段存在狭窄或斑块凸起,基于所述第一半径设置所述分支段的特定位置处的第三目标点的半径为第二半径,包括:
若所述冠状动脉的分支段存在狭窄或斑块凸起,且所述分支段的长度属于第二长度范围,获取所有所述第三目标点对应的第一半径中的多个特定半径;所述多个特定半径大于预设半径;
计算所述多个特定半径的第四平均值;
基于所述第四平均值设置所述分支段的特定位置处的第三目标点的半径为所述第二半径。
第二方面,本发明实施例提供一种终端,所述终端包括:处理器、存储器和通信总线;
所述通信总线用于实现处理器和存储器之间的通信连接;
所述处理器用于执行存储器中存储的冠状动脉的半径计算程序,以实现上述所述的冠状动脉的半径计算方法的步骤。
第三方面,本发明实施例提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述所述的冠状动脉的半径计算方法的步骤。
应用本发明实施例实现以下有益效果:以医学冠状动脉模型为基础,提取冠状动脉模型中的龙骨信息即冠状动脉的中轴线上的点,为计算冠状动脉模型半径提供依据,进而为计算FFR提供精确的血流分配。
本发明实施例提供的冠状动脉的半径计算方法、终端及存储介质,获取冠状动脉的点云数据,并基于点云数据确定第一点集;其中,第一点集包括冠状动脉的中轴线上的点;基于第一点集建立索引关系;其中,索引关系表征中轴线上的多个点形成的路径;基于点云数据和索引关系,计算冠状动脉的第一半径;也就是说,本发明实施例中能够基于获取到的冠状动脉的点云数据,先提取冠状动脉的中轴线上的点,再基于中轴线上的点建立表征各个点之间形成的路径的索引关系,最后基于点云数据和索引关系,能够计算出冠状动脉的任一中轴线上的点对应的第一半径,采用本发明实施例提供的方法,不仅无需进行微创手术,而且能够针对冠状动脉的半径实现量化计算,进而准确计算出冠状动脉的半径,从而为计算FFR提供精确的血流分配。
附图说明
图1本发明实施例提供的一种冠状动脉的半径计算方法的流程示意图;
图2本发明实施例提供的另一种冠状动脉的半径计算方法的流程示意图;
图3本发明实施例提供的一种冠状动脉的点云数据的示意图;
图4本发明实施例提供的一种冠状动脉的中轴线上的点的示意图;
图5本发明实施例提供的一种冠状动脉的各个第二目标点与其切线的方向的示意图;
图6本发明实施例提供的一种冠状动脉的出入口标记示意图;
图7本发明实施例提供的一种冠状动脉的龙骨点的截面半径示意图;
图8本发明实施例提供的又一种冠状动脉的半径计算方法的流程示意图;
图9本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
相关技术中,随着图像大数据的爆发,图像处理技术表现出处理精度高、再现性好、灵活性高,通用性强等优点,在军工、农业、医疗等各个领域都依靠图像处理技术对物体进行形状分析和识别起着愈发重要的作用。其中主要思想是通过关键点定位来判定物体,而一个物体形态的绘制必定离不开其骨骼的提取。
一般来说,获取图像的骨骼的过程就是对该图像进行‘细化’的过程,它可以有效地反映出原物体形状的连通性和拓扑结构。目前骨骼提取的算法就是从边界开始反复迭代计算,逐层均匀剥掉图形的边界,直至剩下最里层的一维骨骼。
图像的骨骼提取技术在图像分析与形状描述中都是一个非常重要的变换,是图像几何形态中重要的拓扑描述。骨骼提取技术在图像目标的形状分析、特征提取、模式识别等应用的前提。在虚拟导航、形态匹配、指纹识别、医学影像处理等领域中曲线骨骼提取算法早已成为研究的热点。
在医学影像领域中,有彩超心血管成像,核磁共振成像(Magnetic ResonanceImaging,MRI)以及数字减影血管造影技术(Digital subtraction angiography,DSA)等多项技术相继出现。使得医学影像数字化程度越来越高,种类也更加多样化。医学影像技术已不仅只是提供各类人体器官的重构模型,还通过时间序列的血流速度场体现血流动力学的变化。这些技术的发展极大地提高了医生诊断的效率和准确性,同时也为病人减少不必要的手术风险。
就目前冠状动脉疾病而言,以前主要是通过微手术测量冠状动脉处前段病变的处导丝两端的压力差。现在医生都比较认可计算FFR来衡量病变程度,给出合适的建议病人是否需要通过手术治愈。因为FFR的计算是通过冠状动脉模型直径来分配分支的供血量,所以需要计算出冠状动脉模型的正常半径。在大多数情况下有些病人会在分叉处出现狭窄、斑块凸起、或者有长段性的弥散性变病,这些外部不可控因素都将影响管径血流量分配。虽然血管管径的有很多办法,但其中就有一类是通过骨骼提取法实现。如上,提取冠状动脉龙骨点成为计算出冠状动脉模型的正常半径的第一步,而冠状动脉模型的正常半径是计算冠状动脉血流储备系数的重要一步;这里,正常半径可以理解为未发生病变的血管处的半径。然而,相关技术中无法准确计算出冠状动脉的半径。
本发明实施例提供一种冠状动脉的半径计算方法,该方法应用于终端,参见图1所示,该方法包括:
步骤101、获取冠状动脉的点云数据,并基于点云数据确定第一点集。
其中,第一点集包括冠状动脉的中轴线上的点。
本发明实施例中,冠状动脉的点云数据可以是终端基于多张电子计算机断层扫描血管造影(Computed Tomography Angiography,CTA)图片进行三维重构,得到冠状动脉模型,并基于冠状动脉模型获取到的。这里,CTA图片可以是通过静脉注射适当造影剂后,利用多排螺旋CT机对冠状动脉进行扫描,从而得到的冠状动脉CTA图片。
这里,点云数据可以是以空间体坐标(x,y,z)为存储方式,为H×3维数组(H是点云数据包含的点的个数)。本发明实施例中,终端获取到点云数据之后,可以将点云数组转化为二值化三维矩阵Vol(337×412×231),并通过连通域算法剔除连通域里面像素点个数小于100的点云的连通域。这里,素点个数小于100的点云的连通域说明该位置存在冠状动脉的可能性比较小,可以认为这些点不是点云上的点,可以去除以排除干扰。最后,利用冠状动脉骨骼提取算法直接提取冠状动脉的中轴线上的点,这里冠状动脉的中轴线上的点又可以称为组成骨骼的龙骨点,龙骨点的位置被记录在矩阵A中1~3列。示例性的,矩阵A总共有24列,但是本发明实施例中只用了部分列,所用部分列中记录有本发明实施例涉及到的指标参数。
步骤102、基于第一点集建立索引关系。
其中,索引关系表征中轴线上的多个点形成的路径。
本发明实施例中,第一点集包含冠状动脉的中轴线上的点即上述龙骨点。
步骤103、基于点云数据和索引关系,计算冠状动脉的第一半径。
本发明实施例中,终端可以在获取到点云数据和索引关系之后,可以基于点云数据和索引关系,计算出冠状动脉的中轴线上的任一点对应的第一半径。
本发明实施例提供的冠状动脉的半径计算方法、终端及存储介质,获取冠状动脉的点云数据,并基于点云数据确定第一点集;其中,第一点集包括冠状动脉的中轴线上的点;基于第一点集建立索引关系;其中,索引关系表征中轴线上的多个点形成的路径;基于点云数据和索引关系,计算冠状动脉的第一半径;也就是说,本发明实施例中能够基于获取到的冠状动脉的点云数据,先提取冠状动脉的中轴线上的点,再基于中轴线上的点建立表征各个点之间形成的路径的索引关系,最后基于点云数据和索引关系,能够计算出冠状动脉的任一中轴线上的点对应的第一半径,采用本发明实施例提供的方法,不仅无需进行微创手术,而且能够针对冠状动脉的半径实现量化计算,进而准确计算出冠状动脉的半径,从而为计算FFR提供精确的血流分配。
根据前述实施例,本发明实施例提供一种冠状动脉的半径计算方法,该方法应用于终端,参见图2所示,该方法包括:
步骤201、获取冠状动脉的点云数据,并基于点云数据确定第一点集。
其中,第一点集包括冠状动脉的中轴线上的点。
示例性的,参见图3和图4所示,图3是终端基于多张CTA图片进行三维重构,得到冠状动脉模型,终端基于该模型能够获取到冠状动脉的点云数据,进而基于点云数据确定第一点集,第一点集包括图4中的所有点。
步骤202、确定第一点集中,与第一目标点之间的距离在第一预设距离范围内的点为重复的点。
其中,第一点集包括第一目标点,且第一目标点为第一点集中的任一点。
本发明实施例中,终端在获取到冠状动脉的中轴线上的点组成的第一点集之后,可以对第一点集中的点进行筛选。
这里,对第一点集中的点进行筛选,可以包括剔除第一点集中重复的龙骨点。重复的龙骨点是第一点集中,与第一目标点之间的距离在第一预设距离范围内的点。
示例性的,第一目标点可以称为第i个龙骨点,遍历所有未与第i个龙骨点计算过的龙骨点(以第j个龙骨点为例)到第i个龙骨点的距离dij,以龙骨点之间距离d小于0.2为约束条件,即数学表达式:|Xj-Xi|<0.2,i∈(1,W-1),j∈(i+1,W),其中,W为龙骨点总数,Xj表示第j个龙骨点的坐标。若第i个龙骨点到第j个龙骨点的距离dij<0.2时,则第j个龙骨点被认为是重复点,也是待剔除的龙骨点,按照上述方法遍历剩余所有龙骨点。
步骤203、获取第二目标点的切线的第一方向,并基于第一方向确定不连续的点。
其中,第二目标点为第三点集中的任一点,第三点集包括第一点集中除重复的点以外的点。
这里,终端确定第一点集中的重复的龙骨点之后,基于第一点集得到包括第一点集中除重复的点以外的点的第三点集。接着,终端基于第三点集确定第一方向上不连续的点。
这里,参见图5所示,终端在获取到第三点集之后,可以获取到第三点集中每一第二目标点的切线的第一方向,图5是各个第二目标点与其切线的方向的示意图。
本发明实施例中,步骤203中获取第二目标点的切线的第一方向,包括:
步骤203a、从第三点集中选择与第二目标点之间的距离在第二预设距离范围内的多个第二特定点,并基于多个第二特定点得到第四点集。
这里,终端在得到第三点集之后,可以从第三点集中选择与第二目标点之间的距离在第二预设距离范围内的多个第二特定点;这里,多个第二特定点可以作为对第二目标点的切线的方向进行确定的参考点。多个第二特定点组成第四点集。
步骤203b、获取第四点集中每一第二特定点的切线的第二方向。
这里,终端得到多个第二特定点之后,可以获取每一第二特定点的切线的第二方向。
步骤203c、基于多个第二方向,确定第一方向。
本发明实施例中,步骤203c基于多个第二方向,确定第一方向,包括:计算多个第二方向的第一平均值,并对第一平均值进行归一化处理,得到第一方向。
这里,终端确定第一点集中的重复的龙骨点之后,基于第四点集中多个第二特定点的切线方向确定第二目标点的切线的第一方向,如此,以确保第二目标点的切线的第一方向的准确性。
示例性的,以某一第二目标点附近如相距第二预设距离范围内的多个龙骨点的空间坐标做主成分分析(Principal Component Analysis,PCA),取第一主成分作为切线方向,然后求平均值且归一化,所计算的数值为该龙骨的切线方向,标记在矩阵A中4~6列,按照上述操作遍历所有龙骨点。这里,可以用第二目标点附近7个龙骨点的空间坐标计算第二目标点的切线的第一方向,选取7的点可以更加准确的计算出第一方向,如针对拐点处的运动方向进行计算时,可以选取拐点处的这个龙骨点以及自身前后各三个龙骨点,总共7个龙骨点来计算拐点处的切线的第一方向。
本发明实施例中,步骤203中基于第一方向确定不连续的点,包括:
步骤203d、基于第一方向、第二目标点的坐标和第一阈值,确定不连续的点。
本发明实施例中,终端在获取到第一方向之后,可以基于第一方向、第二目标点的坐标和第一阈值,确定第三点集中不连续的点,并将确定出的不连续的点作为待去除的点。
本发明实施例中,步骤203d基于第一方向、第二目标点的坐标和第一阈值,确定不连续的点,包括:
A1、沿第一方向且与第二目标点相距第一距离的点为球心,并以第一距离为半径,构造第一区域。
这里,第一区域是按以沿第一方向且与第二目标点相距第一距离的点为球心,以第一距离为半径,构造的第一球体。
A2、沿第一方向相反的方向且与第二目标点相距第一距离的点为球心,并以第一距离为半径,构造第二区域。
这里,第二区域是以沿第一方向相反的方向且与第二目标点相距第一距离的点为球心,并以第一距离为半径,构造的第二球体。
A3、确定第一区域和第二区域中包括的第三点集中的点的数量。
这里,终端在构造出第一球体和第二球体之后,可以获取到第一球体和第二球体中总共包括了多少个第三点集中的点。
A4、若数量不符合预设数量范围,确定第二目标点为不连续的点。
这里,终端在获取到第一球体和第二球体包括的第三点集中的点的数量之后,将该数量与预设数量范围进行比对,若该数量符合预设数量范围,确定第二目标点为连续的点;若数量不符合预设数量范围,确定第二目标点为不连续的点。
示例性的,假设第一距离thre_r=3,第i个龙骨点的位置为Ai=(xi,yi,zi),对应其切线的第一方向为A′i=(x′i,y′i,z′i),沿第i个龙骨点的切线的第一方向的正方向构造第一球体;即以(xi0,yi0,zi0)为球心记Ai0,计算球心的表达式为:Ai0=Ai+thre_r*A′i,以r0=0.99*thre_r为半径(去除自身龙骨点)。计算所有龙骨点到球心Ai0的距离d,以d<r0约束条件,判定第一球体中龙骨点的个数;基于同样的原理,对第i个龙骨点的切线的第一方向的反方向再同等执行一次得到第二球体。最终,终端确定若两个球内存在龙骨点个数总和小于等于2时,则第i个龙骨点被视为方向不连续的点,即待剔除的龙骨点。
步骤204、去除第一点集中重复的点和不连续的点,得到第二点集。
这里,终端从第一点集中确定出重复的点和不连续的点之后,去除第一点集中重复的点和不连续的点,得到第二点集。
步骤205、基于第二点集,选择与第三目标点之间的距离在第三预设距离范围内的多个第四目标点。
其中,第三目标点为第二点集中的任一点。这里,终端在获取到第二点集之后,选择与第三目标点之间的距离在第三预设距离范围内的多个第四目标点作为调整第三目标点的第一方向的参考点,目的是使得第三目标点的切线的方向变得更光滑一点,更真实一点,更加逼近于龙骨点本身的趋势走向。
步骤206、基于多个第四目标点的第一方向,对第三目标点的第一方向进行平滑处理,得到第一目标方向。
本发明实施例中,步骤206基于多个第四目标点的第一方向,对第三目标点的第一方向进行平滑处理,得到第一目标方向,包括:
B1、将每一第四目标点的第一方向投影至第三目标点的第一方向上,得到投影后的每一第三方向。
B2、用符号函数对多个第三方向进行方向统一,得到多个第四方向。
这里,基于符号函数对多个第三方向进行方向统一指的是,将多个第三方向统一到统一方向上,进而得到多个第四方向。
B3、计算多个第四方向的第二平均值,并对第二平均值进行归一化处理,得到第一目标方向。
示例性的,进行龙骨点切线方向的平滑处理的过程中,首先,假设第三预设距离thre_r=4,计算第三目标点如第i个龙骨点到所有龙骨点之间的距离d,取d<thre_r的龙骨点,阈值内龙骨点的切线方向记为B′(例如阈值内包括第i个龙骨点附近的7个龙骨点的切线方向)。其次,第i个龙骨点切线方向为A′i,投影这些龙骨点的切线方向B′到第i个龙骨点的切线方向A′i上,并利用符号函数,即
更新阈值内龙骨点的切线方向B′。最后,对阈值内龙骨点的切线方向B′求平均值并归一化,更新为第i个龙骨点的切线方向A′i,得到第一目标方向,同时在矩阵A中4~6列更新数据。
步骤207、基于第二点集中的第一特定点搜索冠状动脉的出口点和入口点。
本发明实施例中,第一特定点可以是终端获取的冠状动脉的左冠入口处的一点,该点包含在第二点集中。终端基于第一特定点搜索冠状动脉的出口点和入口点。
本发明实施例中,步骤207基于第二点集中的第一特定点搜索冠状动脉的出口点和入口点,包括:
步骤207a、计算第二点集中各个点与第一特定点之间的多个第二距离。
这里,终端获取到第一特定点之后,可以计算第二点集中各个点与第一特定点之间的多个第二距离。
步骤207b、确定多个第二距离中最短距离对应的点为冠状动脉的入口点。
示例性的,参见图6所示,第一特定点P1为左冠入口位置,根据P1来到确定所有龙骨点到P1的距离,取最短距离的龙骨点为冠状动脉入口点。在矩阵A的15列中入口点位置标记2。这里,由于操作流程中有剔除不连续的点,所以需要更新入口点。
步骤207c、若第一区域和第二区域中有且仅有一个区域中包括第二点集中的一个第三特定点,基于第三特定点确定冠状动脉的出口点。
本发明实施例中,以第i个龙骨点为例,构建该龙骨点的正反切线方向的球,与上述构建第一球体和第二球体的方法一致,以正反切线方向构造的球来判定球内是否存在龙骨点。若球内存在龙骨点则为1次计数,球内不存在龙骨点则为0次计数。以两个球来判定是否存在龙骨点次数count为约束条件,若两个球内不存在任何龙骨点(count=0),则表示该龙骨点为孤立的点,则剔除该点。若两个球内中任何一方有且只有一个球内存在龙骨点(count=1),则表示该龙骨点为出口,在矩阵A的15列标记为1;若两个球内都存在龙骨点(count=2),则表示该点是个中间点,在矩阵A的15列标记为0。如图6所示,大的星号点M1和M2为入口点,(图6中,给定的第一特定点P1与冠状动脉入口点M1的位置较为接近,看起来几乎在同一位置处),小的星号点N为出口点。
本发明实施例中,步骤207c若第一区域和第二区域中有且仅有一个区域中包括第二点集中的一个第三特定点,基于第三特定点确定冠状动脉的出口点,可以包括如下步骤:
步骤207c1、若第一区域和第二区域中有且仅有一个区域中包括第二点集中的一个第三特定点,确定第三特定点为冠状动脉的初始出口点。
步骤207c2、若初始出口点的切线的目标方向与第五目标点的中的特定目标点的切线的第一目标方向垂直,用特定目标点替换初始出口点,得到冠状动脉的出口点。
其中,特定目标点是至少一个第五目标点中与初始出口点之间距离最近的点。也就是说,在本发明实施例中,若初始出口点的切线的目标方向与第五目标点的中的特定目标点的切线的第一目标方向垂直,则去除这个初始出口点,重新标记新的出口点,即用特定目标点替换初始出口点,得到冠状动脉的出口点。
步骤208、基于出口点和入口点,建立索引关系。
其中,索引关系表征中轴线上的多个点形成的路径。
本发明实施例中,步骤208基于出口点和入口点,建立索引关系,包括:
步骤208a、从第二点集中确定与出口点之间的距离在第四预设距离范围内的第五目标点。
其中,第五目标点的个数为至少一个。
步骤208b、从至少一个第五目标点中确定第五目标点的切线的第一目标方向与出口点的切线的第一目标方向不垂直,且与出口点之间距离最近的第五目标点为出口点的父节点。
本发明实施例中,示例性的,以第一个出口龙骨点作为子节点举例,计算距离最短的龙骨点(排除自身)并记录为第一个出口龙骨点的父节点,将其父节点索引建立在矩阵A中16列。第一步,计算子节点到父节点的方向与子节点的第一目标方向(第一个出口龙骨点)方向的内积,若内积大于某个阈值τ1(τ1=eps),表示第一个出口龙骨点(子节点)的切线的第一目标方向保持不变;若内积小于某个阈值τ2(τ2=-eps),表示第一个出口龙骨点切线的第一目标方向取反方向,其中,eps=10-22;若内积在(τ2,τ1)之间(一般约束垂直条件),则表示第一个出口龙骨点有问题记录为坏点。第二步,计算所有龙骨点到第一步中坏点的最短距离的龙骨点,将其最短距离的龙骨点更新为新的出口点,同时剔除被记录坏点,对新的出口点重新进行第一步判定父节点,其中,eps为无穷小量epsilon。第三步,按照上述方法遍历所有出口龙骨点,建立所有出口龙骨点的父索引。
步骤208c、基于出口点的切线的第一目标方向,出口点到入口点的第五方向,出口点到父节点的第六方向,建立索引关系。
本发明实施例中,步骤208c基于出口点的切线的第一目标方向,出口点到入口点的第五方向,出口点到父节点的第六方向,建立索引关系,包括:
第一步、基于出口点的切线的第一目标方向,第五方向,第六方向,确定从出口点到入口点的路径方向;
示例性的,以第一个出口龙骨点为例,通过该龙骨自身切线的第一目标方向dir1,该龙骨点与对应入口点的第五方向dir2以及该龙骨点与该龙骨点最近龙骨点(离入口点最近,即是该龙骨点的父节点)的第六方向dir3,将第一目标方向、第五方向以及第六方向这三个方向加权平均,得到从出口到入口行驶方向为:dir=m1*dir1+m2*dir2+m3*dir3,其中(m1,m2,m3)为比例系数,则本发明实施例中的上述比例系数具体值对应的可以是
第二步、从出口点沿着路径方向遍历第二点集中的点,得到索引关系。
本发明实施例中,第二步从出口点沿着路径方向遍历第二点集中的点,得到索引关系,包括:
C1、从每一出口点沿着与每一出口点对应的路径方向遍历第二点集中的第一部分点,且遍历至与每一出口点不同的第一出口点,则从第一出口点回退至第一分叉处,得到第一子路径。
其中,第一子路径包括从每一出口点至第一分叉处的路径。
C2、从第一分叉处沿着与每一出口点对应的路径方向遍历第二点集中的第二部分点,得到第二子路径。
其中,第二子路径包括从第一分叉处至每一出口点对应的入口点的路径。
本发明实施例中,C2从第一分叉处沿着与每一出口点对应的路径方向遍历第二点集中的第二部分点,得到第二子路径,可以包括如下步骤:
C21、从第一分叉处沿着与每一出口点对应的路径方向遍历第二部分点中的第一子部分点,且遍历至与第一出口点不同的第二出口点,则从第二出口点回退至第二分叉处,得到第三子路径。
其中,第三子路径包括从第一分叉处至第二分叉处的路径;
C22、从第二分叉处沿着与每一出口点对应的路径方向遍历第二点集中的第二部分点中的第二子部分点,得到第四子路径。
其中,第四子路径包括从第二分叉处至每一出口点对应的入口点的路径。
需要说明的是,从第二分叉处沿着与每一出口点对应的路径方向遍历第二点集中的第二部分点中的第二子部分点,得到第四子路径的过程中,仍旧可能从第二分叉处沿着与每一出口点对应的路径方向遍历第二点集中的第二部分点中的第二子部分点中的部分点,且遍历至另一出口点,则从另一出口点回退至第三分叉处,得到第五子路径;其中,第五子路径包括从第二分叉处至第三分叉处的路径;从第三分叉处沿着与每一出口点对应的路径方向遍历第二点集中的第二子部分点中的剩余部分点,得到第六子路径;第六子路径包括从第三分叉处至每一出口点对应的入口点的路径。进一步地,基于第五子路径和第六子路径,确定第四子路径。也就是说,在遍历的过程中,只要出现从一个分叉处F1遍历至与遍历的起始出口点不同的另一出口点,则需要回退至另一出口点与分叉处F1之间的另一分叉处F2,并且从另一分叉处F2继续沿着路径方向遍历剩余点。
C23、基于第三子路径和第四子路径,确定第二子路径。
C3、基于第一子路径和第二子路径,确定与每一出口点对应的每一路径。
C4、基于与每一出口点对应的每一路径,确定索引关系。
本发明实施例中,C4基于与每一出口点对应的每一路径,确定索引关系,可以包括如下步骤:
C41、确定多个出口点对应的多个路径中的多个重叠部分的路径和多个未重叠部分的路径。
其中,多个重叠部分的路径中同一重叠部分具有唯一的路径;
C42、基于多个重叠部分的路径和多个未重叠部分的路径,确定索引关系。
由上述内容可知,本发明实施例中,从出口点向入口点遍历的过程中,若遍历到其他出口点,则回退到分叉处,继续寻找新的路径遍历直到遍历到入口点为止,得到第一子路径。同理,可得到第二子路径。若是第二子条路径和第一子路径中有部分从分叉处到入口处的路径是重合的,则基于多个重叠部分的路径和多个未重叠部分的路径,确定索引关系。
示例性的,终端可以先遍历第一子路径,再遍历第二子路径,并且在确定第二子路径和第一子路径有重叠部分时,基于第二子路径对应的重叠部分更新索引关系。
本发明实施例中,在给定的角度内查找遍历龙骨点(本案例某个龙骨点上行驶方向dir与该龙骨点最近龙骨点的第六方向dirs的内积大于0.2,从出口到入口行驶方向dir遍历,在分叉处由于行驶方向dir可能不够准确,往往会出现从一个出口遍历到另一个出口的情况。针对这类问题,采用的深度优先,即方向错误后采用回退策略,可以参照如下思想:从一个出口遍历到入口时,若是遇到出口或者坏点(当前龙骨点没有找到可能的父节点,则为坏点)时,需要回退一个龙骨点。回退后的路径认为是坏点,不再行走,直到回退到分叉处,获取新的路径,到达入口为止,重复上述步骤依次从出口遍历到入口,建立所有龙骨点的父索引,并记录在矩阵A中16列。
进一步,在入口处总会出现有被误判的小分支出口,如图6中被框定的入口点,此类入口小分支一般在10个龙骨点之内。修正被误判的小分支只需假设从出口ii直接遍历到分叉点,则停止遍历这支龙骨,表示该分支正常;从出口ii直接遍历到入口点且分支上龙骨点个数在10个点之内,则表示该小分支是被误判,将整个小分支剔除。
步骤209、基于点云数据和索引关系,计算冠状动脉的第一半径。
本发明实施例中,步骤209基于点云数据和索引关系,计算冠状动脉的第一半径,包括:
步骤209a、基于点云数据确定冠状动脉的外轮廓边界。
这里,终端基于点云数据确定冠状动脉的外轮廓边界之前,还可以基于第二点集执行如下几个步骤:
第一,遍历第二点集中所有从出口到入口的路径。
第二,龙骨点空间位置分布x,y,z坐标分别进行N次平滑样条内插法来平滑第二点集中龙骨点的位置。
第三,对每一条路径进行N次多项式拟合,计算出每个龙骨点对应的一阶导数和二阶导数,再结合曲率公式,计算出龙骨点处的曲率以及曲率半径。
这里,终端可以基于龙骨点空间位置经过N次多项式数据拟合,计算曲率与曲率半径。计算曲率与曲率半径可以通过如下步骤实现:首先,记载所有从出口到入口的路径routes(如记载的是矩阵A中16列的索引),本发明实施例中以第k条路径routes为例,对应其龙骨点空间坐标(x,y,z),分别通过函数fit(t,m,′smoothingspline′)进行5次平滑样条内插法平滑龙骨点的坐标(x5,y5,z5),其中,t为每条路径中龙骨点的总数,m为每条路径中龙骨点代表x,y或z的坐标数值。
其次,每条路径routes进行二次多项式拟合,数学表达式:y=a*x2+b*x+c,本案例以第k条路径routes为例,利用函数plotfit(t1,M,2)直接将第k条路径上所有龙骨点平滑后的坐标(x5,y5,z5),分别在x,y,z方向上进行二次多项式数值拟合,记载每个龙骨点的一次项系数b与二次项系数a,将二次项系数a标记在矩阵A的7~9列。
N1是每条路径routes中龙骨点总数,M为第j龙骨点附近的t1个龙骨点平滑后的坐标(x5,y5,z5)。
最后,由曲率数学表达式为:其中v′为上述二次多项式一阶导数系数b的值,v″为上述二次多项式二阶导数系数a的值。计算出曲率,记在矩阵A的第10列,曲率半径数学表达式为:计算出曲率半径记在矩阵A的第11列。
接着,终端执行步骤209a基于点云数据确定冠状动脉的外轮廓边界时,示例性的,终端根据龙骨点体像素数据将其转化成物理坐标(PixelSpacing是x和y方向的像素间距,SpacingBetweenSlices是z方向的层间距,一般是x和y方向数值是乘以PixelSpacing数值,z方向数值乘以SpacingBetweenSlices数值)下坐标,点云的转化为三维矩阵利用Matlab中等值面生成函数,获取外轮廓边界。
步骤209b、从第二点集中确定第三目标点的法平面与外轮廓边界相交,且与第三目标点之间的距离小于第三距离的多个第六目标点。
其中,第三目标点为第二点集中的任一点。
这里,第三距离可以称为初始半径r0。这里,终端可以通过某一龙骨点即第三目标点的物理坐标与切线方向,计算出第三目标点的法平面。
步骤209c、获取每一第六目标点与第二目标点之间的每一第四距离。
这里,取法平面与外轮廓边界相交并且与该龙骨点距离小于r0的点即多个第六目标点,进而获取每一第六目标点与第二目标点之间的每一第四距离,并基于多个第四距离更新r0。
步骤209d、基于多个第四距离,计算第一半径。
这里,迭代n次后,r0会收敛到一个数,则此时的r0为模型的真实半径即第一半径。
示例性的,通过二值化三维矩阵Vol(337×412×231)进行等值面函数生成外轮廓点与面,标记为FV。本发明实施例中,首先,x和y方向的像素间距PixelSpacing为0.3898,z方向的层间距SpacingBetweenSlices是0.5000,将冠状动脉龙骨点体坐标(矩阵A中1~3列)x,y方向数值各乘以像素间距PixelSpacing,z方向数值乘以层间距SpacingBetweenSlices,将其转化到物理坐标系下数值。
其次,假定初始半径r0=4厘米。以第i个龙骨点坐标为Ai=(xi,yi,zi),对应的切线方向为A′i=(x′i,y′i,z′i),法平面数学表达式为:
x′(X-x)+y′(Y-y)+z′(Z-z)=0。其中,x,y,z是龙骨点的空间物理坐标,(x′,y′,z′)为龙骨点对应的切线向量(即是法平面的法向量)。计算出法平面与外轮廓边界相交并且与该龙骨点距离小于r0的点,对其所有龙骨点求平均值后更新为初始半径r0;经过n次半径r0迭代后,r0收敛到一个定值,迭代结束,则r0为模型的真实半径记录在矩阵A的第13列。
然后,遍历所有从出口到入口的路径routes,分别通过函数fit(t,r,′smoothingspline′)进行5次平滑样条内插平滑半径r0,其中,t为每条路径中龙骨点的总数,r0为每条路径中龙骨点到外轮廓边界的半径。
本发明实施例中,步骤209d、基于多个第四距离,计算第一半径,包括:
步骤209d1、若冠状动脉的分支段存在狭窄或斑块凸起,基于第一半径设置分支段的特定位置处的第三目标点的半径为第二半径。
其中,第二半径能用于对冠状动脉进行血流量分配。
最后,计算血流储备系数(FFR)是依据血管分叉处正常半径对冠状动脉模型进行血流量分配。在计算模型的真实半径r0时是依据冠状动脉的外轮廓边界,若是在冠状动脉分叉处存在狭窄或斑块凸起的情况,将导致血流量分配不准确影响FFR计算,故需将冠状动脉分叉处真实半径修复成正常半径。
本发明实施例中,步骤209d1若冠状动脉的分支段存在狭窄或斑块凸起,基于第一半径设置分支段的特定位置处的第三目标点的半径为第二半径,包括:
D11、若冠状动脉的分支段存在狭窄或斑块凸起,且分支段的长度属于第一长度范围,计算所有第三目标点对应的第一半径的第三平均值。
D12、基于第三平均值设置分支段的特定位置处的第三目标点的半径为第二半径。
示例性的,若分支段龙骨点长度为4个像素点,则不参加修正;若分支段龙骨点长度在4到70个像素点,确定分支段的长度属于第一长度范围,则取所有半径的平均值(去除首尾各2个龙骨点)的1.2倍来修正分叉处前3个龙骨点模型半径。
本发明另一实施例中,步骤209d1若冠状动脉的分支段存在狭窄或斑块凸起,基于第一半径设置分支段的特定位置处的第三目标点的半径为第二半径,可以包括:
D21、若冠状动脉的分支段存在狭窄或斑块凸起,且分支段的长度属于第二长度范围,获取所有第三目标点对应的第一半径中的多个特定半径。
其中,多个特定半径大于预设半径。
D22、计算多个特定半径的第四平均值。
D23、基于第四平均值设置分支段的特定位置处的第三目标点的半径为第二半径。
示例性的,若分支段龙骨点大于70个像素点,确定分支段的长度属于第二长度范围,则取最大半径的前40个龙骨点模型半径的平均值的1.2倍来修正分叉处前3个龙骨点模型半径,修正后的正常半径被记录在矩阵A中的第22列。
基于终端执行的上述步骤,可以得到图7所示的冠状动脉的龙骨点的截面半径示意图,进而终端可以输出龙骨模型数据。图7中龙骨模型的坐标单位为米。输出文件为.dat与.ply格式。文件.dat格式龙骨模型中涉及多种信息,如龙骨的物理坐标、曲率、曲率半径、索引、模型半径等等。文件.ply格式,是为计算FFR显示提供模型。
本发明实施例提供的冠状动脉的半径计算方法,能够计算出冠状动脉的任一中轴线上的点对应的第一半径,采用本发明实施例提供的方法,不仅无需进行微创手术,而且能够针对冠状动脉的半径实现量化计算,进而准确计算出冠状动脉的半径,从而为计算FFR提供精确的血流分配。
需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
根据前述实施例,结合图8所示,对本发明实施例提供的冠状动脉的半径计算方法作进一步的说明,该方法应用于终端,该方法包括:
301:获取冠状动脉的点云数据。
302:基于冠状动脉点云数据提取龙骨点。
这里,终端将冠状动脉的点云数组转化为二值化三维矩阵,剔除较小的连通域,而后利用骨骼提取算法直接提取龙骨点。
303:计算龙骨点的切线的方向、剔除重复与不连续的龙骨点。
这里,终端计算龙骨点的切线方向。以某个龙骨点为例,选取到这个龙骨点的距离最小的W个龙骨点,对这W个龙骨点的坐标进行主成分分析并取第一主成分的方向作为这个龙骨点的切线方向。按照上述方法遍历剩余所有龙骨点,得到不连续的龙骨点并剔除。
终端剔除重复的龙骨点。第1步,选取某个龙骨点,计算该点到其他龙骨点的距离,去除距离小于某个阈值的龙骨点(该龙骨点除外);第2步,选取上一步没有选取的龙骨点,计算上一步没有选取过的龙骨点到该龙骨点的距离,按第1步规则去除龙骨点。重复第2步。
304:根据给定入口位置搜索冠脉龙骨点的出入口点。
这里,终端可以获取到给定的两个入口位置,将距离这两个位置最近的龙骨点设为左右冠脉入口。
305:依次从出口到入口搜索不连通的点,建立龙骨点索引关系。
这里,终端沿第一个龙骨点(不计算入口龙骨点)的正反切线方向各构造一个球;若球内存在龙骨点则标记为1次,若球内不存在龙骨点则标记0次。若两个球内都存在龙骨点,则表示第一个龙骨点为中间点;若两个球内有且只有一个球中存在龙骨点,则表示第一个龙骨点为出口;若两个球内都不存在龙骨点,则表示第一个龙骨点为单独的点,即不连通的点并剔除该点。最后、按照上述方法遍历剩余龙骨点。
进而,建立龙骨点索引(子节点与父节点)关系。以第一个出口龙骨点(子节点)为例,计算距离最短对应的龙骨点(排除自身)为第一个出口龙骨点的父节点。第一步,计算子节点与父节点的方向dirf_s、再计算dirf_s与子节点(第一个出口龙骨点)方向dirs的内积。若内积大于某个阈值τ1,子节点(第一个出口龙骨点)的切线方向dirs不变;若内积小于某个阈值τ2,第一个出口龙骨点切线方向取反方向-dirs;若内积在阈值(τ2,τ1)之间(表明dirf_s,dirs之间夹角过大),则表示第一个出口龙骨点为不连通的点,将其记录为坏点。第二步,计算所有龙骨点到第一步中坏点的最短距离的龙骨点,将其最短距离的龙骨点更新为新的出口点,同时剔除被记录坏点,并对新的出口点重新进行第一步判定父节点。第三步,按照上述方法遍历所有出口龙骨点,建立所有出口龙骨点的父索引。
进一步地,终端通过某个龙骨点自身的切线方向、这个龙骨点到对应入口点的方向、这个龙骨点到其最近点龙骨点(且离入口最近的点)的方向,将三个方向加权平均,即为龙骨点依次遍历的方向dir。
进一步地,终端在给定的角度内查找遍历龙骨点,按照龙骨点依次遍历的方向dir,从出口开始遍历到入口。遍历方式采用深度优先,即方向错误后采用回退策略。
306:基于龙骨点空间位置经过N次多项式数据拟合,计算曲率与曲率半径。
这里,终端首先遍历所有从出口到入口的路径;其次,针对龙骨点空间位置分布x,y,z坐标分别进行N次平滑样条内插法来平滑龙骨点的位置;最后,对每一条路径进行N次多项式拟合,计算出每个龙骨点对应的一阶导数和二阶导数,再结合曲率公式,计算出龙骨点处的曲率以及曲率半径。
307:重新建立索引,进而输出龙骨体素数据。
308:坐标转换。
309:基于冠脉动脉的点云数据对应的点与面,计算截面半径,进而输出龙骨模型。
这里,终端获取外轮廓边界即等值面,进而基于外轮廓边界和索引关系计算出截面半径;进一步地,对截面半径进行N次平滑样条内插法来平滑半径。需要说明的是,分叉处半径可能不精确,修复分叉处半径数据,进而输出龙骨模型。
本发明实施例提供的冠状动脉的半径计算方法,能够计算出冠状动脉的任一中轴线上的点对应的第一半径,采用本发明实施例提供的方法,不仅无需进行微创手术,而且能够针对冠状动脉的半径实现量化计算,进而准确计算出冠状动脉的半径,从而为计算FFR提供精确的血流分配。
需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
基于前述实施例,本发明的实施例提供一种终端,该终端可以应用于图1-2对应的实施例提供的一种冠状动脉的半径计算方法中,参照图9示,该终端4包括:处理器41、存储器42和通信总线43,其中:
通信总线43用于实现处理器41和存储器42之间的通信连接。
处理器41用于执行存储器42中存储的冠状动脉的半径计算程序,以实现以下步骤:
获取冠状动脉的点云数据,并基于点云数据确定第一点集;其中,第一点集包括冠状动脉的中轴线上的点;
基于第一点集建立索引关系;其中,索引关系表征中轴线上的多个点形成的路径;
基于点云数据和索引关系,计算冠状动脉的第一半径。
在本发明的其他实施例中,处理器41用于执行存储器42中基于第一点集建立索引关系时,可以通过以下步骤实现:
去除第一点集中重复的点和不连续的点,得到第二点集;
基于第二点集中的第一特定点搜索冠状动脉的出口点和入口点;
基于出口点和入口点,建立索引关系。
在本发明的其他实施例中,处理器41用于执行存储器42中的冠状动脉的半径计算程序,以实现如下步骤:
确定第一点集中,与第一目标点之间的距离在第一预设距离范围内的点为重复的点;其中,第一点集包括第一目标点,且第一目标点为第一点集中的任一点;
获取第二目标点的切线的第一方向,并基于第一方向确定不连续的点;其中,第二目标点为第三点集中的任一点,第三点集包括第一点集中除重复的点以外的点。
在本发明的其他实施例中,处理器41用于执行存储器42中获取第二目标点的切线的第一方向时,可以通过以下步骤实现:
从第三点集中选择与第二目标点之间的距离在第二预设距离范围内的多个第二特定点,并基于多个第二特定点得到第四点集;
获取第四点集中每一第二特定点的切线的第二方向;
基于多个第二方向,确定第一方向。
在本发明的其他实施例中,处理器41用于执行存储器42中基于多个第二方向,确定第一方向时,可以通过以下步骤实现:
计算多个第二方向的第一平均值,并对第一平均值进行归一化处理,得到第一方向。
在本发明的其他实施例中,处理器41用于执行存储器42中基于第一方向确定不连续的点时,可以通过以下步骤实现:
基于第一方向、第二目标点的坐标和第一阈值,确定不连续的点。
在本发明的其他实施例中,处理器41用于执行存储器42中基于第一方向、第二目标点的坐标和第一阈值,确定不连续的点时,可以通过以下步骤实现:
沿第一方向且与第二目标点相距第一距离的点为球心,并以第一距离为半径,构造第一区域;
沿第一方向相反的方向且与第二目标点相距第一距离的点为球心,并以第一距离为半径,构造第二区域;
确定第一区域和第二区域中包括的第三点集中的点的数量;
若数量不符合预设数量范围,确定第二目标点为不连续的点。
在本发明的其他实施例中,处理器41用于执行存储器42中的冠状动脉的半径计算程序,以实现如下步骤:
基于第二点集,选择与第三目标点之间的距离在第三预设距离范围内的多个第四目标点;其中,第三目标点为第二点集中的任一点;
基于多个第四目标点的第一方向,对第三目标点的第一方向进行平滑处理,得到第一目标方向。
在本发明的其他实施例中,处理器41用于执行存储器42中基于多个第四目标点的第一方向,对第三目标点的第一方向进行平滑处理,得到第一目标方向时,可以通过以下步骤实现:
将每一第四目标点的第一方向投影至第三目标点的第一方向上,得到投影后的每一第三方向;
用符号函数对多个第三方向进行方向统一,得到多个第四方向;
计算多个第四方向的第二平均值,并对第二平均值进行归一化处理,得到第一目标方向。
在本发明的其他实施例中,处理器41用于执行存储器42中基于第二点集中的第一特定点搜索冠状动脉的出口点和入口点时,可以通过以下步骤实现:
计算第二点集中各个点与第一特定点之间的多个第二距离;
确定多个第二距离中最短距离对应的点为冠状动脉的入口点;
若第一区域和第二区域中有且仅有一个区域中包括第二点集中的一个第三特定点,基于第三特定点确定冠状动脉的出口点。
在本发明的其他实施例中,处理器41用于执行存储器42中基于出口点和入口点,建立索引关系时,可以通过以下步骤实现:
从第二点集中确定与出口点之间的距离在第四预设距离范围内的第五目标点;其中,第五目标点的个数为至少一个;
从至少一个第五目标点中确定第五目标点的切线的第一目标方向与出口点的切线的第一目标方向不垂直,且与出口点之间距离最近的第五目标点为出口点的父节点;
基于出口点的切线的第一目标方向,出口点到入口点的第五方向,出口点到父节点的第六方向,建立索引关系。
在本发明的其他实施例中,处理器41用于执行存储器42中若第一区域和第二区域中有且仅有一个区域中包括第二点集中的一个第三特定点,基于第三特定点确定冠状动脉的出口点时,可以通过以下步骤实现:
若第一区域和第二区域中有且仅有一个区域中包括第二点集中的一个第三特定点,确定第三特定点为冠状动脉的初始出口点;
若初始出口点的切线的目标方向与第五目标点的中的特定目标点的切线的第一目标方向垂直,用特定目标点替换初始出口点,得到冠状动脉的出口点;其中,特定目标点是至少一个第五目标点中与初始出口点之间距离最近的点。
在本发明的其他实施例中,处理器41用于执行存储器42中基于出口点的切线的第一目标方向,出口点到入口点的第五方向,出口点到父节点的第六方向,建立索引关系时,可以通过以下步骤实现:
基于出口点的切线的第一目标方向,第五方向,第六方向,确定从出口点到入口点的路径方向;
从出口点沿着路径方向遍历第二点集中的点,得到索引关系。
在本发明的其他实施例中,处理器41用于执行存储器42中从出口点沿着路径方向遍历第二点集中的点,得到索引关系时,可以通过以下步骤实现:
从出口点沿着路径方向遍历第二点集中的点直至入口点,得到索引关系。
在本发明的其他实施例中,处理器41用于执行存储器42中出口点的个数为至少一个,从出口点沿着路径方向遍历第二点集中的点,得到索引关系时,可以通过以下步骤实现:
从每一出口点沿着与每一出口点对应的路径方向遍历第二点集中的第一部分点,且遍历至与每一出口点不同的第一出口点,则从第一出口点回退至第一分叉处,得到第一子路径;其中,第一子路径包括从每一出口点至第一分叉处的路径;
从第一分叉处沿着与每一出口点对应的路径方向遍历第二点集中的第二部分点,得到第二子路径;其中,第二子路径包括从第一分叉处至每一出口点对应的入口点的路径;
基于第一子路径和第二子路径,确定与每一出口点对应的每一路;
基于与每一出口点对应的每一路径,确定索引关系。
在本发明的其他实施例中,处理器41用于执行存储器42中从第一分叉处沿着与每一出口点对应的路径方向遍历第二点集中的第二部分点,得到第二子路径时,可以通过以下步骤实现:
从第一分叉处沿着与每一出口点对应的路径方向遍历第二部分点中的第一子部分点,且遍历至与第一出口点不同的第二出口点,则从第二出口点回退至第二分叉处,得到第三子路径;其中,第三子路径包括从第一分叉处至第二分叉处的路径;
从第二分叉处沿着与每一出口点对应的路径方向遍历第二点集中的第二部分点中的第二子部分点,得到第四子路径;其中,第四子路径包括从第二分叉处至每一出口点对应的入口点的路径;
基于第三子路径和第四子路径,确定第二子路径。
在本发明的其他实施例中,处理器41用于执行存储器42中基于与每一出口点对应的每一路径,确定索引关系时,可以通过以下步骤实现:
确定多个出口点对应的多个路径中的多个重叠部分的路径和多个未重叠部分的路径;其中,多个重叠部分的路径中同一重叠部分具有唯一的路径;
基于多个重叠部分的路径和多个未重叠部分的路径,确定索引关系。
在本发明的其他实施例中,处理器41用于执行存储器42中基于点云数据和索引关系,计算冠状动脉的第一半径,可以通过以下步骤实现:
基于点云数据确定冠状动脉的外轮廓边界;
从第二点集中确定第三目标点的法平面与外轮廓边界相交,且与第三目标点之间的距离小于第三距离的多个第六目标点;其中,第三目标点为第二点集中的任一点;
获取每一第六目标点与第二目标点之间的每一第四距离;
基于多个第四距离,计算第一半径。
在本发明的其他实施例中,处理器41用于执行存储器42中的冠状动脉的半径计算程序,以实现如下步骤:
若冠状动脉的分支段存在狭窄或斑块凸起,基于第一半径设置分支段的特定位置处的第三目标点的半径为第二半径;其中,第二半径能用于对冠状动脉进行血流量分配。
在本发明的其他实施例中,处理器41用于执行存储器42中若冠状动脉的分支段存在狭窄或斑块凸起,基于第一半径设置分支段的特定位置处的第三目标点的半径为第二半径时,可以通过以下步骤实现:
若冠状动脉的分支段存在狭窄或斑块凸起,且分支段的长度属于第一长度范围,计算所有第三目标点对应的第一半径的第三平均值;
基于第三平均值设置分支段的特定位置处的第三目标点的半径为第二半径。
在本发明的其他实施例中,处理器41用于执行存储器42中若冠状动脉的分支段存在狭窄或斑块凸起,基于第一半径设置分支段的特定位置处的第三目标点的半径为第二半径时,可以通过以下步骤实现:
若冠状动脉的分支段存在狭窄或斑块凸起,且分支段的长度属于第二长度范围,获取所有第三目标点对应的第一半径中的多个特定半径;多个特定半径大于预设半径;
计算多个特定半径的第四平均值;
基于第四平均值设置分支段的特定位置处的第三目标点的半径为第二半径。
需要说明的是,本实施例中处理器所执行的步骤的具体实现过程,可以参照图1-2对应的实施例提供的冠状动脉的半径计算方法中的实现过程,此处不再赘述。
基于前述实施例,本发明的实施例提供一种存储介质,该存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现如下步骤:
获取冠状动脉的点云数据,并基于点云数据确定第一点集;其中,第一点集包括冠状动脉的中轴线上的点;
基于第一点集建立索引关系;其中,索引关系表征中轴线上的多个点形成的路径;
基于点云数据和索引关系,计算冠状动脉的第一半径。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
去除第一点集中重复的点和不连续的点,得到第二点集;
基于第二点集中的第一特定点搜索冠状动脉的出口点和入口点;
基于出口点和入口点,建立索引关系。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
确定第一点集中,与第一目标点之间的距离在第一预设距离范围内的点为重复的点;其中,第一点集包括第一目标点,且第一目标点为第一点集中的任一点;
获取第二目标点的切线的第一方向,并基于第一方向确定不连续的点;其中,第二目标点为第三点集中的任一点,第三点集包括第一点集中除重复的点以外的点。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
从第三点集中选择与第二目标点之间的距离在第二预设距离范围内的多个第二特定点,并基于多个第二特定点得到第四点集;
获取第四点集中每一第二特定点的切线的第二方向;
基于多个第二方向,确定第一方向。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
计算多个第二方向的第一平均值,并对第一平均值进行归一化处理,得到第一方向。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
基于第一方向、第二目标点的坐标和第一阈值,确定不连续的点。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
沿第一方向且与第二目标点相距第一距离的点为球心,并以第一距离为半径,构造第一区域;
沿第一方向相反的方向且与第二目标点相距第一距离的点为球心,并以第一距离为半径,构造第二区域;
确定第一区域和第二区域中包括的第三点集中的点的数量;
若数量不符合预设数量范围,确定第二目标点为不连续的点。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
基于第二点集,选择与第三目标点之间的距离在第三预设距离范围内的多个第四目标点;其中,第三目标点为第二点集中的任一点;
基于多个第四目标点的第一方向,对第三目标点的第一方向进行平滑处理,得到第一目标方向。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
将每一第四目标点的第一方向投影至第三目标点的第一方向上,得到投影后的每一第三方向;
用符号函数对多个第三方向进行方向统一,得到多个第四方向;
计算多个第四方向的第二平均值,并对第二平均值进行归一化处理,得到第一目标方向。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
计算第二点集中各个点与第一特定点之间的多个第二距离;
确定多个第二距离中最短距离对应的点为冠状动脉的入口点;
若第一区域和第二区域中有且仅有一个区域中包括第二点集中的一个第三特定点,基于第三特定点确定冠状动脉的出口点。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
从第二点集中确定与出口点之间的距离在第四预设距离范围内的第五目标点;其中,第五目标点的个数为至少一个;
从至少一个第五目标点中确定第五目标点的切线的第一目标方向与出口点的切线的第一目标方向不垂直,且与出口点之间距离最近的第五目标点为出口点的父节点;
基于出口点的切线的第一目标方向,出口点到入口点的第五方向,出口点到父节点的第六方向,建立索引关系。
在本发明的其他实施例中,出口点的个数为至少一个,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
若第一区域和第二区域中有且仅有一个区域中包括第二点集中的一个第三特定点,确定第三特定点为冠状动脉的初始出口点;
若初始出口点的切线的目标方向与第五目标点的中的特定目标点的切线的第一目标方向垂直,用特定目标点替换初始出口点,得到冠状动脉的出口点;其中,特定目标点是至少一个第五目标点中与初始出口点之间距离最近的点。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
基于出口点的切线的第一目标方向,第五方向,第六方向,确定从出口点到入口点的路径方向;
从出口点沿着路径方向遍历第二点集中的点,得到索引关系。
在本发明的其他实施例中,出口点的个数为至少一个,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
从出口点沿着路径方向遍历第二点集中的点直至入口点,得到索引关系。
在本发明的其他实施例中,出口点的个数为至少一个,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
从每一出口点沿着与每一出口点对应的路径方向遍历第二点集中的第一部分点,且遍历至与每一出口点不同的第一出口点,则从第一出口点回退至第一分叉处,得到第一子路径;其中,第一子路径包括从每一出口点至第一分叉处的路径;
从第一分叉处沿着与每一出口点对应的路径方向遍历第二点集中的第二部分点,得到第二子路径;其中,第二子路径包括从第一分叉处至每一出口点对应的入口点的路径;
基于第一子路径和第二子路径,确定与每一出口点对应的每一路径;
基于与每一出口点对应的每一路径,确定索引关系。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
从第一分叉处沿着与每一出口点对应的路径方向遍历第二部分点中的第一子部分点,且遍历至与第一出口点不同的第二出口点,则从第二出口点回退至第二分叉处,得到第三子路径;其中,第三子路径包括从第一分叉处至第二分叉处的路径;
从第二分叉处沿着与每一出口点对应的路径方向遍历第二点集中的第二部分点中的第二子部分点,得到第四子路径;其中,第四子路径包括从第二分叉处至每一出口点对应的入口点的路径;
基于第三子路径和第四子路径,确定第二子路径。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
确定多个出口点对应的多个路径中的多个重叠部分的路径和多个未重叠部分的路径;其中,多个重叠部分的路径中同一重叠部分具有唯一的路径;
基于多个重叠部分的路径和多个未重叠部分的路径,确定索引关系。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
基于点云数据确定冠状动脉的外轮廓边界;
从第二点集中确定第三目标点的法平面与外轮廓边界相交,且与第三目标点之间的距离小于第三距离的多个第六目标点;其中,第三目标点为第二点集中的任一点;
获取每一第六目标点与第二目标点之间的每一第四距离;
基于多个第四距离,计算第一半径。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
若冠状动脉的分支段存在狭窄或斑块凸起,基于第一半径设置分支段的特定位置处的第三目标点的半径为第二半径;其中,第二半径能用于对冠状动脉进行血流量分配。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
若冠状动脉的分支段存在狭窄或斑块凸起,且分支段的长度属于第一长度范围,计算所有第三目标点对应的第一半径的第三平均值;
基于第三平均值设置分支段的特定位置处的第三目标点的半径为第二半径。
在本发明的其他实施例中,该一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
若冠状动脉的分支段存在狭窄或斑块凸起,且分支段的长度属于第二长度范围,获取所有第三目标点对应的第一半径中的多个特定半径;多个特定半径大于预设半径;
计算多个特定半径的第四平均值;
基于第四平均值设置分支段的特定位置处的第三目标点的半径为第二半径。
需要说明的是,本实施例中处理器所执行的步骤的具体实现过程,可以参照图1-2对应的实施例提供的冠状动脉的半径计算方法中的实现过程,此处不再赘述。
以上,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包括在本发明的保护范围之内。
Claims (21)
1.一种冠状动脉的半径计算方法,其特征在于,所述方法包括:
获取冠状动脉的点云数据,并基于所述点云数据确定第一点集;其中,所述第一点集包括所述冠状动脉的中轴线上的点;
基于所述第一点集建立索引关系;
其中,所述索引关系表征所述中轴线上的多个点形成的路径;
基于所述点云数据和所述索引关系,计算所述冠状动脉的第一半径;
其中,所述基于所述第一点集建立索引关系,包括:
去除所述第一点集中重复的点和不连续的点,得到第二点集;
基于所述第二点集中的第一特定点搜索所述冠状动脉的出口点和入口点;其中,所述第一特定点是所述第二点集中冠状动脉的左冠入口处的一点;
基于所述出口点和所述入口点,建立所述索引关系;
其中,所述基于所述点云数据和所述索引关系,计算所述冠状动脉的第一半径,包括:
基于所述点云数据确定所述冠状动脉的外轮廓边界;
从所述第二点集中确定第三目标点的法平面与所述外轮廓边界相交,且与所述第三目标点之间的距离小于第三距离的多个第六目标点;其中,所述第三目标点为所述第二点集中的任一点;
获取每一第六目标点与第二目标点之间的每一第四距离;其中,所述第二目标点为第三点集中的任一点,所述第三点集包括所述第一点集中除所述重复的点以外的点;
基于多个所述第四距离,计算所述第一半径。
2.根据权利要求1所述的方法,其特征在于,所述去除所述第一点集中重复的点和不连续的点,得到第二点集之前,所述方法还包括:
确定所述第一点集中,与第一目标点之间的距离在第一预设距离范围内的点为所述重复的点;其中,所述第一点集包括所述第一目标点,且所述第一目标点为所述第一点集中的任一点;
获取所述第二目标点的切线的第一方向,并基于所述第一方向确定所述不连续的点。
3.根据权利要求2所述的方法,其特征在于,所述获取所述第二目标点的切线的第一方向,包括:
从所述第三点集中选择与所述第二目标点之间的距离在第二预设距离范围内的多个第二特定点,并基于所述多个第二特定点得到第四点集;
获取所述第四点集中每一第二特定点的切线的第二方向;
基于多个所述第二方向,确定所述第一方向。
4.根据权利要求3所述的方法,其特征在于,所述基于多个所述第二方向,确定所述第一方向,包括:
计算多个所述第二方向的第一平均值,并对所述第一平均值进行归一化处理,得到所述第一方向。
5.根据权利要求2所述的方法,其特征在于,所述基于所述第一方向确定所述不连续的点,包括:
基于所述第一方向、所述第二目标点的坐标和第一阈值,确定所述不连续的点。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第一方向、所述第二目标点的坐标和第一阈值,确定所述不连续的点,包括:
沿所述第一方向且与所述第二目标点相距第一距离的点为球心并以所述第一距离为半径,构造第一区域;
沿所述第一方向相反的方向且与所述第二目标点相距第一距离的点为球心,并以所述第一距离为半径,构造第二区域;
确定所述第一区域和所述第二区域中包括的第三点集中的点的数量;
若所述数量不符合预设数量范围,确定所述第二目标点为所述不连续的点。
7.根据权利要求6所述的方法,其特征在于,所述去除所述第一点集中重复的点和不连续的点,得到第二点集之后,所述方法包括:
基于所述第二点集,选择与第三目标点之间的距离在第三预设距离范围内的多个第四目标点;其中,所述第三目标点为所述第二点集中的任一点;
基于所述多个第四目标点的第一方向,对所述第三目标点的第一方向进行平滑处理,得到第一目标方向。
8.根据权利要求7所述的方法,其特征在于,所述基于所述多个第四目标点的第一方向,对所述第三目标点的第一方向进行平滑处理,得到第一目标方向,包括:
将每一所述第四目标点的第一方向投影至所述第三目标点的第一方向上,得到投影后的每一第三方向;
用符号函数对多个所述第三方向进行方向统一,得到多个第四方向;
计算多个所述第四方向的第二平均值,并对所述第二平均值进行归一化处理,得到所述第一目标方向。
9.根据权利要求7所述的方法,其特征在于,所述基于所述第二点集中的第一特定点搜索所述冠状动脉的出口点和入口点,包括:
计算所述第二点集中各个点与所述第一特定点之间的多个第二距离;
确定所述多个第二距离中最短距离对应的点为所述冠状动脉的入口点;
若所述第一区域和所述第二区域中有且仅有一个区域中包括所述第二点集中的一个第三特定点,基于所述第三特定点确定所述冠状动脉的出口点。
10.根据权利要求9所述的方法,其特征在于,所述基于所述出口点和所述入口点,建立所述索引关系,包括:
从所述第二点集中确定与所述出口点之间的距离在第四预设距离范围内的第五目标点;其中,所述第五目标点的个数为至少一个;
从至少一个所述第五目标点中确定所述第五目标点的切线的第一目标方向与所述出口点的切线的第一目标方向不垂直,且与所述出口点之间距离最近的第五目标点为所述出口点的父节点;
基于所述出口点的切线的第一目标方向,所述出口点到所述入口点的第五方向,所述出口点到所述父节点的第六方向,建立所述索引关系。
11.根据权利要求10所述的方法,其特征在于,所述若所述第一区域和所述第二区域中有且仅有一个区域中包括所述第二点集中的一个第三特定点,基于所述第三特定点确定所述冠状动脉的出口点,包括:
若所述第一区域和所述第二区域中有且仅有一个区域中包括所述第二点集中的一个第三特定点,确定所述第三特定点为所述冠状动脉的初始出口点;
若所述初始出口点的切线的目标方向与所述第五目标点的中的特定目标点的切线的第一目标方向垂直,用所述特定目标点替换所述初始出口点,得到所述冠状动脉的出口点;其中,所述特定目标点是至少一个所述第五目标点中与所述初始出口点之间距离最近的点。
12.根据权利要求10所述的方法,其特征在于,所述基于所述出口点的切线的第一目标方向,所述出口点到所述入口点的第五方向,所述出口点到所述父节点的第六方向,建立所述索引关系,包括:
基于所述出口点的切线的第一目标方向,所述第五方向,所述第六方向,确定从所述出口点到所述入口点的路径方向;
从所述出口点沿着所述路径方向遍历所述第二点集中的点,得到所述索引关系。
13.根据权利要求12所述的方法,其特征在于,所述从所述出口点沿着所述路径方向遍历所述第二点集中的点,得到所述索引关系,包括:
从所述出口点沿着所述路径方向遍历所述第二点集中的点直至所述入口点,得到所述索引关系。
14.根据权利要求12所述的方法,其特征在于,所述出口点的个数为至少一个,所述从所述出口点沿着所述路径方向遍历所述第二点集中的点,得到所述索引关系,包括:
从每一出口点沿着与所述每一出口点对应的路径方向遍历所述第二点集中的第一部分点,且遍历至与所述每一出口点不同的第一出口点,则从所述第一出口点回退至第一分叉处,得到第一子路径;其中,所述第一子路径包括从所述每一出口点至所述第一分叉处的路径;
从所述第一分叉处沿着所述与所述每一出口点对应的路径方向遍历所述第二点集中的第二部分点,得到第二子路径;其中,所述第二子路径包括从所述第一分叉处至所述每一出口点对应的入口点的路径;
基于所述第一子路径和所述第二子路径,确定与所述每一出口点对应的每一路径;
基于所述与所述每一出口点对应的每一路径,确定所述索引关系。
15.根据权利要求14所述的方法,其特征在于,所述从所述第一分叉处沿着所述与所述每一出口点对应的路径方向遍历所述第二点集中的第二部分点,得到第二子路径,包括:
从所述第一分叉处沿着所述与所述每一出口点对应的路径方向遍历所述第二部分点中的第一子部分点,且遍历至与所述第一出口点不同的第二出口点,则从所述第二出口点回退至第二分叉处,得到第三子路径;其中,所述第三子路径包括从所述第一分叉处至所述第二分叉处的路径;
从所述第二分叉处沿着所述与所述每一出口点对应的路径方向遍历所述第二点集中的第二部分点中的第二子部分点,得到第四子路径;其中,所述第四子路径包括从所述第二分叉处至所述每一出口点对应的入口点的路径;
基于所述第三子路径和所述第四子路径,确定所述第二子路径。
16.根据权利要求14或15所述的方法,其特征在于,所述基于所述与所述每一出口点对应的每一路径,确定所述索引关系,包括:
确定多个所述出口点对应的多个路径中的多个重叠部分的路径和多个未重叠部分的路径;其中,所述多个重叠部分的路径中同一重叠部分具有唯一的路径;
基于所述多个重叠部分的路径和所述多个未重叠部分的路径,确定所述索引关系。
17.根据权利要求1所述的方法,其特征在于,所述基于多个所述第四距离,计算所述第一半径之后,所述方法还包括:
若所述冠状动脉的分支段存在狭窄或斑块凸起,基于所述第一半径设置所述分支段的特定位置处的第三目标点的半径为第二半径;其中,所述第二半径能用于对所述冠状动脉进行血流量分配。
18.根据权利要求17所述的方法,其特征在于,所述若所述冠状动脉的分支段存在狭窄或斑块凸起,基于所述第一半径设置所述分支段的特定位置处的第三目标点的半径为第二半径,包括:
若所述冠状动脉的分支段存在狭窄或斑块凸起,且所述分支段的长度属于第一长度范围,计算所有所述第三目标点对应的第一半径的第三平均值;
基于所述第三平均值设置所述分支段的特定位置处的第三目标点的半径为所述第二半径。
19.根据权利要求17所述的方法,其特征在于,所述若所述冠状动脉的分支段存在狭窄或斑块凸起,基于所述第一半径设置所述分支段的特定位置处的第三目标点的半径为第二半径,包括:
若所述冠状动脉的分支段存在狭窄或斑块凸起,且所述分支段的长度属于第二长度范围,获取所有所述第三目标点对应的第一半径中的多个特定半径;所述多个特定半径大于预设半径;
计算所述多个特定半径的第四平均值;
基于所述第四平均值设置所述分支段的特定位置处的第三目标点的半径为所述第二半径。
20.一种终端,其特征在于,所述终端包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令,实现如权利要求1至19中任一项所述的冠状动脉的半径计算方法。
21.一种存储介质,其特征在于,存储有可执行指令,当所述可执行指令被执行时,用于引起处理器执行权利要求1至19中任一项所述的冠状动脉的半径计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910105746.1A CN109919913B (zh) | 2019-02-01 | 2019-02-01 | 一种冠状动脉的半径计算方法、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910105746.1A CN109919913B (zh) | 2019-02-01 | 2019-02-01 | 一种冠状动脉的半径计算方法、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109919913A CN109919913A (zh) | 2019-06-21 |
CN109919913B true CN109919913B (zh) | 2020-12-08 |
Family
ID=66961499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910105746.1A Active CN109919913B (zh) | 2019-02-01 | 2019-02-01 | 一种冠状动脉的半径计算方法、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109919913B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112617791B (zh) * | 2020-12-22 | 2022-09-20 | 杭州晟视科技有限公司 | 一种模拟血管搏动的方法、装置及存储介质 |
CN112669370B (zh) * | 2021-03-16 | 2021-06-01 | 杭州晟视科技有限公司 | 一种冠状动脉的半径计算方法、终端及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103399B2 (en) * | 2003-09-08 | 2006-09-05 | Vanderbilt University | Apparatus and methods of cortical surface registration and deformation tracking for patient-to-image alignment in relation to image-guided surgery |
CN101783016B (zh) * | 2009-12-16 | 2011-11-30 | 中国科学院自动化研究所 | 一种基于形状分析的树冠外形提取方法 |
CN102184567B (zh) * | 2011-05-04 | 2013-10-30 | 北京师范大学 | 基于球b样条曲线的三维血管模型构造方法 |
CN103337071B (zh) * | 2013-06-19 | 2016-03-30 | 北京理工大学 | 基于结构重建的皮下静脉三维可视化装置及方法 |
CN104361626B (zh) * | 2014-09-29 | 2017-12-15 | 北京理工大学 | 基于混合匹配策略的皮下静脉三维重建方法 |
US9934566B2 (en) * | 2015-07-14 | 2018-04-03 | Siemens Healthcare Gmbh | 3-D vessel tree surface reconstruction method |
CN107044821A (zh) * | 2016-12-30 | 2017-08-15 | 苏州西博三维科技有限公司 | 一种非接触式管类物体的测量方法及*** |
US10140733B1 (en) * | 2017-09-13 | 2018-11-27 | Siemens Healthcare Gmbh | 3-D vessel tree surface reconstruction |
-
2019
- 2019-02-01 CN CN201910105746.1A patent/CN109919913B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109919913A (zh) | 2019-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ecabert et al. | Segmentation of the heart and great vessels in CT images using a model-based adaptation framework | |
Sun et al. | Graph-based IVUS segmentation with efficient computer-aided refinement | |
US20230104173A1 (en) | Method and system for determining blood vessel information in an image | |
Aykac et al. | Segmentation and analysis of the human airway tree from three-dimensional X-ray CT images | |
JP5129480B2 (ja) | 管状臓器の3次元再構成を行うシステム及び血管撮像装置の作動方法 | |
Li et al. | Optimal surface segmentation in volumetric images-a graph-theoretic approach | |
CA2606366C (en) | Registration of images of an organ using anatomical features outside the organ | |
US8358819B2 (en) | System and methods for image segmentation in N-dimensional space | |
JP4914517B2 (ja) | 構造物検出装置および方法ならびにプログラム | |
US20070109299A1 (en) | Surface-based characteristic path generation | |
CN111095354A (zh) | 经改进的3-d血管树表面重构 | |
US20130158970A1 (en) | Method and Apparatus for Quantitative Analysis of a Tree of Recursively Splitting Tubular Organs | |
Pizer et al. | Multiscale medial shape-based analysis of image objects | |
CN109478327B (zh) | 用于在任意视场计算断层摄影血管造影(cta)中自动检测全身动脉的方法 | |
Xu et al. | An improved algorithm for vessel centerline tracking in coronary angiograms | |
CN113192069B (zh) | 三维断层扫描图像中树状结构的语义分割方法和装置 | |
KR20190084380A (ko) | 2차원 x-선 조영영상의 혈관 구조 추출 방법, 이를 수행하기 위한 기록매체 및 장치 | |
WO2020109813A1 (en) | Reconstruction method of organ vessel centerline | |
Cardenes et al. | 3D reconstruction of coronary arteries from rotational X-ray angiography | |
CN109919913B (zh) | 一种冠状动脉的半径计算方法、终端及存储介质 | |
CN111260704A (zh) | 基于启发式树搜索的血管结构3d/2d刚性配准方法及装置 | |
Tahoces et al. | Automatic detection of anatomical landmarks of the aorta in CTA images | |
Tahoces et al. | Deep learning method for aortic root detection | |
US8897576B2 (en) | Image processing device, method and program | |
Zhao et al. | Automatic aortic dissection centerline extraction via morphology-guided CRN tracker |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211022 Address after: 311100 room 504, building 2, Xizi international jinzuo, Nanyuan street, Yuhang District, Hangzhou City, Zhejiang Province Patentee after: HANGZHOU SHENGSHI TECHNOLOGY Co.,Ltd. Address before: 310027 No. 38, Zhejiang Road, Hangzhou, Zhejiang, Xihu District Patentee before: ZHEJIANG University |
|
TR01 | Transfer of patent right |