【技术实现步骤摘要】
血管矢量图模型中添加双点定位图例的方法及装置
本专利技术涉及信息技术的图像处理
,尤其涉及一种血管矢量图模型中添加双点定位图例的方法及装置。
技术介绍
在现有技术中,需要描述目标对象的血管的状态,除文字描述外,采用示意图的形式的描述更为直观。目前,传统的示意图方法有两种,包括在印制的纸质上的血管图进行描绘和标记,或者在计算机上的采用血管图表达血管位置结合文字进行描述,但是,现有的在计算机上的血管图仅起到标记位置的作用,没有实现在血管图上进行绘制的功能。鉴于此,如何在计算机中生成的血管矢量图模型上描绘和标记异常所见成为目前需要解决的技术问题。
技术实现思路
针对现有技术存在的问题,本专利技术实施例提供一种血管矢量图模型中添加双点定位图例的方法及装置。本专利技术实施例提供一种血管矢量图模型中添加双点定位图例的方法,包括:利用血管分段算法,将血管矢量图模型中的目标血管进行分段,并给分段后的血管段命名;根据检测到的鼠标点击的点坐标,利用预设双点定位图例添加方法,将待添 ...
【技术保护点】
1.一种血管矢量图模型中添加双点定位图例的方法,其特征在于,包括:/n利用血管分段算法,将血管矢量图模型中的目标血管进行分段,并给分段后的血管段命名;/n根据检测到的鼠标点击的点坐标,利用预设双点定位图例添加方法,将待添加的双点定位图例添加到分段后的目标血管中。/n
【技术特征摘要】
1.一种血管矢量图模型中添加双点定位图例的方法,其特征在于,包括:
利用血管分段算法,将血管矢量图模型中的目标血管进行分段,并给分段后的血管段命名;
根据检测到的鼠标点击的点坐标,利用预设双点定位图例添加方法,将待添加的双点定位图例添加到分段后的目标血管中。
2.根据权利要求1所述的血管矢量图模型中添加双点定位图例的方法,其特征在于,所述血管分段算法,包括:
定义目标血管的数据集,包括:血管模型type,血管开口直径Do和末端直径De,直径指数α;目标血管的中心线为CenterLine,CenterLine的点集合为CL_Points,CL_Points中的点数量为N,N≥2;血管壁为VesselWall,点集合VW1_Points代表目标血管的中心线起点至终点左侧血管壁,点集合VW2_Points代表目标血管的中心线起点至终点右侧血管壁,VW1_Points和VW2_Points中点数量均为N,N≥2;定义分段的数量:M,1≤M<100,M∈{自然数}且及每段累计占比为Xm,0<Xm<1,m∈[1,M];定义中心线CenterLine上对应分段的边界点集合Seg_Points,Seg_Points的点数量为M+1,其中Seg_Points1=CL_Points1,Seg_PointsM+1=CL_PointsN,Seg_Points1为Seg_Points中的第1个边界点,CL_Points1为CL_Points中的第1个点,Seg_PointsM+1为Seg_Points中的第M+1个边界点,CL_PointsN为CL_Points中的第N个点;
获取CL_Points中第1点到第2点的向量至第N-1点到第N点的向量
获取的总长度L:
获取CL_Points中第n个点CL_Pointsn到第1个点CL_Points1的长度Ln:
L1=0
获取Ln在的总长度L中的占比Rn=Ln÷L;
计算Seg_Points中的第m个边界点Seg_Pointsm、Seg_Points中的第m+1个边界点Seg_Pointsm+1及相应的与血管壁的交点,m∈[2,M-1]),包括:
寻找Rn≤Xm-1<Rn+1,定义N1=n,Xm-1对应点Seg_Pointsm所在中心线段的起点为CL_PointsN-1、末端为CL_PointsN;定义Xm-1对应点Seg_Pointsm为Pt1(x1,y1),所对应中心线段起点为Pt0(x0,y0),末端为Pt2(x2,y2);其中:
通过函数计算出中心线Pt1(x1,y1)点处血管直径D1=Do-(Do-De)×Xm-1α;以Pt1(x1,y1)点为圆心,半径为的圆与以CL_PointsN-1为起点和向量构成的射线的交点定义为Pta(xa,ya);Pta(xa,ya)绕Pt1(x1,y1)逆时针旋转θ角得到Ptb(xb,yb);
取时,将计算所得Ptb(xb,yb)作为与VW1_Points的交点,定义为Seg_VW1_Pointsm;取将计算所得Ptb(xb,yb)作为与VW2_Points的交点,定义为Seg_VW2_Pointsm;进而计算得到Seg_Pointsm+1及相应的与血管壁的交点Seg_VW1_Pointsm+1,Seg_VW2_Pointsm+1,m∈[2,M-1]);
进行血管分段,包括:将计算所得的Seg_VW1_Pointsm和Seg_VW1_Pointsm+1插入VW1_Points中,并以Seg_VW1_Pointsm为起点,Seg_VW1_Pointsm+1为终点,包含VW1_Points中的相应点,构建新的数据集Seg_VW1m;将计算所得的Seg_VW2_Pointsm和Seg_VW2_Pointsm+1插入VW2_Points中,并以Seg_VW2_Pointsm+1为起点,Seg_VW2_Pointsm为终点,包含VW2_Points中的相应点,构建新的数据集Seg_VW2m;将Seg_VW1m和Seg_VW2m合并构建一个新的数据集Seg_VWm,将Seg_VWm所构建的封闭区域作为相应的血管段。
3.根据权利要求1所述的血管矢量图模型中添加双点定位图例的方法,其特征在于,所述根据检测到的鼠标点击的点坐标,利用预设双点定位图例添加方法,将待添加的双点定位图例添加到分段后的目标血管中,包括:
根据检测到的鼠标点击的点坐标,确定目标血管;
根据待添加的双点定位图例的类型,基于检测到的鼠标点击的第一点、第二点的坐标和目标血管的数据集,确定待添加的双点定位图例在目标血管的填充区域;
将待添加的双点定位图例添加在分段后的目标血管所确定的填充区域。
4.根据权利要求3所述的血管矢量图模型中添加双点定位图例的方法,其特征在于,所述根据检测到的鼠标点击的点坐标,确定目标血管,包括:
定义目标血管的数据集,包括:血管模型type,血管开口直径Do和末端直径De,直径指数α;目标血管的中心线为CenterLine,CenterLine的点集合为CL_Points,CL_Points中的点数量为N,N≥2,CL_Pointsn(xn,yn)为CL_Points中的第n个点对应坐标;血管壁为VesselWall,点集合VW1_Points代表目标血管的中心线起点至终点左侧血管壁,点集合VW2_Points代表目标血管的中心线起点至终点右侧血管壁,VW1_Points和VW2_Points中点数量均为N,N≥2;
获取CL_Points中第1点到第2点的向量至第N-1点到第N点的向量
获取的总长度L:
获取CL_Points中第n个点CL_Pointsn到第1个点CL_Points1的长度Ln:
L1=0
获取Ln在的总长度L中的占比Rn=Ln÷L。
5.根据权利要求4所述的血管矢量图模型中添加双点定位图例的方法,其特征在于,所述根据待添加的双点定位图例的类型,基于检测到的鼠标点击的第一点、第二点的坐标和目标血管的数据集,确定待添加的双点定位图例在目标血管的填充区域,包括:
定义检测到的鼠标点击的第一点的坐标为Pt0(x0,y0),寻找目标血管中与Pt0(x0,y0)距离最近的中心线CenterLine上的点定义为Pt1(x1,y1),Pt1(x1,y1)所在线段定义为的起点为CL_PointsN1(xN1,yN1),的末端为CL_PointsN1+1(xN1+1,yN1+1);
计算Pt1(x1,y1)与CL_PointsN1(xN1,yN1)的距离L1’:
计算的模L2’:
计算Pt1(x1,y1)处的长度占总长度比例R1:
定义检测到的鼠标点击的第二点的坐标为Pt2(x2,y2),寻找目标血管中与Pt2(x2,y2)距离最近的中心线CenterLine上的点定义为Pt3(x3,y3),Pt3(x3,y3)所在线段定义为的起点为CL_PointsN2(xN2,yN2),的末端为CL_PointsN2+1(xN2+1,yN2+1),N1<N2;
计算Pt3(x3,y3)与CL_PointsN2(xN2,yN2)的距离L3’:
计算的模L4’:
计算Pt3(x3,y3)处的长度占总长度比例R2:
判断Pt0(x0,y0)是位于CenterLine的左侧还是右侧,包括:将向量命名为a向量,将点CL_PointsN1(xN1,yN1)至点Pt0(x0,y0)构成的向量命名为b向量,令T=|a×b|=(xN1+1-xN1)×(y0-yN1)-(yn1+1-yN1)×(x0-xN1);如果T>0,则确定Pt0(x0,y0)位于左侧;如果T=0,则确定Pt0(x0,y0)位于线上;如果T<0,则确定Pt0(x0,y0)位于右侧;
计算Pt1(x1,y1)所在位置的血管直径D1=Do-(Do-De)×R1α,以及计算Pt3(x3,y3)所在位置的血管直径D2=Do-(Do-De)×R2α;
计算Pt1(x1,y1)至Pt3(x3,y3)沿的总长度L5’,若则判定第二次鼠标点击无效,将再次检测到的鼠标点击作为检测到的鼠标点击的第二点直到
计算Pt1(x1,y1)所在位置对应血管壁的交点,包括:
以Pt1(x1,y1)点为圆心,半径为的圆与向量形成的射线的交点定义为Pta(xa,ya);Pta(xa,ya)绕Pt1(x1,y1)逆时针旋转θ角得到Ptb(xb,yb);其中,xb,yb的计算过程为:
xb=(xa-x1)×cosθ-(ya-y1)×sinθ+x1
yb=(xa-x1)×sinθ+(ya-y1)×cosθ+y1
取将计算所得的Ptb(xb,yb)作为与VW1_Points的交点,定义为Pt4(x4,y4);取将计算所得的Ptb(xb,yb)作为与VW2_Points的交点,定义为Pt5(x5,y5);
计算Pt3(x3,y3)所在位置对应血管壁的交点,包括:
以Pt3(x3,y3)点为圆心,半径为的圆与向量形成的射线的交点定义为Ptc(xc,yc);Ptc(xc,yc)绕Pt3(x3,y3)逆时针旋转θ角得到Ptd(xd,yd);其中,xd,yd的计算过程为:
xd=(xc-x3)×cosθ-(yc-y3)×sinθ+x3
yd=(xc-x3)×sinθ+(yc-y3)×cosθ+y3
取将计算所得的Ptd(xd,yd)作为与VW1_Points的交点,定义为Pt6(x6,y6);取将计算所得的Ptd(xd,yd)作为与VW2_Points的交点,定义为Pt7(x7,y7);
根据待添加的双点定位图例的类型,确定待添加的双点定位图例在目标血管的填充区域。
6.根据权利要求5所述的血管矢量图模型中添加双点定位图例的方法,其特征在于,所述待添加的双点定位图例的类型,包括:简单图例、同心型病变图例、偏心型病变图例和同心型瘤样扩张图例。
7.根据权利要求6所述的血管矢量图模型中添加双点定位图例的方法,其特征在于,若待添加的双点定位图例的类型是简单图例,则根据待添加的双点定位图例的类型,确定待添加的双点定位图例在目标血管的填充区域,具体包括:
将Pt4(x4,y4)和Pt6(x6,y6)插入VW1_Points中,并以Pt4(x4,y4)为起点,Pt6(x6,y6)为终点,包含VW1_Points中的相应点,构建新的数据集Lesion_VW1;将Pt5(x5,y5)和Pt7(x7,y7)插入VW2_Points中,并以Pt7(x7,y7)为起点,Pt5(x5,y5)为终点,包含VW2_Points中的相应点,构建新的数据集Lesion_VW2;将Lesion_VW1和逆序Lesion_VW2合并构建一个新的数据集Lesion_VW,将Lesion_VW所构建的封闭区域,作为相应的填充区域;...
【专利技术属性】
技术研发人员:李庆坤,陈向军,
申请(专利权)人:北京东方逸腾数码医疗设备技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。