颈动脉超声扫查三维重建方法及系统
技术领域
本发明属于医疗超声技术领域,主要涉及一种颈动脉超声扫查三维重建方法及系统。
背景技术
超声成像因为其无创性、实时性、操作方便、价格便宜等诸多优势,使其成为临床上应用最为广泛的诊断工具之一。
颈动脉超声扫查技术为超声成像技术其中之一,现有技术中,通常由医生手持探头扫查颈动脉部位,探头方向平行于颈动脉的血管方向,经过该操作后获得颈动脉血管成像图像供医生参考。上述现有技术主要由人工辅助实现,如此扫查效率低下,且无法全方位的查看图像。
为了解决上述问题,发明一种自动扫查装置,该装置获得的图像不同于上述的与颈动脉血管方向平行的纵向扫查图像,而是与颈动脉血管方向垂直的横向扫查超声图像,然而,该自动扫查装置获得的扫查图像仅能实时查看每一副图像,如此,难以还原颈动脉的主动脉和分叉位置,因此可以难以完整的呈现出颈动脉的病症状态。
发明内容
为解决上述技术问题,本发明的目的在于提供一种颈动脉超声扫查三维重建、应用方法及系统,所述方法包括:
S1、获取模型数据,所述模型数据包括:与颈动脉血管方向垂直、且连续的多幅横向扫查超声图像,以及扫查设备相关的参数,所述扫查设备相关的参数至少包括:探头扫查深度、探头扫查距离。
S2、对模型数据进行重采样以获得颈动脉模型数据源,所述颈动脉模型数据源包括:重采样后模型中任意一个像素点的灰度值;
S3、根据所述颈动脉模型数据源获得其构成模型的六个表面所分别对应的表面图图像;
S4、拼接六个表面图图像以形成颈动脉3D模型框架进行显示输出;
S5、以3D模型框架为基础,根据颈动脉模型数据源,获取3D模型框架上通过任一面上两个像素点x1和x2的切面的切面图像,其中,定义3D模型框架静止状态下,通过像素点x1和x2、垂直于显示平面且与所述3D模型框架相交的面为所述切面;
S6、将获得的切面图像与原有的颈动脉3D模型框架中各个表面图图像拼接为新的3D模型。
作为本发明一实施方式的进一步改进,所述步骤S2具体包括:
M1、配置颈动脉横切面图像为XOY面,Z轴方向为超声探头沿颈动脉血管方向,以使获得的多幅扫查图像沿Z轴排列形成临时3D模型;
M2、对临时3D模型进行重采样,则重采样后模型中任意一个像素点的灰度值G(i,j)表示为:
G(i,j)=(PD1*(G1(i,j)+PD2*G2(i,j))/(PD1+PD2),
PD1=D-m1*d1,PD2=m2*d1-D,
G1(i,j)=modelSrc(m1)(i,j),G2(i,j)=modelSrc(m2)(i,j),
m2=m1+1,D=d2*n,d1=S1/(m0-1),
d2=S1/(z0-1),R=(m0-1)/(z0-1),z0=(S1*y0)/S2,
(i,j)表示像素坐标值,G1(i,j)表示采样前模型第m1张图像的坐标为(i,j)位置的像素灰度值,G2(i,j)表示采样前模型第m2张图像的坐标为(i,j)位置的像素灰度值,m1表示采样前第m1张图像,m2表示采样前m1之后的图像,表示向下取整,D表示采样后第n张图像的间隔值,d1表示采样前模型中各个扫查图像之间的间隔,d2表示采样后模型中各个扫查图像之间的间隔,R为比例值;m0表示采样前扫查图像的总张数,z0表示采样后实际的扫查距离,亦即采样后模型的扫查长度,S1表示探头扫查距离,S2表示探头扫查深度,x0表示采样后颈动脉横向扫查超声图像的宽,y0表示采样后颈动脉横向扫查超声图像的高;
M3、根据颈动脉模型数据源建立采样后模型。
作为本发明一实施方式的进一步改进,所述步骤S3具体包括:
获取颈动脉模型数据源;
则采样后模型的六个表面对应的表面图图像分别为:
surfacePic1=model[1][x][y],0<x≤x0,0<y≤y0,
surfacePic2=model[z0][x][y],0<x≤x0,0<y≤y0,
surfacePic3=model[z][1][y],0<y≤y0,0<z≤z0,
surfacePic4=model[z][x0][y],0<y≤y0,0<z≤z0,
surfacePic5=model[z][x][1],0<x≤x0,0<z≤z0,
surfacePic6=model[z][x][y0],0<x≤x0,0<z≤z0;
其中,surfacePic1表示采样后模型中z值为1的平面,亦即前表面;surfacePic2表示采样后模型z值为z0的平面,亦即后表面;surfacePic3表示采样后模型中x值为1的平面,亦即左表面;surfacePic4表示采样后模型x值为x0的平面,亦即右表面;surfacePic5表示采样后模型中y值为1的平面,亦即上表面;surfacePic6表示采样后模型y值为y0的平面,亦即下表面。
作为本发明一实施方式的进一步改进,所述步骤S4具体包括:采用tree.js技术拼接六个表面图以形成颈动脉3D模型框架。
作为本发明一实施方式的进一步改进,所述步骤S5具体包括:
N1、选取像素点x1和x2以及所述切面上除x1和x2、且与x1和x2不共线的第三个像素点x3,并基于3D模型框架获得其分别对应的世界坐标;
N2、根据像素点x1、x2以及x3的世界坐标以及通用的平面方程获得所述切面的平面方程;
N3、通过切面的平面方程以及3D模型框架每个交接边的方程获得所述切面与3D模型框架交接边的交点,并记录在同一点列PointList3D中;
N4、按顺时针或逆时针方向排列交点,选择任一交点作为切面的二维平面(0,0)点,二维平面(0,0)点为基础选择第二个交点,以二维平面(0,0)点到第二个交点的射线方向作为切面的X轴,选择通过二维平面(0,0)点、方向垂直于X轴,且指向第三个点所在X轴同一侧的方向的射线为Y轴,形成新的平面坐标系;
N5、通过各个交点之间的距离关系获得各个交点的二维坐标点,每个二维坐标点均为z坐标为0的三维的交点,并记录在同一点列PointList2D中,每个二维坐标点一一映射三维的交点;
N6、通过三维坐标变换将PointList3D中的三维的交点以及PointList2D中的二维坐标点的一一对应关系,形成旋转矩阵M和平移矩阵T;
N7、连接PointList2D中的二维坐标点形成多边形,所述多边形围成的区域为切面图像;
N8、根据所述新的平面坐标系以及PointList2D中的二维坐标点获得所述切面图像中每一个像素点的二维坐标;
根据切面图像中每一个像素点的二维坐标,所述旋转矩阵M和平移矩阵T,获取切面图像中每一个像素点对应的三维坐标;
以切面图像中每一个像素点对应的三维坐标查询颈动脉模型数据源,获得所述切面图像中每个像素点对应的灰度值。
为了实现上述发明目的之一,本发明一实施方式提供一种颈动脉超声扫查三维重建系统,所述系统包括:获取模块,用于获取模型数据,所述模型数据包括:与颈动脉血管方向垂直、且连续的多幅横向扫查超声图像,以及扫查设备相关的参数,所述扫查设备相关的参数至少包括:探头扫查深度、探头扫查距离;
重采样模块,用于对模型数据进行重采样以获得颈动脉模型数据源,所述颈动脉模型数据源包括:重采样后模型中任意一个像素点的灰度值;
图像提取模块,用于根据所述颈动脉模型数据源获得其构成模型的六个表面所分别对应的表面图图像;
拼接输出模块,用于拼接六个表面图图像以形成颈动脉3D模型框架进行显示输出;
切面处理模块,用于以3D模型框架为基础,根据颈动脉模型数据源,获取3D模型框架上通过任一面上两个像素点x1和x2的切面的切面图像,其中,定义3D模型框架静止状态下,通过像素点x1和x2、垂直于显示平面且与所述3D模型框架相交的面为所述切面;
模型重建模块,用于将获得的切面图像与原有的颈动脉3D模型框架中各个表面图图像拼接为新的3D模型。
作为本发明一实施方式的进一步改进,所述重采样模块具体用于:
配置颈动脉横切面图像为XOY面,Z轴方向为超声探头沿颈动脉血管方向,以使获得的多幅扫查图像沿Z轴排列形成临时3D模型;
对临时3D模型进行重采样,则重采样后模型中任意一个像素点的灰度值G(i,j)表示为:
G(i,j)=(PD1*(G1(i,j)+PD2*G2(i,j))/(PD1+PD2),
PD1=D-m1*d1,PD2=m2*d1-D,
G1(i,j)=modelSrc(m1)(i,j),G2(i,j)=modelSrc(m2)(i,j),
m2=m1+1,D=d2*n,d1=S1/(m0-1),
d2=S1/(z0-1),R=(m0-1)/(z0-1),z0=(S1*y0)/S2,
(i,j)表示像素坐标值,G1(i,j)表示采样前模型第m1张图像的坐标为(i,j)位置的像素灰度值,G2(i,j)表示采样前模型第m2张图像的坐标为(i,j)位置的像素灰度值,m1表示采样前第m1张图像,m2表示采样前m1之后的图像,表示向下取整,D表示采样后第n张图像的间隔值,d1表示采样前模型中各个扫查图像之间的间隔,d2表示采样后模型中各个扫查图像之间的间隔,R为比例值;m0表示采样前扫查图像的总张数,z0表示采样后实际的扫查距离,亦即采样后模型的扫查长度,S1表示探头扫查距离,S2表示探头扫查深度,x0表示采样后颈动脉横向扫查超声图像的宽,y0表示采样后颈动脉横向扫查超声图像的高;
根据颈动脉模型数据源建立采样后模型。
作为本发明一实施方式的进一步改进,所述图像提取模块具体用于:
获取颈动脉模型数据源;
则采样后模型的六个表面对应的表面图图像分别为:
surfacePic1=model[1][x][y],0<x≤x0,0<y≤y0,
surfacePic2=model[z0][x][y],0<x≤x0,0<y≤y0,
surfacePic3=model[z][1][y],0<y≤y0,0<z≤z0,
surfacePic4=model[z][x0][y],0<y≤y0,0<z≤z0,
surfacePic5=model[z][x][1],0<x≤x0,0<z≤z0,
surfacePic6=model[z][x][y0],0<x≤x0,0<z≤z0;
其中,surfacePic1表示采样后模型中z值为1的平面,亦即前表面;surfacePic2表示采样后模型z值为z0的平面,亦即后表面;surfacePic3表示采样后模型中x值为1的平面,亦即左表面;surfacePic4表示采样后模型x值为x0的平面,亦即右表面;surfacePic5表示采样后模型中y值为1的平面,亦即上表面;surfacePic6表示采样后模型y值为y0的平面,亦即下表面。
作为本发明一实施方式的进一步改进,所述拼接输出模块具体用于:采用tree.js技术拼接六个表面图以形成颈动脉3D模型框架。
作为本发明一实施方式的进一步改进,所述切面处理模块具体用于:
选取像素点x1和x2以及所述切面上除x1和x2、且与x1和x2不共线的第三个像素点x3,并基于3D模型框架获得其分别对应的世界坐标;
根据像素点x1、x2以及x3的世界坐标以及通用的平面方程获得所述切面的平面方程;
通过切面的平面方程以及3D模型框架每个交接边的方程获得所述切面与3D模型框架交接边的交点,并记录在同一点列PointList3D中;
按顺时针或逆时针方向排列交点,选择任一交点作为切面的二维平面(0,0)点,二维平面(0,0)点为基础选择第二个交点,以二维平面(0,0)点到第二个交点的射线方向作为切面的X轴,选择通过二维平面(0,0)点、方向垂直于X轴,且指向第三个点所在X轴同一侧的方向的射线为Y轴,形成新的平面坐标系;
通过各个交点之间的距离关系获得各个交点的二维坐标点,每个二维坐标点均为z坐标为0的三维的交点,并记录在同一点列PointList2D中,每个二维坐标点一一映射三维的交点;
通过三维坐标变换将PointList3D中的三维的交点以及PointList2D中的二维坐标点的一一对应关系,形成旋转矩阵M和平移矩阵T;
连接PointList2D中的二维坐标点形成多边形,所述多边形围成的区域为切面图像;
根据所述新的平面坐标系以及PointList2D中的二维坐标点获得所述切面图像中每一个像素点的二维坐标;
根据切面图像中每一个像素点的二维坐标,所述旋转矩阵M和平移矩阵T,获取切面图像中每一个像素点对应的三维坐标;
以切面图像中每一个像素点对应的三维坐标查询颈动脉模型数据源,获得所述切面图像中每个像素点对应的灰度值。
与现有技术相比,本发明的有益效果是:本发明的颈动脉超声扫查三维重建方法及系统,基于与颈动脉血管方向垂直的横向扫查超声图像,采用下采样的方式重建3D模型,相对于传统的颈动脉二维纵向切面图,可以让超声医生更加直观且全方位地观察病人的病症,进一步降低超声医生对病症的错误判断,提高了超声医生诊断的准确率,且本发明仅需要占用很少的计算资源便可以快速地完成对3D模型的一系列操作,减少了系统的硬件成本。
附图说明
图1是本发明一实施方式提供的颈动脉超声扫查三维重建方法的流程示意图;
图2是本发明一具体示例的颈动脉3D模型坐标系示意图;
图3是图1中步骤S2的较佳实现方式的流程示意图;
图4是本发明一具体示例形成的颈动脉3D模型框架示意图;
图5是图1中步骤S5的较佳实现方式的流程示意图;
图6是本发明一具体示例中新的3D模型的示意图;
图7是本发明一实施方式提供的颈动脉超声扫查三维重建系统的模块示意图。
具体实施方式
以下将结合附图所示的具体实施方式对本发明进行详细描述。但这些实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
结合1所示,本发明一实施方式提供的颈动脉超声扫查三维重建方法,所述方法包括:
S1、获取模型数据,所述模型数据包括:与颈动脉血管方向垂直、且连续的多幅横向扫查超声图像,以及扫查设备相关的参数,所述扫查设备相关的参数至少包括:探头扫查深度、探头扫查距离。
本发明可实现方式中,采用自动扫查装置采集与颈动脉血管方向垂直的横向扫查超声图像,该扫查超声图像完全覆盖了病人颈动脉的主动脉和分叉位置,在三维重建后的3D模型会完整的呈现出病人颈动脉的病症状态。
进一步的,本发明较佳实施方式中,在实施步骤S2之前,对获得的横向扫查超声图像进行压缩,其在压缩过程中,需要综合考虑缩放和压缩比率的问题,要使得到的最终超声图像文件的图像质量不能太差,同时超声图像的文件大小不能太大,该压缩技术为现有技术,在此不做进一步的赘述,本发明下述实现过程中,使用的模型数据即可以为原始的横向扫查超声图像,也可以为压缩后的横向扫查超声图像。
S2、对模型数据进行重采样以获得颈动脉模型数据源,所述颈动脉模型数据源包括:重采样后模型中任意一个像素点的灰度值。
本发明一较佳实施方式中,结合图2所示,在该示例中,横向扫查超声图像为XOY面,图像中的圆形区域为颈动脉血管横切面,Z轴方向为超声探头沿颈动脉血管方向,整个模型由一张张颈动脉横向扫查超声图像组合成。
相应的,结合图3所示,所述步骤S2具体包括:
M1、配置颈动脉横切面图像为XOY面,Z轴方向为超声探头沿颈动脉血管方向,以使获得的多幅扫查图像沿Z轴排列形成临时3D模型;
M2、对临时3D模型进行重采样,则重采样后模型中任意一个像素点的灰度值G(i,j)表示为:
G(i,j)=(PD1*(G1(i,j)+PD2*G2(i,j))/(PD1+PD2),
PD1=D-m1*d1,PD2=m2*d1-D,
G1(i,j)=modelSrc(m1)(i,j),G2(i,j)=modelSrc(m2)(i,j),
m2=m1+1,D=d2*n,d1=S1/(m0-1),
d2=S1/(z0-1),R=(m0-1)/(z0-1),z0=(S1*y0)/S2,
(i,j)表示像素坐标值,G1(i,j)表示采样前模型第m1张图像的坐标为(i,j)位置的像素灰度值,G2(i,j)表示采样前模型第m2张图像的坐标为(i,j)位置的像素灰度值,m1表示采样前第m1张图像,m2表示采样前m1之后的图像,表示向下取整,D表示采样后第n张图像的间隔值,0<n<z0,d1表示采样前模型中各个扫查图像之间的间隔,d2表示采样后模型中各个扫查图像之间的间隔,R为比例值;m0表示采样前扫查图像的总张数,z0表示采样后实际的扫查距离,亦即采样后模型的扫查长度,S1表示探头扫查距离,S2表示探头扫查深度,x0表示采样后颈动脉横向扫查超声图像的宽,y0表示采样后颈动脉横向扫查超声图像的高。
需要说明的是,该实施方式中的物理参数至少包括:探头扫查距离S1以及探头扫查深度S2。
M3、根据颈动脉模型数据源建立采样后模型。
该实施方式中,所述方法还可包括:将颈动脉模型数据存储一.mdl文件中,以用于后续调用,可以理解的是,当已知3D模型中每一个像素点的灰度值后,即可以根据各个像素点的灰度值重建采样后的模型,在此不做进一步的赘述。
进一步的,所述方法还包括:S3、根据所述颈动脉模型数据源获得其构成模型的六个表面所分别对应的表面图图像;S4、拼接六个表面图图像以形成颈动脉3D模型框架进行显示输出。
本发明具体实现方式中,所述步骤S3具体包括:获取颈动脉模型数据源;
则采样后模型的六个表面对应的表面图图像分别为:
surfacePic1=model[1][x][y],0<x≤x0,0<y≤y0,
surfacePic2=model[z0][x][y],0<x≤x0,0<y≤y0,
surfacePic3=model[z][1][y],0<y≤y0,0<z≤z0,
surfacePic4=model[z][x0][y],0<y≤y0,0<z≤z0,
surfacePic5=model[z][x][1],0<x≤x0,0<z≤z0,
surfacePic6=model[z][x][y0],0<x≤x0,0<z≤z0;
其中,surfacePic1表示采样后模型中z值为1的平面,亦即前表面;surfacePic2表示采样后模型z值为z0的平面,亦即后表面;surfacePic3表示采样后模型中x值为1的平面,亦即左表面;surfacePic4表示采样后模型x值为x0的平面,亦即右表面;surfacePic5表示采样后模型中y值为1的平面,亦即上表面;surfacePic6表示采样后模型y值为y0的平面,亦即下表面。
较佳的,当获知采样后模型的六个表面对应的表面图图像时,可以将其存储于一.surface文件中,以供后续调用。
对于步骤S4,结合图4所示,可以采用tree.js技术拼接六个表面图以形成颈动脉3D模型框架。
进一步的,所述方法还包括:S5、以3D模型框架为基础,根据颈动脉模型数据源,获取3D模型框架上通过任一面上两个像素点x1和x2的切面的切面图像,其中,定义3D模型框架静止状态下,通过像素点x1和x2、垂直于显示平面且与所述3D模型框架相交的面为所述切面。
本发明具体实施方式中,结合图5所示,所述步骤S5包括:
N1、选取像素点x1和x2以及所述切面上除x1和x2、且与x1和x2不共线的第三个像素点x3,并基于3D模型框架获得其分别对应的世界坐标。
本发明具体实现过程中,可通过鼠标移动获取切面,当鼠标滑过3D模型框架的任一面时的开始位置和结束位置分别记做像素点x1和x2,进一步的,在经过像素点x1和x2连线且垂直于显示平面的面上任选一点为x3,所述x3处于3D模型框架上,且与像素点x1和x2不共线。
N2、根据像素点x1、x2以及x3的世界坐标以及通用的平面方程获得所述切面的平面方程;
所述通用的平面方程为Ax+By+cZ+D=0,根据已知的世界坐标以及通用的平面方程获得该世界坐标对应的平面方程为现有技术,在此不做详细赘述。
N3、通过切面的平面方程以及3D模型框架每个交接边的方程获得所述切面与3D模型框架交接边的交点,并记录在同一点列PointList3D中。
3D模型框架具有12条楞,根据平面方程以及12条楞的方程可以获得所述交点,将该交点记录在点列PointList3D中以供后续调用。
N4、按顺时针或逆时针方向排列交点,选择任一交点作为切面的二维平面(0,0)点,二维平面(0,0)点为基础选择第二个交点,以二维平面(0,0)点到第二个交点的射线方向作为切面的X轴,选择通过二维平面(0,0)点、方向垂直于X轴,且指向第三个点所在X轴同一侧的方向的射线为Y轴,形成新的平面坐标系。
本发明具体示例中,将获得的交点按顺时针方向排序。
N5、通过各个交点之间的距离关系获得各个交点的二维坐标点,每个二维坐标点均为z坐标为0的三维的交点,并记录在同一点列PointList2D中,每个二维坐标点一一映射三维的交点。
本发明具体实施方式中,根据点列PointList3D中各个交点的距离关系,可计算出各个交点所对应的平面坐标,将这些二维坐标点放到点列PointList2D中,可得出PointList2D中的二维坐标点与PointList3D中的三维的交点一一对应。
N6、通过三维坐标变换将PointList3D中的三维的交点以及PointList2D中的二维坐标点的一一对应关系,形成旋转矩阵M和平移矩阵T。
本发明具体实现方式中,二维坐标点可以看成z坐标都为0的三维的交点,因此可以通过三维坐标变换将PointList3D中的所有的三维的交点变换到PointList2D中的二维坐标点。
假设PointList3D中点的坐标(x,y,z),PointList2D中点的坐标为(a,b,0),则:
N7、连接PointList2D中的二维坐标点形成多边形,所述多边形围成的区域为切面图像;
N8、根据步骤N4获得的新的平面坐标系以及PointList2D中的二维坐标点,可以获得所述切面图像中每一个像素点的二维坐标;然后根据切面图像中每一个像素点的二维坐标,所述旋转矩阵M和平移矩阵T,可获取切面图像中每一个像素点对应的三维坐标;
以切面图像中每一个像素点对应的三维坐标查询颈动脉模型数据源,获得所述切面图像中每个像素点对应的灰度值。
进一步的,所述方法还包括:S6、将获得的切面图像与原有的颈动脉3D模型框架中各个表面图图像拼接为新的3D模型。
结合图6所示,该视图中,面a为切面,其与面均为原有的颈动脉3D模型框架中的面。
结合图7所示,本发明一实施方式提供一种颈动脉超声扫查三维重建系统,所述系统包括:获取模块100、重采样模块200、图像提取模块300、拼接输出模块400、切面处理模块500以及模型重建模块600。
获取模块100用于获取模型数据,所述模型数据包括:与颈动脉血管方向垂直、且连续的多幅横向扫查超声图像,以及扫查设备相关的参数,所述扫查设备相关的参数至少包括:探头扫查深度、探头扫查距离。
进一步的,本发明较佳实施方式中,获取模块100还用于对获得的横向扫查超声图像进行压缩,其在压缩过程中,需要综合考虑缩放和压缩比率的问题,要使得到的最终超声图像文件的图像质量不能太差,同时超声图像的文件大小不能太大,该压缩技术为现有技术,在此不做进一步的赘述,本发明下述实现过程中,使用的模型数据即可以为原始的横向扫查超声图像,也可以为压缩后的横向扫查超声图像。
重采样模块200用于对模型数据进行重采样以获得颈动脉模型数据源,所述颈动脉模型数据源包括:重采样后模型中任意一个像素点的灰度值。
本发明一较佳实施方式中,重采样模块200具体用于配置颈动脉横切面图像为XOY面,Z轴方向为超声探头沿颈动脉血管方向,以使获得的多幅扫查图像沿Z轴排列形成临时3D模型;
对临时3D模型进行重采样,则重采样后模型中任意一个像素点的灰度值G(i,j)表示为:
G(i,j)=(PD1*(G1(i,j)+PD2*G2(i,j))/(PD1+PD2),
PD1=D-m1*d1,PD2=m2*d1-D,
G1(i,j)=modelSrc(m1)(i,j),G2(i,j)=modelSrc(m2)(i,j),
m2=m1+1,D=d2*n,d1=S1/(m0-1),
d2=S1/(z0-1),R=(m0-1)/(z0-1),z0=(S1*y0)/S2,
(i,j)表示像素坐标值,G1(i,j)表示采样前模型第m1张图像的坐标为(i,j)位置的像素灰度值,G2(i,j)表示采样前模型第m2张图像的坐标为(i,j)位置的像素灰度值,m1表示采样前第m1张图像,m2表示采样前m1之后的图像,表示向下取整,D表示采样后第n张图像的间隔值,0<n<z0,d1表示采样前模型中各个扫查图像之间的间隔,d2表示采样后模型中各个扫查图像之间的间隔,R为比例值;m0表示采样前扫查图像的总张数,z0表示采样后实际的扫查距离,亦即采样后模型的扫查长度,S1表示探头扫查距离,S2表示探头扫查深度,x0表示采样后颈动脉横向扫查超声图像的宽,y0表示采样后颈动脉横向扫查超声图像的高。
需要说明的是,该实施方式中的物理参数至少包括:探头扫查距离S1以及探头扫查深度S2。
根据颈动脉模型数据源建立采样后模型。
图像提取模块300用于根据所述颈动脉模型数据源获得其构成模型的六个表面所分别对应的表面图图像;拼接输出模块400用于拼接六个表面图图像以形成颈动脉3D模型框架进行显示输出。
本发明具体实现方式中,图像提取模块300具体用于获取颈动脉模型数据源;
则采样后模型的六个表面对应的表面图图像分别为:
surfacePic1=model[1][x][y],0<x≤x0,0<y≤y0,
surfacePic2=model[z0][x][y],0<x≤x0,0<y≤y0,
surfacePic3=model[z][1][y],0<y≤y0,0<z≤z0,
surfacePic4=model[z][x0][y],0<y≤y0,0<z≤z0,
surfacePic5=model[z][x][1],0<x≤x0,0<z≤z0,
surfacePic6=model[z][x][y0],0<x≤x0,0<z≤z0;
其中,surfacePic1表示采样后模型中z值为1的平面,亦即前表面;surfacePic2表示采样后模型z值为z0的平面,亦即后表面;surfacePic3表示采样后模型中x值为1的平面,亦即左表面;surfacePic4表示采样后模型x值为x0的平面,亦即右表面;surfacePic5表示采样后模型中y值为1的平面,亦即上表面;surfacePic6表示采样后模型y值为y0的平面,亦即下表面。
较佳的,当获知采样后模型的六个表面对应的表面图图像时,可以将其存储于一.surface文件中,以供后续调用。
结合图4所示,拼接输出模块400可以采用tree.js技术拼接六个表面图以形成颈动脉3D模型框架。
切面处理模块500用于以3D模型框架为基础,根据颈动脉模型数据源,获取3D模型框架上通过任一面上两个像素点x1和x2的切面的切面图像,其中,定义3D模型框架静止状态下,通过像素点x1和x2、垂直于显示平面且与所述3D模型框架相交的面为所述切面。
本发明具体实施方式中,切面处理模块500具体用于选取像素点x1和x2以及所述切面上除x1和x2、且与x1和x2不共线的第三个像素点x3,并基于3D模型框架获得其分别对应的世界坐标。
根据像素点x1、x2以及x3的世界坐标以及通用的平面方程获得所述切面的平面方程;
通过切面的平面方程以及3D模型框架每个交接边的方程获得所述切面与3D模型框架交接边的交点,并记录在同一点列PointList3D中;
按顺时针或逆时针方向排列交点,选择任一交点作为切面的二维平面(0,0)点,二维平面(0,0)点为基础选择第二个交点,以二维平面(0,0)点到第二个交点的射线方向作为切面的X轴,选择通过二维平面(0,0)点、方向垂直于X轴,且指向第三个点所在X轴同一侧的方向的射线为Y轴,形成新的平面坐标系;
通过各个交点之间的距离关系获得各个交点的二维坐标点,每个二维坐标点均为z坐标为0的三维的交点,并记录在同一点列PointList2D中,每个二维坐标点一一映射三维的交点;
通过三维坐标变换将PointList3D中的三维的交点以及PointList2D中的二维坐标点的一一对应关系,形成旋转矩阵M和平移矩阵T;
连接PointList2D中的二维坐标点形成多边形,所述多边形围成的区域为切面图像;
根据上述获得的新的平面坐标系以及PointList2D中的二维坐标点,可以获得所述切面图像中每一个像素点的二维坐标;然后根据切面图像中每一个像素点的二维坐标,所述旋转矩阵M和平移矩阵T,可获取切面图像中每一个像素点对应的三维坐标;
以切面图像中每一个像素点对应的三维坐标查询颈动脉模型数据源,获得所述切面图像中每个像素点对应的灰度值。
模型重建模块600用于将获得的切面图像与原有的颈动脉3D模型框架中各个表面图图像拼接为新的3D模型。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
综上所述,本发明的颈动脉超声扫查三维重建方法及系统,基于与颈动脉血管方向垂直的横向扫查超声图像,采用下采样的方式重建3D模型,相对于传统的颈动脉二维纵向切面图,可以让超声医生更加直观且全方位地观察病人的病症,进一步降低超声医生对病症的错误判断,提高了超声医生诊断的准确率,且本发明仅需要占用很少的计算资源便可以快速地完成对3D模型的一系列操作,减少了系统的硬件成本。
在本申请所提供的几个实施方式中,应该理解到,所揭露的系统,系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施方式仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以2个或2个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机系统(可以是个人计算机,服务器,或者网络系统等)或处理器(processor)执行本申请各个实施方式所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施方式仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施方式对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施方式技术方案的精神和范围。