CN111179416B - 血管矢量图模型生成方法及装置 - Google Patents

血管矢量图模型生成方法及装置 Download PDF

Info

Publication number
CN111179416B
CN111179416B CN201911399500.6A CN201911399500A CN111179416B CN 111179416 B CN111179416 B CN 111179416B CN 201911399500 A CN201911399500 A CN 201911399500A CN 111179416 B CN111179416 B CN 111179416B
Authority
CN
China
Prior art keywords
blood vessel
points
vessel
point
drawn
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
Application number
CN201911399500.6A
Other languages
English (en)
Other versions
CN111179416A (zh
Inventor
李庆坤
陈向军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Oriental ET Medical Equipment Co ltd
Original Assignee
Beijing Oriental ET Medical Equipment Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Oriental ET Medical Equipment Co ltd filed Critical Beijing Oriental ET Medical Equipment Co ltd
Priority to CN201911399500.6A priority Critical patent/CN111179416B/zh
Publication of CN111179416A publication Critical patent/CN111179416A/zh
Application granted granted Critical
Publication of CN111179416B publication Critical patent/CN111179416B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

本发明实施例提供一种血管矢量图模型生成方法及装置,方法包括:根据检测到的绘制血管的鼠标轨迹,利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的主支血管;若检测到下一次绘制血管的鼠标轨迹的起点位于血管矢量图模型中已建立的血管内,则将当前检测到的下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断下一次绘制血管的鼠标轨迹绘制的血管是否为当前的主支血管的分支血管;若是,则利用建立单支无关联血管的数学模型算法建立血管矢量图模型中的所述下一次绘制血管的鼠标轨迹所绘制的血管,否则利用建立分支血管的数学模型算法建立血管矢量图模型中的当前的主支血管的分支血管。可实现血管矢量图模型的生成。

Description

血管矢量图模型生成方法及装置
技术领域
本发明涉及计算机信息技术的图像处理技术领域,尤其涉及一种血管矢量图模型生成方法及装置。
背景技术
在现有技术中,需要描述目标对象的血管的状态,除文字描述外,采用示意图的形式的描述更为直观。
目前,现有技术中可基于CT(Computed Tomography,电子计算机断层扫描)或MRI(Magnetic Resonance Imaging,磁共振成像)等设备的扫描图像重建血管形状。
但是,由于扫描图像不可避免地存在失真问题,而且扫描图像也容易因病人的体位发生变化而出现缺失问题,因此,直接通过扫描图像生成的血管计算机三维模型的尺寸精度低,从而依据血管计算机三维模型制作的血管模型尺寸精度也低。
鉴于此,如何在计算机中生成血管矢量图模型成为目前需要解决的技术问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种血管矢量图模型生成方法及装置。
本发明实施例提供一种血管矢量图模型生成方法,包括:
根据检测到的绘制血管的鼠标轨迹,利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的主支血管;
若检测到下一次绘制血管的鼠标轨迹的起点位于血管矢量图模型中已建立的血管内,则将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管;
若所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的非分支血管,则利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的所述下一次绘制血管的鼠标轨迹所绘制的血管;
若所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的分支血管,则利用建立分支血管的数学模型算法,建立血管矢量图模型中的当前的主支血管的分支血管。
可选地,所述建立单支无关联血管的数学模型算法,包括:
检测绘制血管的鼠标轨迹,将检测到的绘制血管的鼠标轨迹转换为一个矢量曲线;
基于预先设置的血管开口直径Do和末端直径De、直径指数α,将所述矢量曲线转换为双线的血管模型。
可选地,所述检测绘制血管的鼠标轨迹,将检测到的绘制血管的鼠标轨迹转换为一个矢量曲线,包括:
令绘制血管的鼠标轨迹所产生的血管中心线的原始点集合为Mouse_Points;
对Mouse_Points进行矢量化处理产生一系列的连续的三次贝塞尔曲线所需要的控制点集合BControl_Points;
将由BControl_Points控制的三次贝塞尔曲线转换为SVG路径crtPath和均匀分布的中心线CenterLine,CenterLine的点集合为CL_Points,CL_Points中点数量为N,N≥2,CL_Pointsn(xn,yn)为CL_Points中的第n个点对应坐标值,n∈[1,N]。
可选地,所述基于预先设置的血管开口直径Do和末端直径De、直径指数α,将所述矢量曲线转换为双线的血管模型,包括:
定义血管模型type,血管开口直径Do和末端直径De,直径指数α,满足De≤Do,其中:type=1为等粗型血管,De=Do,α=0;type=2为半开口直线缩减型血管,
Figure BDA0002347142930000021
α=1;type=3为封闭曲线缩减型血管,De=0,α=3;type=4为除了等粗型血管、半开口直线缩减型血管和封闭曲线缩减型血管之外的其他血管类型,α取正整数;
获取CL_Points中第1点到第2点的向量至第N-1点到第N点的向量
Figure BDA0002347142930000031
的集合
Figure BDA0002347142930000032
并获取
Figure BDA0002347142930000033
的长度
Figure BDA0002347142930000034
n∈[1,N-1]:
Figure BDA0002347142930000035
Figure BDA0002347142930000036
获取CL_Points中第N点到第N-1点的向量vs[N]和vs[N]的长度
Figure BDA0002347142930000037
Figure BDA0002347142930000038
Figure BDA0002347142930000039
获取
Figure BDA00023471429300000310
的总长度L:
Figure BDA00023471429300000311
获取CL_Points中第n个点CL_Pointsn到第1个点CL_Points1的长度Ln
L1=0
Figure BDA00023471429300000312
获取Ln
Figure BDA00023471429300000313
的总长度L中的占比Rn=Ln÷L;
计算血管中心线的两侧血管壁点集合VW1_Points和VW2_Points,包括:
定义VW1_Pointsn为VW1_Points集合中的第n个点,VW2_Pointsn为VW2_Points集合中的n个点;
通过函数计算出CL_Pointsn点处血管直径Dn=Do-(Do-De)×Rn α;定义CL_Pointsn为pt1(x1,y1),CL_Pointsn+1为pt2(x2,y2),对应向量
Figure BDA00023471429300000314
以pt1(x1,y1)点为圆心,半径为
Figure BDA00023471429300000315
的圆与从pt1(x1,y1)经pt2(x2,y2)形成的射线的交点定义为Pta(xa,ya);Pta(xa,ya)绕pt1(x1,y1)逆时针旋转θ角得到Ptb(xb,yb);
其中,xb,yb的计算过程为:
Figure BDA00023471429300000316
若n∈[1,N-1],则
Figure BDA00023471429300000317
若n=N,则
Figure BDA0002347142930000041
xb=(xa-x1)×cosθ-(ya-y1)×sinθ+x1
yb=(xa-x1)×sinθ+(ya-y1)×cosθ+y1
Figure BDA0002347142930000042
将计算所得Ptb(xb,yb)作为VW1_Pointsn,取
Figure BDA0002347142930000043
将计算所得Ptb(xb,yb)作为
Figure BDA0002347142930000044
进而最终得到血管中心线的两侧血管壁点集合VW1_Points和VW2_Points。
可选地,所述将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管,包括:
将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,定义当前的主支血管的数据集,包括:定义当前的主支血管的中心线为CenterLine1,CenterLine1的点集合为CL1_Points,CL1_Points中点数量为N1,N1≥2,CL1_Pointsn(xn,yn)为CL1_Points中的第n个点对应坐标值,n∈[1,N];定义当前的主支血管的血管壁为VesselWall1,点集合VW1.1_Points代表当前的主支血管的中心线起点至终点左侧血管壁,点集合VW1.2_Points代表当前的主支血管的中心线起点至终点右侧血管壁,VW1.1_Points和VW1.2_Points中点数量均为N1;
将当前检测到的所述下一次绘制血管的鼠标轨迹转换为一个矢量曲线,包括:定义所述下一次绘制血管的鼠标轨迹所产生的血管中心线的原始点集合为Mouse_Points’;对Mouse_Points’进行矢量化处理产生一系列的连续的三次贝塞尔曲线所需要的控制点集合BControl_Points’;将由BControl_Points’控制的三次贝塞尔曲线转换为SVG路径crtPath和均匀分布的中心线CenterLine2,CenterLine2的点集合为CL2_Points,CL2_Points中点数量为N2,N2≥2,CL2_Pointsn(xn,yn)为CL2_Points中的第n个点对应坐标值,n∈[1,N2];
遍历法计算CenterLine2与当前的主支血管的血管壁VesselWall1的交点,记录交点的顺序及交点所对应的主支血管的血管壁的位置,按照预设策略,判断CenterLine2对应的血管是否为当前的主支血管的分支血管。
可选地,所述按照预设策略,判断CenterLine2对应的血管是否为当前的主支血管的分支血管,包括:
若CenterLine2与当前的主支血管的血管壁VesselWall1无任何交点,则确定CenterLine2对应的血管为当前的主支血管的非分支血管;
若CenterLine2与当前的主支血管的血管壁VesselWall1有且只有一个交点,则确定CenterLine2对应的血管为当前的主支血管的分支血管;
若CenterLine2与当前的主支血管的血管壁VesselWall1存在两个或两个以上的交点,则在第一个交点和第二个交点均是与当前的主支血管的同一侧血管壁相交时,确定CenterLine2对应的血管为当前的主支血管的分支血管;
在第一个交点和第二个交点是与当前的主支血管的双侧血管壁相交时,确定CenterLine2对应的血管为当前的主支血管的非分支血管。
可选地,所述建立分支血管的数学模型算法,包括:
定义所述第一个交点所对应的主支血管壁的数据集合为VW1_Points’,将分支血管中心线CenterLine2与VW1_Points’的第一个交点定义为Pt1,交点Pt1所在血管壁的线段的起点VW1_Pointsn’,终点VW1_Pointsn+1’,n∈[1,N1-1];
血管壁的线段的起点VW1_Pointsn’,终点VW1_Pointsn+1’对应的中心线的控制点为CL1_Pointsn,CL1_Pointsn+1,CL1_Pointsn与CL1_Pointsn+1两点形成的直线定义为Linen,n∈[1,N1-1];
计算Pt1至直线Linen的垂线,得到交点Pt2;
计算Pt1到Pt2的距离的2倍作为分支血管的开口直径Do,根据分支血管模型type定义分支血管末端直径De和直径指数α;
将CL2_Points中分支血管的中心线CenterLine2上Pt1之前的点舍弃,将Pt2和Pt1加入构建新的分支血管的中心线CenterLine3,CenterLine3的点集合为CL3_Points,CL3_Points中点数量为N3,N3≤N2;
按照建立单支无关联血管的数学模型算法,根据给出的中心线点集CL3_Points、分支血管开口直径Do,分支血管模型type、分支血管末端直径De和直径指数α,生成新的血管壁数据集VW2_Points,VW2_Points包括两个点集合子集VW2.1_Points和VW2.2_Points,VW2.1_Points代表中心线起点至终点左侧血管壁,VW2.2_Points代表中心线起点至终点右侧血管壁,VW2.1_Points和VW2.2_Points中点数量均为N2;
分别计算VW2.1_Points构建的多义线和VW2.2_Points构建的多义线与血管壁VesselWall1的交点;其中:当主支血管壁为VW1.1_Points构建的多义线时,VW1.1_Points构建的多义线与VW2.1_Points构建的多义线的交点定义为Pt3,VW1.1_Points构建的多义线与VW2.2_Points构建的多义线的交点定义为Pt4;当主支血管壁为VW1.2_Points构建的多义线时,VW1.2_Points构建的多义线与VW2.2_Points构建的多义线的交点定义为Pt3,VW1.2_Points构建的多义线与VW2.1_Points构建的多义线的交点定义为Pt4;
根据Pt3和Pt4重新构建主支血管与分支血管的血管壁的数据,包括:对于主支血管壁,去除Pt3和Pt4中间的数据点,相应主支血管壁的数据集拆分为两个,并将Pt3添加到新的前段数据集的末尾,将Pt4添加到新的后段数据集的开头;将VW2.1_Points位于Pt3前的数据去除,将Pt3作为开头,构建新的数据集VW2.3_Points;将VW2.2_Points位于Pt4前的数据去除,将Pt4作为开头,构建新的数据集VW2.4_Points。
本发明实施例提供一种血管矢量图模型生成装置,包括:
第一建立模块,用于根据检测到的绘制血管的鼠标轨迹,利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的主支血管;
判断模块,用于若检测到下一次绘制血管的鼠标轨迹的起点位于血管矢量图模型中已建立的血管内,则将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管;
第二建立模块,用于若所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的非分支血管,则利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的所述下一次绘制血管的鼠标轨迹所绘制的血管;
第三建立模块,用于若所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的分支血管,则利用建立分支血管的数学模型算法,建立血管矢量图模型中的当前的主支血管的分支血管。
本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述方法的步骤。
本发明实施例提供的血管矢量图模型生成方法及装置,通过根据检测到的绘制血管的鼠标轨迹,利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的主支血管,若检测到下一次绘制血管的鼠标轨迹的起点位于血管矢量图模型中已建立的血管内,将当前检测到的下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断下一次绘制血管的鼠标轨迹绘制的血管是否为当前的主支血管的分支血管;若是,则利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的所述下一次绘制血管的鼠标轨迹所绘制的血管,否则利用建立分支血管的数学模型算法,建立血管矢量图模型中的当前的主支血管的分支血管,由此,能够实现血管矢量图模型的生成。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种血管矢量图模型生成方法的流程示意图;
图2为图1所示的血管矢量图模型生成方法中建立血管矢量图模型中的主支血管的示意图;
图3为图1所示的血管矢量图模型生成方法中建立血管矢量图模型中的当前的主支血管的分支血管的示意图;
图4为本发明一实施例提供的一种血管矢量图模型生成装置的结构示意图;
图5为本发明一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明一实施例提供的一种血管矢量图模型生成方法的流程示意图,如图1所示,本实施例的血管矢量图模型生成方法,包括:
S1、根据检测到的绘制血管的鼠标轨迹,利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的主支血管。
需要说明的是,本实施例所述血管矢量图模型生成方法的执行主体为处理器。
在本实施例中,所述建立单支无关联血管的数学模型算法,可以包括:
检测绘制血管的鼠标轨迹,将检测到的绘制血管的鼠标轨迹转换为一个矢量曲线;基于预先设置的血管开口直径Do和末端直径De、直径指数α,将所述矢量曲线转换为双线的血管模型。
可以理解的是,本实施例需要先根据检测到的绘制血管的鼠标轨迹,利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的主支血管,以便后续在所建立的血管矢量图模型中的主支血管的基础上,根据检测到下一次绘制血管的鼠标轨迹,建立后续的分支血管,实现血管矢量图模型的生成。
S2、若检测到下一次绘制血管的鼠标轨迹的起点位于血管矢量图模型中已建立的血管内,则将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管。
在本实施例中,需要先判断检测到的下一次绘制血管的鼠标轨迹的起点是否位于血管矢量图模型中已建立的血管内,若检测到下一次绘制血管的鼠标轨迹的起点位于血管矢量图模型中已建立的血管内,则将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管,以便后续基于所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管的判断结果,进行血管矢量图模型中的后面的血管的建立。
S3、若所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的非分支血管,则利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的所述下一次绘制血管的鼠标轨迹所绘制的血管。
在本实施例中,在若检测到下一次绘制血管的鼠标轨迹的起点位于血管矢量图模型中已建立的血管内,则将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管之后,若判断获知所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的非分支血管,则利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的所述下一次绘制血管的鼠标轨迹所绘制的血管,实现血管矢量图模型中后面的非分支血管的建立。
S4、若所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的分支血管,则利用建立分支血管的数学模型算法,建立血管矢量图模型中的当前的主支血管的分支血管。
在本实施例中,在若检测到下一次绘制血管的鼠标轨迹的起点位于血管矢量图模型中已建立的血管内,则将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管之后,若判断获知所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的分支血管,则利用建立分支血管的数学模型算法,建立血管矢量图模型中的当前的主支血管的分支血管,实现血管矢量图模型中后面的分支血管的建立。
可以理解的是,本实施例是先根据检测到的绘制血管的鼠标轨迹,利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的主支血管,然后当检测到下一次绘制血管的鼠标轨迹的起点位于血管矢量图模型中已建立的血管内时,将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管,基于所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管的判断结果,进行血管矢量图模型中的后面的血管的建立,最终实现血管矢量图模型的生成。本实施例生成的血管矢量图模型尺寸精度高。
本实施例提供的血管矢量图模型生成方法,通过根据检测到的绘制血管的鼠标轨迹,利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的主支血管,若检测到下一次绘制血管的鼠标轨迹的起点位于血管矢量图模型中已建立的血管内,将当前检测到的下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断下一次绘制血管的鼠标轨迹绘制的血管是否为当前的主支血管的分支血管;若是,则利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的所述下一次绘制血管的鼠标轨迹所绘制的血管,否则利用建立分支血管的数学模型算法,建立血管矢量图模型中的当前的主支血管的分支血管,由此,能够实现血管矢量图模型的生成,尺寸精度高。
基于上述实施例的内容,在本实施例中,所述检测绘制血管的鼠标轨迹,将检测到的绘制血管的鼠标轨迹转换为一个矢量曲线,可以具体包括:
令绘制血管的鼠标轨迹所产生的血管中心线的原始点集合为Mouse_Points;
对Mouse_Points进行矢量化处理产生一系列的连续的三次贝塞尔曲线所需要的控制点集合BControl_Points;
将由BControl_Points控制的三次贝塞尔曲线转换为SVG路径crtPath和均匀分布的中心线CenterLine,CenterLine的点集合为CL_Points,CL_Points中点数量为N,N≥2,CL_Pointsn(xn,yn)为CL_Points中的第n个点对应坐标值,n∈[1,N]。
基于上述实施例的内容,在本实施例中,所述基于预先设置的血管开口直径Do和末端直径De、直径指数α,将所述矢量曲线转换为双线的血管模型(可参考图2),可以包括:
定义血管模型type,血管开口直径Do和末端直径De,直径指数α,满足De≤Do,其中:type=1为等粗型血管,De=Do,α=0;type=2为半开口直线缩减型血管,
Figure BDA0002347142930000111
α=1;type=3为封闭曲线缩减型血管,De=0,α=3;type=4为除了等粗型血管、半开口直线缩减型血管和封闭曲线缩减型血管之外的其他血管类型,α取正整数;
获取CL_Points中第1点到第2点的向量至第N-1点到第N点的向量
Figure BDA0002347142930000112
的集合
Figure BDA0002347142930000113
并获取
Figure BDA0002347142930000114
的长度
Figure BDA0002347142930000115
n∈[1,N-1]:
Figure BDA0002347142930000116
Figure BDA0002347142930000117
获取CL_Points中第N点到第N-1点的向量vs[N]和vs[N]的长度
Figure BDA0002347142930000118
Figure BDA0002347142930000119
Figure BDA00023471429300001110
获取
Figure BDA00023471429300001111
的总长度L:
Figure BDA00023471429300001112
获取CL_Points中第n个点CL_Pointsn到第1个点CL_Points1的长度Ln
L1=0
Figure BDA00023471429300001113
获取Ln
Figure BDA00023471429300001114
的总长度L中的占比Rn=Ln÷L;
计算血管中心线的两侧血管壁点集合VW1_Points和VW2_Points,包括:
定义VW1_Pointsn为VW1_Points集合中的第n个点,VW2_Pointsn为VW2_Points集合中的n个点;
通过函数计算出CL_Pointsn点处血管直径Dn=Do-(Do-De)×Rn α;定义CL_Pointsn为pt1(x1,y1),CL_Pointsn+1为pt2(x2,y2),对应向量
Figure BDA0002347142930000121
以pt1(x1,y1)点为圆心,半径为
Figure BDA0002347142930000122
的圆与从pt1(x1,y1)经pt2(x2,y2)形成的射线的交点定义为Pta(xa,ya);Pta(xa,ya)绕pt1(x1,y1)逆时针旋转θ角得到Ptb(xb,yb);
其中,xb,yb的计算过程为:
Figure BDA0002347142930000123
若n∈[1,N-1],则
Figure BDA0002347142930000124
若n=N,则
Figure BDA0002347142930000125
xb=(xa-x1)×cosθ-(ya-y1)×sinθ+x1
yb=(xa-x1)×sinθ+(ya-y1)×cosθ+y1
Figure BDA0002347142930000126
将计算所得Ptb(xb,yb)作为VW1_Pointsn,取
Figure BDA0002347142930000127
将计算所得Ptb(xb,yb)作为
Figure BDA0002347142930000128
进而最终得到血管中心线的两侧血管壁点集合VW1_Points和VW2_Points。
可以理解的是,本实施例可以根据实际情况预先设置血管开口直径Do和末端直径De,直径指数α,本实施例并不对其进行限制。
这样,本实施例能够实现根据检测到的绘制血管的鼠标轨迹,利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的主支血管。
基于上述实施例的内容,在本实施例中,所述将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管,可以具体包括:
将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,定义当前的主支血管的数据集,包括:定义当前的主支血管的中心线为CenterLine1,CenterLine1的点集合为CL1_Points,CL1_Points中点数量为N1,N1≥2,CL1_Pointsn(xn,yn)为CL1_Points中的第n个点对应坐标值,n∈[1,N];定义当前的主支血管的血管壁为VesselWall1,点集合VW1.1_Points代表当前的主支血管的中心线起点至终点左侧血管壁,点集合VW1.2_Points代表当前的主支血管的中心线起点至终点右侧血管壁,VW1.1_Points和VW1.2_Points中点数量均为N1;
将当前检测到的所述下一次绘制血管的鼠标轨迹转换为一个矢量曲线,包括:定义所述下一次绘制血管的鼠标轨迹所产生的血管中心线的原始点集合为Mouse_Points’;对Mouse_Points’进行矢量化处理产生一系列的连续的三次贝塞尔曲线所需要的控制点集合BControl_Points’;将由BControl_Points’控制的三次贝塞尔曲线转换为SVG路径crtPath和均匀分布的中心线CenterLine2,CenterLine2的点集合为CL2_Points,CL2_Points中点数量为N2,N2≥2,CL2_Pointsn(xn,yn)为CL2_Points中的第n个点对应坐标值,n∈[1,N2];
遍历法计算CenterLine2与当前的主支血管的血管壁VesselWall1的交点,记录交点的顺序及交点所对应的主支血管的血管壁的位置,按照预设策略,判断CenterLine2对应的血管是否为当前的主支血管的分支血管。
具体地,所述按照预设策略,判断CenterLine2对应的血管是否为当前的主支血管的分支血管,可以包括:
若CenterLine2与当前的主支血管的血管壁VesselWall1无任何交点,则确定CenterLine2对应的血管为当前的主支血管的非分支血管;
若CenterLine2与当前的主支血管的血管壁VesselWall1有且只有一个交点,则确定CenterLine2对应的血管为当前的主支血管的分支血管;
若CenterLine2与当前的主支血管的血管壁VesselWall1存在两个或两个以上的交点,则在第一个交点和第二个交点均是与当前的主支血管的同一侧血管壁相交时,确定CenterLine2对应的血管为当前的主支血管的分支血管;
在第一个交点和第二个交点是与当前的主支血管的双侧血管壁相交时,确定CenterLine2对应的血管为当前的主支血管的非分支血管。
基于上述实施例的内容,在本实施例中,所述建立分支血管的数学模型算法,可以包括:
定义所述第一个交点所对应的主支血管壁的数据集合为VW1_Points’,将分支血管中心线CenterLine2与VW1_Points’的第一个交点定义为Pt1,交点Pt1所在血管壁的线段的起点VW1_Pointsn’,终点VW1_Pointsn+1’,n∈[1,N1-1];
血管壁的线段的起点VW1_Pointsn’,终点VW1_Pointsn+1’对应的中心线的控制点为CL1_Pointsn,CL1_Pointsn+1,CL1_Pointsn与CL1_Pointsn+1两点形成的直线定义为Linen,n∈[1,N1-1];
计算Pt1至直线Linen的垂线,得到交点Pt2;
计算Pt1到Pt2的距离的2倍作为分支血管的开口直径Do,根据分支血管模型type定义分支血管末端直径De和直径指数α;
将CL2_Points中分支血管的中心线CenterLine2上Pt1之前的点舍弃,将Pt2和Pt1加入构建新的分支血管的中心线CenterLine3,CenterLine3的点集合为CL3_Points,CL3_Points中点数量为N3,N3≤N2;
按照建立单支无关联血管的数学模型算法,根据给出的中心线点集CL3_Points、分支血管开口直径Do,分支血管模型type、分支血管末端直径De和直径指数α,生成新的血管壁数据集VW2_Points,VW2_Points包括两个点集合子集VW2.1_Points和VW2.2_Points,VW2.1_Points代表中心线起点至终点左侧血管壁,VW2.2_Points代表中心线起点至终点右侧血管壁,VW2.1_Points和VW2.2_Points中点数量均为N2;
分别计算VW2.1_Points构建的多义线和VW2.2_Points构建的多义线与血管壁VesselWall1的交点;其中:当主支血管壁为VW1.1_Points构建的多义线时,VW1.1_Points构建的多义线与VW2.1_Points构建的多义线的交点定义为Pt3,VW1.1_Points构建的多义线与VW2.2_Points构建的多义线的交点定义为Pt4;当主支血管壁为VW1.2_Points构建的多义线时,VW1.2_Points构建的多义线与VW2.2_Points构建的多义线的交点定义为Pt3,VW1.2_Points构建的多义线与VW2.1_Points构建的多义线的交点定义为Pt4;
根据Pt3和Pt4重新构建主支血管与分支血管的血管壁的数据,包括:对于主支血管壁,去除Pt3和Pt4中间的数据点,相应主支血管壁的数据集拆分为两个,并将Pt3添加到新的前段数据集的末尾,将Pt4添加到新的后段数据集的开头;将VW2.1_Points位于Pt3前的数据去除,将Pt3作为开头,构建新的数据集VW2.3_Points;将VW2.2_Points位于Pt4前的数据去除,将Pt4作为开头,构建新的数据集VW2.4_Points。
这样,本实施例能够实现利用建立分支血管的数学模型算法,建立血管矢量图模型中的当前的主支血管的分支血管(可参考图3)。
本实施例提供的血管矢量图模型生成方法,能够实现血管矢量图模型的生成,尺寸精度高。
基于相同的发明构思,本发明另一实施例提供了一种血管矢量图模型生成装置,参见图4,本实施例提供的血管矢量图模型生成装置,包括:第一建立模块41、判断模块42、第二建立模块43和第三建立模块44;其中:
所述第一建立模块31,用于根据检测到的绘制血管的鼠标轨迹,利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的主支血管;
所述判断模块42,用于若检测到下一次绘制血管的鼠标轨迹的起点位于血管矢量图模型中已建立的血管内,则将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管;
所述第二建立模块43,用于若所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的非分支血管,则利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的所述下一次绘制血管的鼠标轨迹所绘制的血管;
所述第三建立模块44,用于若所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的分支血管,则利用建立分支血管的数学模型算法,建立血管矢量图模型中的当前的主支血管的分支血管。
基于上述实施例的内容,在本实施例中,所述建立单支无关联血管的数学模型算法,包括:
检测绘制血管的鼠标轨迹,将检测到的绘制血管的鼠标轨迹转换为一个矢量曲线;
基于预先设置的血管开口直径Do和末端直径De、直径指数α,将所述矢量曲线转换为双线的血管模型。
基于上述实施例的内容,在本实施例中,所述检测绘制血管的鼠标轨迹,将检测到的绘制血管的鼠标轨迹转换为一个矢量曲线,包括:
令绘制血管的鼠标轨迹所产生的血管中心线的原始点集合为Mouse_Points;
对Mouse_Points进行矢量化处理产生一系列的连续的三次贝塞尔曲线所需要的控制点集合BControl_Points;
将由BControl_Points控制的三次贝塞尔曲线转换为SVG路径crtPath和均匀分布的中心线CenterLine,CenterLine的点集合为CL_Points,CL_Points中点数量为N,N≥2,CL_Pointsn(xn,yn)为CL_Points中的第n个点对应坐标值,n∈[1,N]。
基于上述实施例的内容,在本实施例中,所述基于预先设置的血管开口直径Do和末端直径De、直径指数α,将所述矢量曲线转换为双线的血管模型,包括:
定义血管模型type,血管开口直径Do和末端直径De,直径指数α,满足De≤Do,其中:type=1为等粗型血管,De=Do,α=0;type=2为半开口直线缩减型血管,
Figure BDA0002347142930000161
α=1;type=3为封闭曲线缩减型血管,De=0,α=3;type=4为除了等粗型血管、半开口直线缩减型血管和封闭曲线缩减型血管之外的其他血管类型,α取正整数;
获取CL_Points中第1点到第2点的向量至第N-1点到第N点的向量
Figure BDA0002347142930000162
的集合
Figure BDA0002347142930000163
并获取
Figure BDA0002347142930000164
的长度
Figure BDA0002347142930000165
n∈[1,N-1]:
Figure BDA0002347142930000171
Figure BDA0002347142930000172
获取CL_Points中第N点到第N-1点的向量vs[N]和vs[N]的长度
Figure BDA0002347142930000173
Figure BDA0002347142930000174
Figure BDA0002347142930000175
获取
Figure BDA0002347142930000176
的总长度L:
Figure BDA0002347142930000177
获取CL_Points中第n个点CL_Pointsn到第1个点CL_Points1的长度Ln
L1=0
Figure BDA0002347142930000178
获取Ln
Figure BDA0002347142930000179
的总长度L中的占比Rn=Ln÷L;
计算血管中心线的两侧血管壁点集合VW1_Points和VW2_Points,包括:
定义VW1_Pointsn为VW1_Points集合中的第n个点,VW2_Pointsn为VW2_Points集合中的n个点;
通过函数计算出CL_Pointsn点处血管直径Dn=Do-(Do-De)×Rn α;定义CL_Pointsn为pt1(x1,y1),CL_Pointsn+1为pt2(x2,y2),对应向量
Figure BDA00023471429300001710
以pt1(x1,y1)点为圆心,半径为
Figure BDA00023471429300001711
的圆与从pt1(x1,y1)经pt2(x2,y2)形成的射线的交点定义为Pta(xa,ya);Pta(xa,ya)绕pt1(x1,y1)逆时针旋转θ角得到Ptb(xb,yb);
其中,xb,yb的计算过程为:
Figure BDA00023471429300001712
若n∈[1,N-1],则
Figure BDA00023471429300001713
若n=N,则
Figure BDA00023471429300001714
xb=(xa-x1)×cosθ-(ya-y1)×sinθ+x1
yb=(xa-x1)×sinθ+(ya-y1)×cosθ+y1
Figure BDA0002347142930000181
将计算所得Ptb(xb,yb)作为VW1_Pointsn,取
Figure BDA0002347142930000182
将计算所得Ptb(xb,yb)作为
Figure BDA0002347142930000183
进而最终得到血管中心线的两侧血管壁点集合VW1_Points和VW2_Points。
基于上述实施例的内容,在本实施例中,所述判断模块42中的“将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管”,可以包括:
将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,定义当前的主支血管的数据集,包括:定义当前的主支血管的中心线为CenterLine1,CenterLine1的点集合为CL1_Points,CL1_Points中点数量为N1,N1≥2,CL1_Pointsn(xn,yn)为CL1_Points中的第n个点对应坐标值,n∈[1,N];定义当前的主支血管的血管壁为VesselWall1,点集合VW1.1_Points代表当前的主支血管的中心线起点至终点左侧血管壁,点集合VW1.2_Points代表当前的主支血管的中心线起点至终点右侧血管壁,VW1.1_Points和VW1.2_Points中点数量均为N1;
将当前检测到的所述下一次绘制血管的鼠标轨迹转换为一个矢量曲线,包括:定义所述下一次绘制血管的鼠标轨迹所产生的血管中心线的原始点集合为Mouse_Points’;对Mouse_Points’进行矢量化处理产生一系列的连续的三次贝塞尔曲线所需要的控制点集合BControl_Points’;将由BControl_Points’控制的三次贝塞尔曲线转换为SVG路径crtPath和均匀分布的中心线CenterLine2,CenterLine2的点集合为CL2_Points,CL2_Points中点数量为N2,N2≥2,CL2_Pointsn(xn,yn)为CL2_Points中的第n个点对应坐标值,n∈[1,N2];
遍历法计算CenterLine2与当前的主支血管的血管壁VesselWall1的交点,记录交点的顺序及交点所对应的主支血管的血管壁的位置,按照预设策略,判断CenterLine2对应的血管是否为当前的主支血管的分支血管。
具体地,所述按照预设策略,判断CenterLine2对应的血管是否为当前的主支血管的分支血管,可以包括:
若CenterLine2与当前的主支血管的血管壁VesselWall1无任何交点,则确定CenterLine2对应的血管为当前的主支血管的非分支血管;
若CenterLine2与当前的主支血管的血管壁VesselWall1有且只有一个交点,则确定CenterLine2对应的血管为当前的主支血管的分支血管;
若CenterLine2与当前的主支血管的血管壁VesselWall1存在两个或两个以上的交点,则在第一个交点和第二个交点均是与当前的主支血管的同一侧血管壁相交时,确定CenterLine2对应的血管为当前的主支血管的分支血管;
在第一个交点和第二个交点是与当前的主支血管的双侧血管壁相交时,确定CenterLine2对应的血管为当前的主支血管的非分支血管。
基于上述实施例的内容,在本实施例中,所述建立分支血管的数学模型算法,可以包括:
定义所述第一个交点所对应的主支血管壁的数据集合为VW1_Points’,将分支血管中心线CenterLine2与VW1_Points’的第一个交点定义为Pt1,交点Pt1所在血管壁的线段的起点VW1_Pointsn’,终点VW1_Pointsn+1’,n∈[1,N1-1];
血管壁的线段的起点VW1_Pointsn’,终点VW1_Pointsn+1’对应的中心线的控制点为CL1_Pointsn,CL1_Pointsn+1,CL1_Pointsn与CL1_Pointsn+1两点形成的直线定义为Linen,n∈[1,N1-1];
计算Pt1至直线Linen的垂线,得到交点Pt2;
计算Pt1到Pt2的距离的2倍作为分支血管的开口直径Do,根据分支血管模型type定义分支血管末端直径De和直径指数α;
将CL2_Points中分支血管的中心线CenterLine2上Pt1之前的点舍弃,将Pt2和Pt1加入构建新的分支血管的中心线CenterLine3,CenterLine3的点集合为CL3_Points,CL3_Points中点数量为N3,N3≤N2;
按照建立单支无关联血管的数学模型算法,根据给出的中心线点集CL3_Points、分支血管开口直径Do,分支血管模型type、分支血管末端直径De和直径指数α,生成新的血管壁数据集VW2_Points,VW2_Points包括两个点集合子集VW2.1_Points和VW2.2_Points,VW2.1_Points代表中心线起点至终点左侧血管壁,VW2.2_Points代表中心线起点至终点右侧血管壁,VW2.1_Points和VW2.2_Points中点数量均为N2;
分别计算VW2.1_Points构建的多义线和VW2.2_Points构建的多义线与血管壁VesselWall1的交点;其中:当主支血管壁为VW1.1_Points构建的多义线时,VW1.1_Points构建的多义线与VW2.1_Points构建的多义线的交点定义为Pt3,VW1.1_Points构建的多义线与VW2.2_Points构建的多义线的交点定义为Pt4;当主支血管壁为VW1.2_Points构建的多义线时,VW1.2_Points构建的多义线与VW2.2_Points构建的多义线的交点定义为Pt3,VW1.2_Points构建的多义线与VW2.1_Points构建的多义线的交点定义为Pt4;
根据Pt3和Pt4重新构建主支血管与分支血管的血管壁的数据,包括:对于主支血管壁,去除Pt3和Pt4中间的数据点,相应主支血管壁的数据集拆分为两个,并将Pt3添加到新的前段数据集的末尾,将Pt4添加到新的后段数据集的开头;将VW2.1_Points位于Pt3前的数据去除,将Pt3作为开头,构建新的数据集VW2.3_Points;将VW2.2_Points位于Pt4前的数据去除,将Pt4作为开头,构建新的数据集VW2.4_Points。
由于本实施例提供的血管矢量图模型生成装置可以用于执行上述实施例所述的血管矢量图模型生成方法,其工作原理和有益效果类似,故此处不再详述,具体内容可参见上述实施例的介绍。
基于相同的发明构思,本发明又一实施例提供了一种电子设备,参见图5,所述电子设备可以包括存储器502、处理器501、总线503及存储在存储器502上并可在处理器501上运行的计算机程序,其中,处理器501,存储器502通过总线503完成相互间的通信。所述处理器501执行所述计算机程序时实现上述方法的步骤,例如包括:根据检测到的绘制血管的鼠标轨迹,利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的主支血管;若检测到下一次绘制血管的鼠标轨迹的起点位于血管矢量图模型中已建立的血管内,则将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管;若所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的非分支血管,则利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的所述下一次绘制血管的鼠标轨迹所绘制的血管;若所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的分支血管,则利用建立分支血管的数学模型算法,建立血管矢量图模型中的当前的主支血管的分支血。
基于相同的发明构思,本发明又一实施例提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤,例如包括:根据检测到的绘制血管的鼠标轨迹,利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的主支血管;若检测到下一次绘制血管的鼠标轨迹的起点位于血管矢量图模型中已建立的血管内,则将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管;若所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的非分支血管,则利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的所述下一次绘制血管的鼠标轨迹所绘制的血管;若所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的分支血管,则利用建立分支血管的数学模型算法,建立血管矢量图模型中的当前的主支血管的分支血管。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种血管矢量图模型生成方法,其特征在于,包括:
根据检测到的绘制血管的鼠标轨迹,利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的主支血管,其中,所述建立单支无关联血管的数学模型算法,包括:
检测绘制血管的鼠标轨迹,将检测到的绘制血管的鼠标轨迹转换为一个矢量曲线,基于预先设置的血管开口直径Do和末端直径De、直径指数α,将所述矢量曲线转换为双线的血管模型;
若检测到下一次绘制血管的鼠标轨迹的起点位于血管矢量图模型中已建立的血管内,则将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管;
若所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的非分支血管,则利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的所述下一次绘制血管的鼠标轨迹所绘制的血管;
若所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的分支血管,则利用建立分支血管的数学模型算法,建立血管矢量图模型中的当前的主支血管的分支血管。
2.根据权利要求1所述的血管矢量图模型生成方法,其特征在于,所述检测绘制血管的鼠标轨迹,将检测到的绘制血管的鼠标轨迹转换为一个矢量曲线,包括:
令绘制血管的鼠标轨迹所产生的血管中心线的原始点集合为Mouse_Points;
对Mouse_Points进行矢量化处理产生一系列的连续的三次贝塞尔曲线所需要的控制点集合BControl_Points;
将由BControl_Points控制的三次贝塞尔曲线转换为SVG路径crtPath和均匀分布的中心线CenterLine,CenterLine的点集合为CL_Points,CL_Points中点数量为N,N≥2,CL_Pointsn(xn,yn)为CL_Points中的第n个点对应坐标值,n∈[1,N]。
3.根据权利要求2所述的血管矢量图模型生成方法,其特征在于,所述基于预先设置的血管开口直径Do和末端直径De、直径指数α,将所述矢量曲线转换为双线的血管模型,包括:
定义血管模型type,血管开口直径Do和末端直径De,直径指数α,满足De≤Do,其中:type=1为等粗型血管,De=Do,α=0;type=2为半开口直线缩减型血管,
Figure FDA0004070938790000021
α=1;type=3为封闭曲线缩减型血管,De=0,α=3;type=4为除了等粗型血管、半开口直线缩减型血管和封闭曲线缩减型血管之外的其他血管类型,α取正整数;
获取CL_Points中第1点到第2点的向量至第N-1点到第N点的向量
Figure FDA0004070938790000022
Figure FDA0004070938790000023
Figure FDA0004070938790000024
获取
Figure FDA0004070938790000025
的总长度L:
Figure FDA0004070938790000026
获取CL_Points中第n个点CL_Pointsn到第1个点CL_Points1的长度Ln
L1=0
Figure FDA0004070938790000027
获取Ln
Figure FDA0004070938790000028
的总长度L中的占比Rn=Ln÷L;
计算血管中心线的两侧血管壁点集合VW1_Points和VW2_Points,包括:
定义VW1_Pointsn为VW1_Points集合中的第n个点,VW2_Pointsn为VW2_Points集合中的n个点;
通过函数计算出CL_Pointsn点处血管直径Dn=Do-(Do-De)×Rn α;定义CL_Pointsn为pt1(x1,y1),CL_Pointsn+1为pt2(x2,y2),对应向量
Figure FDA0004070938790000029
以pt1(x1,y1)点为圆心,半径为
Figure FDA0004070938790000031
的圆与从pt1(x1,y1)经pt2(x2,y2)形成的射线的交点定义为Pta(xa,ya);Pta(xa,ya)绕pt1(x1,y1)逆时针旋转θ角得到Ptb(xb,yb);
其中,xb,yb的计算过程为:
Figure FDA0004070938790000032
若n∈[1,N-1],则
Figure FDA0004070938790000033
若n=N,则
Figure FDA0004070938790000034
xb=(xa-x1)×cosθ-(ya-y1)×sinθ+x1
yb=(xa-x1)×sinθ+(ya-y1)×cosθ+y1
Figure FDA0004070938790000035
将计算所得Ptb(xb,yb)作为VW1_Pointsn,取
Figure FDA0004070938790000036
将计算所得Ptb(xb,yb)作为VW2Pointsn,进而最终得到血管中心线的两侧血管壁点集合VW1_Points和VW2_Points。
4.根据权利要求1所述的血管矢量图模型生成方法,其特征在于,所述将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管,包括:
将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,定义当前的主支血管的数据集,包括:定义当前的主支血管的中心线为CenterLine1,CenterLine1的点集合为CL1_Points,CL1_Points中点数量为N1,N1≥2,CL1_Poivtsn(xn,yn)为CL1_Points中的第n个点对应坐标值,n∈[1,N];定义当前的主支血管的血管壁为VesselWall1,点集合VW1.1_Points代表当前的主支血管的中心线起点至终点左侧血管壁,点集合VW1.2_Points代表当前的主支血管的中心线起点至终点右侧血管壁,VW1.1_Points和VW1.2_Points中点数量均为N1;
将当前检测到的所述下一次绘制血管的鼠标轨迹转换为一个矢量曲线,包括:定义所述下一次绘制血管的鼠标轨迹所产生的血管中心线的原始点集合为Mouse_Points’;对Mouse_Points’进行矢量化处理产生一系列的连续的三次贝塞尔曲线所需要的控制点集合BControl_Points’;将由BControl_Points’控制的三次贝塞尔曲线转换为SVG路径crtPath和均匀分布的中心线CenterLine2,CenterLine2的点集合为CL2_Points,CL2_Points中点数量为N2,N2≥2,CL2_Pointsn(xn,yn)为CL2_Points中的第n个点对应坐标值,n∈[1,N2];
遍历法计算CenterLine2与当前的主支血管的血管壁VesselWall1的交点,记录交点的顺序及交点所对应的主支血管的血管壁的位置,按照预设策略,判断CenterLine2对应的血管是否为当前的主支血管的分支血管。
5.根据权利要求4所述的血管矢量图模型生成方法,其特征在于,所述按照预设策略,判断CenterLine2对应的血管是否为当前的主支血管的分支血管,包括:
若CenterLine2与当前的主支血管的血管壁VesselWall1无任何交点,则确定CenterLine2对应的血管为当前的主支血管的非分支血管;
若CenterLine2与当前的主支血管的血管壁VesselWall1有且只有一个交点,则确定CenterLine2对应的血管为当前的主支血管的分支血管;
若CenterLine2与当前的主支血管的血管壁VesselWall1存在两个或两个以上的交点,则在第一个交点和第二个交点均是与当前的主支血管的同一侧血管壁相交时,确定CenterLine2对应的血管为当前的主支血管的分支血管;
在第一个交点和第二个交点是与当前的主支血管的双侧血管壁相交时,确定CenterLine2对应的血管为当前的主支血管的非分支血管。
6.根据权利要求5所述的血管矢量图模型生成方法,其特征在于,所述建立分支血管的数学模型算法,包括:
定义所述第一个交点所对应的主支血管壁的数据集合为VW1_Points’,将分支血管中心线CenterLine2与VW1_Points’的第一个交点定义为Pt1,交点Pt1所在血管壁的线段的起点VW1_Pointsn’,终点VW1_Pointsn+1’,n∈[1,N1-1];
血管壁的线段的起点VW1_Pointsn’,终点VW1_Pointsn+1’对应的中心线的控制点为CL1_Pointsn,CL1_Pointsn+1,CL1_Pointsn与CL1_Pointsn+1两点形成的直线定义为Linen,n∈[1,N1-1];
计算Pt1至直线Linen的垂线,得到交点Pt2;
计算Pt1到Pt2的距离的2倍作为分支血管的开口直径Do,根据分支血管模型type定义分支血管末端直径De和直径指数α;
将CL2_Points中分支血管的中心线CenterLine2上Pt1之前的点舍弃,将Pt2和Pt1加入构建新的分支血管的中心线CenterLine3,CenterLine3的点集合为CL3_Points,CL3_Points中点数量为N3,N3≤N2;
按照建立单支无关联血管的数学模型算法,根据给出的中心线点集CL3_Points、分支血管开口直径Do,分支血管模型type、分支血管末端直径De和直径指数α,生成新的血管壁数据集VW2_Points,VW2_Points包括两个点集合子集VW2.1_Points和VW2.2_Points,VW2.1_Points代表中心线起点至终点左侧血管壁,VW2.2_Points代表中心线起点至终点右侧血管壁,VW2.1_Points和VW2.2_Points中点数量均为N2;
分别计算VW2.1_Points构建的多义线和VW2.2_Points构建的多义线与血管壁VesselWall1的交点;其中:当主支血管壁为VW1.1_Points构建的多义线时,VW1.1_Points构建的多义线与VW2.1_Points构建的多义线的交点定义为Pt3,VW1.1_Points构建的多义线与VW2.2_Points构建的多义线的交点定义为Pt4;当主支血管壁为VW1.2_Points构建的多义线时,VW1.2_Points构建的多义线与VW2.2_Points构建的多义线的交点定义为Pt3,VW1.2_Points构建的多义线与VW2.1_Points构建的多义线的交点定义为Pt4;
根据Pt3和Pt4重新构建主支血管与分支血管的血管壁的数据,包括:对于主支血管壁,去除Pt3和Pt4中间的数据点,相应主支血管壁的数据集拆分为两个,并将Pt3添加到新的前段数据集的末尾,将Pt4添加到新的后段数据集的开头;将VW2.1_Points位于Pt3前的数据去除,将Pt3作为开头,构建新的数据集VW2.3_Points;将VW2.2_Points位于Pt4前的数据去除,将Pt4作为开头,构建新的数据集VW2.4_Points。
7.一种血管矢量图模型生成装置,其特征在于,包括:
第一建立模块,用于根据检测到的绘制血管的鼠标轨迹,利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的主支血管,其中,所述建立单支无关联血管的数学模型算法,包括:
检测绘制血管的鼠标轨迹,将检测到的绘制血管的鼠标轨迹转换为一个矢量曲线,基于预先设置的血管开口直径Do和末端直径De、直径指数α,将所述矢量曲线转换为双线的血管模型;
判断模块,用于若检测到下一次绘制血管的鼠标轨迹的起点位于血管矢量图模型中已建立的血管内,则将当前检测到的所述下一次绘制血管的鼠标轨迹的起点位于的血管作为当前的主支血管,判断所述下一次绘制血管的鼠标轨迹所绘制的血管是否为当前的主支血管的分支血管;
第二建立模块,用于若所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的非分支血管,则利用建立单支无关联血管的数学模型算法,建立血管矢量图模型中的所述下一次绘制血管的鼠标轨迹所绘制的血管;
第三建立模块,用于若所述下一次绘制血管的鼠标轨迹所绘制的血管为当前的主支血管的分支血管,则利用建立分支血管的数学模型算法,建立血管矢量图模型中的当前的主支血管的分支血管。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。
CN201911399500.6A 2019-12-30 2019-12-30 血管矢量图模型生成方法及装置 Active CN111179416B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911399500.6A CN111179416B (zh) 2019-12-30 2019-12-30 血管矢量图模型生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911399500.6A CN111179416B (zh) 2019-12-30 2019-12-30 血管矢量图模型生成方法及装置

Publications (2)

Publication Number Publication Date
CN111179416A CN111179416A (zh) 2020-05-19
CN111179416B true CN111179416B (zh) 2023-04-25

Family

ID=70655773

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911399500.6A Active CN111179416B (zh) 2019-12-30 2019-12-30 血管矢量图模型生成方法及装置

Country Status (1)

Country Link
CN (1) CN111179416B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354870A (zh) * 2015-10-21 2016-02-24 新奥特(北京)视频技术有限公司 一种绘制轨迹的还原方法和装置
CN108537857A (zh) * 2018-03-22 2018-09-14 中国农业大学 一种3次b样条曲线的快速插补方法及系统
CN109445901A (zh) * 2018-11-14 2019-03-08 江苏中威科技软件系统有限公司 一种跨文件格式的矢量图形工具的绘制方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9471989B2 (en) * 2013-06-03 2016-10-18 University Of Florida Research Foundation, Inc. Vascular anatomy modeling derived from 3-dimensional medical image processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354870A (zh) * 2015-10-21 2016-02-24 新奥特(北京)视频技术有限公司 一种绘制轨迹的还原方法和装置
CN108537857A (zh) * 2018-03-22 2018-09-14 中国农业大学 一种3次b样条曲线的快速插补方法及系统
CN109445901A (zh) * 2018-11-14 2019-03-08 江苏中威科技软件系统有限公司 一种跨文件格式的矢量图形工具的绘制方法及装置

Also Published As

Publication number Publication date
CN111179416A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
Heckel et al. Interactive 3D medical image segmentation with energy-minimizing implicit functions
Smistad et al. GPU accelerated segmentation and centerline extraction of tubular structures from medical images
Piccinelli et al. A framework for geometric analysis of vascular structures: application to cerebral aneurysms
CN111680447A (zh) 血流特征预测方法、装置、计算机设备和存储介质
CN111429502B (zh) 用于生成对象的中心线的方法和系统以及计算机可读介质
Cong et al. Quantitative analysis of deformable model-based 3-D reconstruction of coronary artery from multiple angiograms
CN113160189A (zh) 血管中心线提取方法、装置、设备及存储介质
US10410355B2 (en) Methods and systems for image analysis using non-euclidean deformed graphs
CN105551001B (zh) 一种图像重建方法、装置及设备
CN112348818A (zh) 一种图像分割方法、装置、设备以及存储介质
CN111179416B (zh) 血管矢量图模型生成方法及装置
Jiang et al. Ori-net: Orientation-guided neural network for automated coronary arteries segmentation
KR20200046103A (ko) 격자들을 위한 쿼더(quador): 회전 2차 곡면(quadric-of-revolution) 빔들
Shen et al. Automatic cerebral artery system labeling using registration and key points tracking
CN111145313A (zh) 血管矢量图模型中添加单点定位图例的方法及装置
Wang et al. An influence-knot set based new local refinement algorithm for T-spline surfaces
CN115018825B (zh) 一种冠脉优势型的分类方法、分类装置及存储介质
Jin et al. A new approach of arc skeletonization for tree-like objects using minimum cost path
US10163233B2 (en) Image reconstruction
Danilov et al. Use of semi-synthetic data for catheter segmentation improvement
Zifan et al. Patient‐Specific Computational Models of Coronary Arteries Using Monoplane X‐Ray Angiograms
CN112150404B (zh) 基于联合显著图的全局到局部非刚性图像配准方法及装置
CN104239874A (zh) 一种器官血管识别方法及装置
Balázs et al. A measure of directional convexity inspired by binary tomography
Zhang et al. BCSwinReg: A cross-modal attention network for CBCT-to-CT multimodal image registration

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
CP02 Change in the address of a patent holder

Address after: Room 401, 4th Floor, 501, 5th Floor, and 502, 5th Floor, Building 21, Courtyard 11, Kangding Street, Beijing Economic and Technological Development Zone, 100176

Patentee after: BEIJING ORIENTAL E.T MEDICAL EQUIPMENT Co.,Ltd.

Address before: 100176 B, building 17, No. 11, Kangding street, economic and Technological Development Zone, Daxing District, Beijing

Patentee before: BEIJING ORIENTAL E.T MEDICAL EQUIPMENT Co.,Ltd.

CP02 Change in the address of a patent holder