一种超声容积探头摆动角度偏移的后处理校准方法与流程

文档序号:31943446发布日期:2022-10-26 03:41阅读:274来源:国知局
一种超声容积探头摆动角度偏移的后处理校准方法与流程

1.本发明涉及超声容积探头成像技术领域。


背景技术:

2.超声四维成像作为一种辅助诊疗手段已经被广泛应用,尤其是在妇产、盆底、心脏等方面。四维成像通过控制步进电机转动,配合实时扫描获得人体组织和器官的多张二维数据,然后将二维图像通过三维插值的方式生成三维体数据,通过一定后处理显示出组织和器官的不同剖面图像和表面重模图像,给医生提供更多的诊断信息。
3.超声四维成像普遍使用带步进电机的容积探头,探头内部通过控制步进电机带动超声一维阵列换能器摆动来实现容积扫描。探头驱动接口带有电机驱动引线和定位传感器引线,传感器输出电平在换能器摆动过程中会发生电平变化,电平变化的位置就是探头的基准零位,通常探头在进行三维四维扫描前后均需要归零操作,使得探头以当前位置为中心进行摆动。步进电机的运动要经历正向加速-匀速-减速-反向加速-匀速-减速,该过程反复进行,如果步进电机转速过快,在换向前后就容易出现减速时过冲、加速时丢步的现象。如公告号为cn106725601b的中国专利中提出一种步进电机的自动校准方法,通过对当前周期内探头达到匀速区的中心点(即基准零位)的实际计步值进行获取,并基于该实际计步值与预设步数,得到当前周期步进电机丢步或过冲导致的步数误差,进而在下一周期采用该步数误差进行步数补偿来解决正反扫描摆动角度偏移的问题。但是,该专利中提出的方法虽然在一定程度上可以解决角度偏移的问题,但步进电机控制无法实现非整数步的精准控制,实际计步数通常是采用整数计数,因此校准结果最大会有一个步进角度的误差,在该步进角度误差的影响下仍然无法达到更佳的成像效果。


技术实现要素:

4.发明目的:为了解决超声容积探头四维成像时因步进电机加速带来的丢步和减速引起的过冲,造成正反扫描摆动角度偏移、图像晃动的问题。
5.技术方案:为解决上述问题,本发明提供一种超声容积探头摆动角度偏移的后处理校准方法,包括
6.一种超声容积探头摆动角度偏移的后处理校准方法,包括以下步骤:
7.(1)启动四维扫描,初始化帧计数信号ncount=0,sensor=0;sensor表示传感器电平变化指示信号对应的变量;
8.(2)探头开始发射和接收信号对某线扫描,检测sensor变化,若无该扫描线的头信息,则相应位置置0;若该扫描线的头信息变化,则相应位置置为1;
9.(3)上位机实时解析每线数据:上位机解析数据线程解析到某线的头信息,从固定位置分别获取扫描线号curline、sensor、马达方向信号dir、当前帧号curframe,若该线检测到sensor=1,将该帧中间位置帧指示信号bmid=1,该帧中间位置对应线号nmidposline=curline;若sensor=0,则bmid=0,nmidposline=0;
10.(4)上位机根据当前帧的解析信息计算三维数据校准参数:当三维处理模块解析到当前帧sensor=1,读取当前帧号curframe,及帧中间位置对应线号nmidposline,马达方向信息dir,则帧校准值:
11.iframe_mod=curframe-(nframe-1)/2.0+(curline-(nline-1)/2.0)/(nline-1);iframe_mod是计算原存储中心帧与实际马达电机过零时所在帧之间的差值;
12.(6)根据校准参数实时计算三维体数据:在从原始体数据映射到三维体数据时,映射表中每个像素点对应的原始体数据的位置[ipot,iline,iframe],[ipot,iline,iframe]表示原始体数据中的第iframe帧、第iline扫描线、第ipot采样点的空间存储位置,用iframe_mod对iframe进行校准,得到新的帧号iframenew=iframe+iframe_mod。
[0013]
进一步的,步骤(2)中,某线扫描开始后,系统实时检测sensor电平变化,若打包该线头信息前检测到sensor电平变化将sensor=1,并打包到该线头信息中,随后上传,并在打包结束后将sensor=0;若该线头信息已打包,下一线扫描未启动,将sensor=1打包到下一扫描线头信息中,打包结束同样将sensor=0。
[0014]
进一步的,头信息还包含扫描线号curline、马达方向信号dir、当前帧号curframe。
[0015]
进一步的,步骤(3)中,上位机解析数据线程解析到某线的头信息中的0xaa55扇区。
[0016]
进一步的,扫描变换映射表的计算过程为:首先,计算三维体数据上下前后左右的实际物理尺寸[dx,dy,dz],其中x、y、z分别表示三维体扫描线方向、三维体帧排列方向、扫描点方向,dx、dy、dz分别对应三维体在x、y、z方向的实际长度,以中间帧图像探头圆心位置为坐标原点[0,0,0],扇扫图像旋转中心为[0,0,r-r],
[0017]
dz=r+de-(r+ds)*cos(ω/2);
[0018]
dx=(r+de)*sin(ω/2)*2;
[0019]
dy=(r+de)*sin(w/2)*2;
[0020]
r为探头半径;ds为探头扫描起始深度;de为探头扫描截止深度;ω为探头阵列方向的扫描角度;r为探头扇扫半径;w为扇扫角度
[0021]
其次,计算三维体数据的实际像素大小[nx,ny,nz],nx、ny、nz分别对应三维体x、y、z方向的像素点数,nmax_z为三维体数据在z方向预设的的最大像素点数,则
[0022]
nz=nmax_z,计算像素点间的物理距离dpixle=dz/nz;
[0023]
nx=int(dx/dpixle);
[0024]
ny=int(dy/dpixle);
[0025]
然后,计算三维体数据中每个像素点对应到原始体数据的位置[ipot,iline,iframe],其位置变量均为float类型,假设空间中某像素点[nx,ny,nz],nx、ny、nz分别表示某像素点在三维体x、y、z方向的位置,其对应到原始体数据位置[ipot,iline,iframe]的计算方法如下:
[0026]
原始体数据中间帧号dcenframe,校准前dcenframe=(nframe-1)/2.0,原始体数据点间的距离dp=(de-ds)/npot。
[0027]
三维体数据上表面中心点,其在体数据存储空间对应的像素点坐标为[nx_or,ny_or,0],扇扫图像旋转中心的像素点坐标为[nx_or,ny_or,nz_or],其中nx_or=(nx-1)/
2.0,ny_or=(ny-1)/2.0,nz_or=(-(r+ds)+(r-r))*cos(ω/2)/dpixle。
[0028]
像素点[nx,ny,nz]到扇扫图像旋转中心的像素距离n_pixeltoor为
[0029]
n_pixeltoor=sqrt((nx-nx_or)2+(ny-ny_or)2+(nz-nz_or)2);
[0030]

[0031]
iframe=asin[(ny-ny_or)/n_pixeltoor]/w+dcenframe;w为相邻两帧图像间的夹角弧度
[0032]
iline=asin[(nx-nx_or)/n_pixeltoor]/θ+(nline-1)/2.0
[0033]
ipot={sqrt{[(sqrt(n_pixeltoor
2-(nx-nx_or)2)*dpixle+(r-r)]2+(nx-nx_or)2*dpixle2}-r-s}/dp
[0034]
依次计算三维体数据中每个像素点对应的[ipot,iline,iframe],输出扫描变换映射表,映射表为浮点型值。
[0035]
进一步的,原始映射表只计算一次,在实时计算三维体数据时对表中对应的帧值进行校准后再进行插值等处理。
[0036]
进一步的,扫描开始后,首先转动马达找到传感器电平变化,将探头归零,然后马达匀速转动并开始从零计数nstep/2,马达减速;接下来马达反向加速固定时长后,开始进入匀速区间,控制探头开始发射,获得nframe帧图像数据,单帧图像大小设为[npot,nline],npot表示表示单帧图像中每条扫描线的采样点数,nline表示单帧图像的扫描线数,原始数据中的某点表示为[ipot,iline,iframe]。
[0037]
进一步的,头信息包括当前扫描线号curline、传感器电平变化指示信号、马达方向dir、当前扫描帧号curframe,其中传感器电平变化指示信号为0表示无变化;传感器电平变化指示信号为1表示变化;马达方向dir为0表示正向;马达方向dir为1表示反向。
[0038]
有益效果:本发明提出一种超声容积探头摆动角度偏移的后处理校准方法。在上传扫描数据时,实时检测探头传感器信号变化,并将该变化信息打包到当前扫描线的头信息中,计算机在解析到该信号后,标记当前帧图像和当前扫描线,在检测到步进电机换向信号后,计算角度偏差,送到三维体数据生成模块,实时校准三维输出图像,避免角度偏移、图像晃动的问题。该方法采用后处理的方式,简单灵活,对于电机控制自校准的校准精度更高。
[0039]
本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
[0040]
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
附图说明
[0041]
图1所示为本发明中超声容积探头摆动角度偏移的后处理校准方法的流程图;
[0042]
图2所示为本发明中扫描变换映射表的计算流程图;
[0043]
图3所示为没加自校准时马达正反扫描体膜的冠状图像;
[0044]
图4所示为加入自校准时马达正反扫描体膜的冠状图像。
具体实施方式
[0045]
下面结合附图对本发明的技术方案进一步说明。
[0046]
本发明提供的技术方案的基础理论为:
[0047]
超声容积探头的马达运动方式可能是凸阵扇扫、凸阵平扫、线阵扇扫、线阵平扫四种。探头在运动过程中采集一帧帧二维图像原始数据,一个扫描周期结束(马达换向后,从左摆动到右减速、或从右摆动左减速为一个周期),便得到原始体数据,该数据并不是真正的三维体数据,其数据间的物理距离不是均匀的,需要对原始体数据进行扫描变换,生成真正的超声三维体数据。该扫描变换过程需要根据不同的运动方式分别计算。
[0048]
下面以凸阵扇扫为例简单说明过程。
[0049]
假设探头半径为r(单位mm),探头阵列方向的扫描角度为ω,相邻扫描线间夹角弧度为θ,扫描起始深度为ds(到探头表面的距离),扫描截止深度为de(到探头表面的距离),探头扇扫半径为r(单位mm),相邻两帧图像间的夹角弧度为w,采集帧数为nframe,预设体数据的最大像素大小分别[nmax_x,nmax_y,nmax_z]。为了保持正反向扇扫位置重叠,一般正向扫描的扫描线采用,如从0到n-1;反向扫描的扫描线采用,如从n-1到0。由于马达扫描期间处于匀速运行,理想情况下,正反向扫描过归零点对应的是扇扫图像中间帧、及其中间扫描线(奇数帧扫描图像),或对应的是最中间相邻两帧结束线和下一帧起始线的衔接处(偶数帧扫描图像)。
[0050]
马达控制及原始体数据的生成过程:用户在设置好扇扫角度w后,根据当前探头的工作参数计算出马达匀速期间的步数nstep(为了防止不足整步,可将nstep取为偶数)。首先转动马达找到传感器电平变化,将探头归零,然后马达匀速转动并开始从零计数nstep/2,马达减速(此前探头不需要发射,只是为了找到扇扫边界)。接下来马达反向加速固定时长后,开始进入匀速区间,控制探头开始发射,获得nframe帧图像数据,单帧图像大小设为[npot,nline],npot、nline分别表示单帧图像中每条扫描线的采样点数和该帧图像的扫描线数,原始数据中的某点可表示为[ipot,iline,iframe],也就是原始体数据中的第iframe帧、第iline扫描线、第ipot采样点的空间存储位置。值得注意的是正反向帧号的计数,可采用正向递增、反向递减的方式或正向递增、反向递增的方式(本说明默认采用第一种)。通常上传的每线(或每帧)原始数据都包含头信息,头信息中可包含如下(只列出与本技术方案说明相关信息):
[0051][0052]
扫描变换是将原始体数据生成三维体数据的过程,一般根据用户的设置,计算一组映射表,将原始体数据映射到三维体数据中,只需计算一次。
[0053]
基于以上基础理论的记载,本发明提供了一种超声容积探头摆动角度偏移的后处理校准方法,如图1所示,包括如下步骤:
[0054]
步骤step1:启动四维扫描,初始化帧计数信号ncount=0,sensor=0(此处sensor
表示传感器电平变化指示信号对应的变量);
[0055]
初始化参数包括扫描变换映射表的计算过程。该扫描变换映射表的计算过程的一个实施例可参考图2所示,扫描变换映射表的计算过程为首先,计算三维体数据上下前后左右的实际物理尺寸[dx,dy,dz],其中x、y、z分别表示三维体扫描线方向、三维体帧排列方向、扫描点方向(本实施例中所提到的x/y/z、x/y/z、_x/_y/_z均与该处描述一致),dx、dy、dz分别对应三维体在x、y、z方向的实际长度,以中间帧图像探头圆心位置为坐标原点[0,0,0],扇扫图像旋转中心为[0,0,r-r](为了简化说明,此处以中间帧图像的高度作为三维体数据的成像高度),
[0056]
dz=r+de-(r+ds)*cos(ω/2);
[0057]
dx=(r+de)*sin(ω/2)*2;
[0058]
dy=(r+de)*sin(w/2)*2;
[0059]
其次,计算三维体数据的实际像素大小[nx,ny,nz];
[0060]
nz=nmax_z,计算像素点间的物理距离dpixle=dz/nz;
[0061]
nx=int(dx/dpixle);
[0062]
ny=int(dy/dpixle);
[0063]
然后,计算三维体数据中每个像素点对应到原始体数据的位置[ipot,iline,iframe],其位置变量均为float类型,假设空间中某像素点[nx,ny,nz],nx、ny、nz分别表示某像素点在三维体x、y、z方向的位置,其对应到原始体数据位置[ipot,iline,iframe]的计算方法如下:
[0064]
原始体数据中间帧号dcenframe,校准前dcenframe=(nframe-1)/2.0,原始体数据点间的距离dp=(de-ds)/npot。
[0065]
三维体数据上表面中心点,其在体数据存储空间对应的像素点坐标为[nx_or,ny_or,0],扇扫图像旋转中心的像素点坐标为[nx_or,ny_or,nz_or],其中nx_or=(nx-1)/2.0,ny_or=(ny-1)/2.0,nz_or=(-(r+ds)+(r-r))*cos(ω/2)/dpixle。
[0066]
像素点[nx,ny,nz]到扇扫图像旋转中心的像素距离为
[0067]
n_pixeltoor=sqrt((nx-nx_or)2+(ny-ny_or)2+(nz-nz_or)2);
[0068]

[0069]
iframe=asin[(ny-ny_or)/n_pixeltoor]/w+dcenframe;
[0070]
iline=asin[(nx-nx_or)/n_pixeltoor]/θ+(nline-1)/2.0
[0071]
ipot={sqrt{[(sqrt(n_pixeltoor
2-(nx-nx_or)2)*dpixle+(r-r)]2+(nx-nx_or)2*dpixle2}-r-s}/dp
[0072]
依次计算三维体数据中每个像素点对应的[ipot,iline,iframe],输出扫描变换映射表,映射表为浮点型值。
[0073]
在四维扫描启动后,实时接收原始体数据,并进行扫描变换得到三维体数据。扫描变换过程可直接对映射表值取整,提取其对应的原始数据值作为该像素的值。还可以用线性插值或样条插值来计算该像素的值(线性插值或样条插值为公知方法,在此不做说明)。
[0074]
步骤step2:探头开始发射和接收信号,检测sensor变化,若无该线头信息相应
[0075]
位置置0;若变化,则相应位置置为1。
[0076]
具体实施方式:某线扫描开始后,系统实时检测sensor电平变化,若打包该线头信
息前检测到sensor电平变化将sensor=1,并打包到该线头信息中,随后上传,并在打包结束后将sensor=0;若该线头信息已打包,下一线扫描未启动,将sensor=1打包到下一扫描线头信息中,打包结束同样将sensor=0。
[0077]
头信息还包含扫描线号curline、马达方向信号dir、当前帧号curframe。
[0078]
步骤step3:上位机实时解析每线数据。
[0079]
具体实施方式:上位机解析数据线程解析到某线的头信息中的0xaa55,从固定位置分别获取扫描线号curline、sensor、马达方向信号dir、当前帧号curframe,若该线检测到sensor=1,将该帧中间位置帧指示信号bmid=1,该帧中间位置对应线号nmidposline=curline;若sensor=0,则bmid=0,nmidposline=0;
[0080]
步骤step4:上位机根据当前帧的解析信息计算三维数据校准参数
[0081]
具体实施方式:当三维处理模块解析到当前帧sensor=1,读取当前帧号
[0082]
curframe,及帧中间位置对应线号nmidposline,马达方向信息dir,则帧校准值iframe_mod=curframe-(nframe-1)/2.0+(curline-(nline-1)/2.0)/(nline-1)
[0083]
iframe_mod是计算原存储中心帧与实际马达电机过零时所在帧之间的差值。
[0084]
步骤step5:根据校准参数实时计算三维体数据
[0085]
具体实施方式:在从原始体数据映射到三维体数据时,映射表中每个像素点对应的原始体数据的位置[ipot,iline,iframe],用iframe_mod对iframe进行校准,得到新的帧号iframenew=iframe+iframe_mod.
[0086]
需要说明的是原始映射表只需计算一次,在实时计算三维体数据时对表中对应的帧值进行校准后再进行插值等处理,该校准过程只是简单的加法运算,对计算量变化较小。
[0087]
当探头匀速运动速度超过250度/s后,马达正反扫描的冠状图像位移就比较明显了,此时丢步过冲步数较大,下图3是没加自校准时正反扫描体膜的冠状图像(图像中使用中科院标准超声体膜),可以看出较深处靶点变化较大,这是马达步进电机正反扫描位置偏移造成的。
[0088]
图3中的容积探头马达减速比为4.29,步进电机行进1步探头的转动角度为0.4196
°
,马达匀速运动速度约为256.1度/s。在加入后处理后自校准后,匀速区间的实际位移与期望误差控制在单线扫描时间马达行进的角度,图3中单线扫描时间约为174us,则误差要小于0.0446
°
,该误差大小取决于单线扫描时间长度,一般四维模式下深度不会超过20cm,此时误差小于0.0796
°
,小于电机单步转动角度,图4为加入后处理自校准后,马达步进电机正向扫描和反向扫描得到的冠状图像,两图肉眼看不出位移误差,校准精度更高。
[0089]
本实施例对是否采用电机控制自校准方法(如专利文献cn106725601b中提到的方法)无要求,不采用电机控制自校准方法也可实现小的位移误差。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1