专利名称:基于gpu实现的超声成像扫描变换方法
技术领域:
本发明涉及医用超声成像技术,特别是基于GPU (Graphics Process Unit)图形处理技术实现的超声成像扫描变换方法。
背景技术:
大部分的腹部B超探头的换能器是扇形的,所以从换能器所得到的扫描数据是极坐标系的。在屏幕上显示的时候我们需要把极坐标转换成直角坐标才能显示。扫描变换本质上是一个从极坐标系变换到直角坐标系的过程。如图I和2所示,探头扫描方向为Θ,深度方向为d,扫描所得的数据是s( Θ,d),通过坐标变换,将数据变换到xy平面下的i(x, y),具体变换公式为
X= (dO+d)sin(θ) y= (dO+d)cos (Θ)
坐标变换是一个非常耗时的操作。为了能够达到实时性的要求,即使采用查表法,对CPU的负担也是很重的。通常需要非常高性能的CPU,不采用双线性插值,或者采用DSP或者FPGA辅助。但是这些方法都有缺点I)高性能的CPU通常成本很高,而且无法使设备小型化;2)不采用双线性插值能够省去一部分计算量,但是也使图像质量有明显下降;3)采用DSP或者FPGA不但增加成本,同时也增加了系统的复杂度。
发明内容
针对上述问题,本发明提供一种实现快速、低成本、高性能的基于GPU实现的超声成像扫描变换方法。本发明为解决其技术问题所采用的技术方案是
基于GPU实现的超声成像扫描变换方法,包括以下步骤获取扫描数据s(0,d);将扫描数据s(0,d)在Θ方向分为η等份,在d方向分为m等份,形成n*m份的矩形;将获得的矩形分成三角形,计算与s(9,d)平面的三角形对应的在xy平面上的三角形顶点坐标,坐标变换关系为x= (dO+d) sin ( θ ),y= (dO+d) cos ( θ );把 s ( θ,d)作为 GPU 的纹理,θ方向为纹理的u坐标,d方向为纹理的V坐标,xy平面三角形的坐标作为GPU的顶点坐标,xy平面三角形对应的u坐标和V坐标为纹理坐标,对每个三角形依次进行绘制,得到扫描变换过后的图像。进一步,η和m的值为不小于10的整数。进一步,矩形划分为三角形时按照矩形对角线划分成两个三角形。进一步,获取扫描数据s ( Θ,d)后先创建好对应大小的texture,扫描数据s ( Θ, d)划分为三角形后计算好每个三角形的顶点和纹理坐标,顶点和纹理坐标存在内存中,绘制时打开GPU的双线性插值开关,将接收到的扫描数据上传到预先创建好的texture,绑定该texture,用预先计算好的顶点和纹理坐标逐个绘制三角形。
本发明的有益效果是本发明基于GPU在不增加系统成本和复杂度的前提下,完成扫描变换,提供更好的实时性和图像质量,本发明的方法可以使用最廉价的硬件完成,不但降低成本,而且硬件结构简单,更适合小型化,同时由于硬件结构简单,整体功耗也会比以往的系统小很多,符合绿色环保的理念。
下面结合附图和具体实施方式
进行进一步的说明
图I为变换前的极坐标系扫描数据 图2为变换后的直角坐标系扫描数据 图3为变换前的极坐标系划分成三角形的扫描数据图;
图4为变换后的直角坐标系划分成三角形的扫描数据图。
具体实施例方式参照图1、2、3和4,本发明的基于GPU实现的超声成像扫描变换方法,用于将从换能器所得到的极坐标系下的扫描数据转换成可在屏幕上显示的直角坐标系数据。下面对本发明的详细步骤进行描述。获取扫描数据s(e,d)的步骤,如图I所示,由于此数据由扇形换能器生成的,因此此获取到的扫描数据s( Θ,d)是极坐标系下的,这些数据必须变换成直角坐标系下才能
显不O将扫描数据划分的步骤将扫描数据s( Θ,d)在Θ方向分为η等份,在d方向分为m等份,形成n*m份的矩形。一般地,划分的数量需要足够大,才能形成n*m份的矩形,在一般的实施方式中,n、m的数据优选的不小于10的整数。划分三角形与计算三角形顶点坐标的步骤将获得的矩形分成三角形,计算与s(0,d)平面的三角形对应的在xy平面上的三角形顶点坐标,坐标变换关系为x=(dO+d) sin( Θ ),y= (dO+d) cos ( θ )。4)当m, n足够大时,我们可以认为在三角形内,每个点的坐标变换是线性分布的。之所以划分为三角形,因为GPU —般只能对三角形进行绘制。作为优选的实施方式,矩形划分为三角形时按照矩形对角线划分成两个三角形。划分成的示意图如图3所示。绘制的步骤把s(0, d)作为GPU的纹理,Θ方向为纹理的u坐标,d方向为纹理的V坐标,xy平面三角形的坐标作为GPU的顶点坐标,xy平面三角形对应的u坐标和v坐标为纹理坐标,对每个三角形依次进行绘制,得到扫描变换过后的图像,如图4所示。在具体实施过程中,可选用Direct3D作为GPU加速的API。当选用Direct3D作为GPU加速的API来实现本方法时,一般米用以下方式进行获取扫描数据s(0,d)后先创建好对应大小的texture,扫描数据s( Θ,d)划分为三角形后计算好每个三角形的顶点和纹理坐标,顶点和纹理坐标存在内存中,绘制时打开GPU的双线性插值开关,将接收到的扫描数据上传到预先创建好的texture,绑定该texture,用预先计算好的顶点和纹理坐标逐个绘制三角形。本发明的实施方式并不受上述实施例的限制,只要其以基本相同的手段达到本发明的技术效果,都应属于本发明的保护范围。
权利要求
1.基于GPU实现的超声成像扫描变换方法,其特征在于包括以下步骤 获取扫描数据s(0,d); 将扫描数据S(0,d)在0方向分为n等份,在d方向分为m等份,形成n*m份的矩形; 将获得的矩形分成三角形,计算与s ( 0,d)平面的三角形对应的在xy平面上的三角形顶点坐标,坐标变换关系为x= (dO+d) sin ( 0 ), y= (dO+d) cos ( 0 ); 把s ( 0,d)作为GPU的纹理,0方向为纹理的u坐标,d方向为纹理的V坐标,xy平面三角形的坐标作为GPU的顶点坐标,xy平面三角形对应的u坐标和V坐标为纹理坐标,对每个三角形依次进行绘制,得到扫描变换过后的图像。
2.根据权利要求I所述的基于GPU实现的超声成像扫描变换方法,其特征在于n和m的值为不小于10的整数。
3.根据权利要求I所述的基于GPU实现的超声成像扫描变换方法,其特征在于矩形划分为三角形时按照矩形对角线划分成两个三角形。
4.根据权利要求I所述的基于GPU实现的超声成像扫描变换方法,其特征在于获取扫描数据s ( 0,d)后先创建好对应大小的texture,扫描数据s ( 0,d)划分为三角形后计算好每个三角形的顶点和纹理坐标,顶点和纹理坐标存在内存中,绘制时打开GPU的双线性插值开关,将接收到的扫描数据上传到预先创建好的texture,绑定该texture,用预先计算好的顶点和纹理坐标逐个绘制三角形。
全文摘要
本发明公开了基于GPU实现的超声成像扫描变换方法,其获取扫描数据,将扫描数据划分形成n×m份的矩形,将获得的矩形分成三角形,完成坐标变换,再对每个三角形依次进行绘制,得到扫描变换过后的图像。本发明基于GPU在不增加系统成本和复杂度的前提下,完成扫描变换,提供更好的实时性和图像质量,本发明的方法可以使用最廉价的硬件完成,不但降低成本,而且硬件结构简单,更适合小型化,同时由于硬件结构简单,整体功耗也会比以往的系统小很多,符合绿色环保的理念。
文档编号A61B8/00GK102631222SQ20121012719
公开日2012年8月15日 申请日期2012年4月26日 优先权日2012年4月26日
发明者丁波, 朱逸斐, 王建和 申请人:珠海医凯电子科技有限公司