标题 | 基于Matlab的数字扫描变换器设计 |
范文 | 陈红 (中南民族大学, 湖北 武汉 430074) 摘 要: 描述了数字扫描变换器设计的两种算法结构,即正查数据地址法和倒查数据地址法,采用两种算法来实现扇形扫描的数字扫描变换器中的坐标变换和数据插补,给出相应的Matlab实现程序。实验结果表明,正查数据地址法实现了一维插补,倒查数据地址法实现了二维平面插补,得到的图像都达到预期的效果。 关键字: B超机; 数字扫描变换器; 坐标变换; 数据插补 中图分类号: TN919?34; TP391 文献标识码: A 文章编号: 1004?373X(2015)08?0109?05 Design of digital scan converter based on Matlab CHEN Hong (South Central University of Nationalities, Wuhan 430074, China) Abstract:For getting good quality images with the sector scan mode, the digital scan converter is indispensable part to B?scanner, which is a very important tool of medical ultrasonic imaging. Two kinds of major algorithms to achieve transformation of coordinates and interpolation of the missing data in design of digital scan converter are described, which are positive and opposite methods for querying data address respectively. The corresponding Matlab program for realizing both the two algorithms is given. The experimental result shows that the positive method for querying data address can implement the 1? dimensional interpolation, and the opposite method for querying data address can realize the 2?dimensional plane interpolation. The consequent images have achieved the desired effect. Keywords: B?scanner; digital scan converter; coordinate transformation; missing data interpolation B超是目前广泛使用的超声诊断仪,B型超声诊断已经成为临床超声影像诊断中的重要手段[1]。数字扫描变换(Digital Scan Converter,DSC)是B超中的核心部分,是计算机技术和数字图像处理技术在B超中的成功应用。采用DSC技术后,B超不仅能用标准电视显示方式显示清晰的动态图像,而且提供了强大的图像处理功能。DSC 实质上是一个带有图像存储器的数字计算机系统,它有单独的读/写地址发生器,信息以一种格式存入存储器,而以另一种格式读出[2]。它实现B超机中图像冻结放大、正负图像翻转、多帧存储、数据测量计算、键盘控制等功能,其功能完善程度是评定和选购B超的重要参考因素。在B 超诊断系统中,凸阵探头探查的视场为扇形,从探头采集到的信号是以极坐标形式存储的数据,但超声图像的显示采用的却是直角坐标系,需要实时地将极坐标系中的数据转化到显示器的直角坐标系。另外,凸阵探头波束扫描存在远程扩散,必须给予线插补,否则因线密度过低,影响图像清晰度[3]。可见DSC的关键是坐标转换和数据插补。 在超声成像中,线性扫描B超的声束扫描和显示方式相类似,都是直角坐标系中的处理。所以,线性B超中图像的存储、显示都比较简单。但在扇形扫描方式中,声束扫描和图像显示的方式则有很大差别。扇形扫描方式是从超声探头的某一顶点沿半径方向向外呈扇面状地发射超声脉冲和接收超声回波信号。由于这种特殊的发射?接收方式,使得超声回波数据是极坐标形式的,而超声图像的显示采用的却仍然是直角坐标系。这种形式的采样点与显示像素点的位置并不一一对应,相邻扇形扫查线之间还有很多空缺像素有待填补,这种现象在远场尤为明显,即空缺的程度会随着扫描深度的增加而愈加严重[4]。因此,引进数字扫描变换的目的主要是解决扇形扫描方式中的两大问题,即进行坐标变换和数据插补,确保能够得到比较好的质量的图像。 1 DSC的原理 采用DSC确保数据可以在极坐标扇形扫描方式和直角坐标显示方式之间相互转换,并两种坐标可以很好地结合在B超设备中。采用DSC使图像冻结和A、M型图像以及多普勒血管信息的同时复合显示成为可能,且更为方便。同时,它也使图像参数屏幕测量、显示和数据输入更为方便。DSC从几个方面改善了图像的显示效果:可以使显示帧频高于声速扫描帧频,消除图像闪烁以及辐条状扫描线构成图像的不均匀性;采用DSC后,便于实施各种图像处理,从而改善图像质量[5]。这样,DSC的应用大大增加了B超设备的功能和使用的灵活性。 1.1 DSC的基本组成 数字扫描变换器(DSC)主要由图像存储器、坐标变换、图像插补、TV显示器组成[6]。其系统的框图如图1所示。 图像存储器是DSC装置核心,用来存储一帧或几帧扇形扫描超声图像,对实现坐标转换及实时显示必不可少。坐标变换电路由两部分组成:直角?直角坐标变换和直角?极坐标变换。直角?直角坐标变换是指显示平面D到投影平面S的线性变换,目的在于使图像在监视器上能够连续放大、缩小、位移和翻转,实现全景变焦等功能。图像插补用于填补从极坐标转换到直角坐标之后产生的空缺像素。TV显示器一般采用宽度具有512线/50 Hz的高质量标准黑白TV显示器。 1.2 DSC的工作原理 DSC的主要目的是解决坐标变换和数据插补。可以用正查数据地址法和倒查数据地址法两种算法结构来实现这两种功能。 实现DSC必须有三个坐标系:D平面为图像最终显示的平面、S平面为映射标准投影平面、P平面为扫描声束所在极坐标平面。三个坐标系的关系如图2所示。 1.2.1 正查数据地址法 正查数据地址法的DSC方案中,坐标变换完成从极坐标[(ρ,θ)]到直角坐标[(x,y)]的变换,回波数据按照给出的(x,y)地址写入一个与显示像素一一对应的图像存储器中,一般为[512×512]个单元。然后在视频同步信号的控制下逐行读取图像存储器,经过一个数据插补过程,将数据送显示器来显示。 (1) 坐标变换 正查数据地址法的基本结构如图3所示。由于回波信号是在已知扫描线的角度以及数据对应的成像深度的情况下获取的,极坐标平面中的半径[ρ]和角度[θ]都是已知的,原始回波数据中的每个元素都对应一组极坐标[(ρ,θ)]。然后将极坐标转换至S平面,而S平面是显示平面D的平移,所以最终可以转换到显示平面D,最后完成插值。 极坐标转换至最终显示平面D的转换关系由式(1)确定: [x=x0+ρ?sinθy=y0+ρ?cosθ] (1) 式中:x0、y0是平面S相对于平面D的水平和垂直偏移;[θ]是扫描声束偏转角;[ρ]是沿扫描声束矢径上的采样深度[7]。 (2) 数据插补 DSC将回波数据极坐标位置转换为直角坐标像素地址,并将直角坐标像素地址数字化到一个最接近的存储和显示像素地址。这样势必造成扇形图像近场区域内扫描回波数据个数大于存储和显示像素个数而显得太密。而随着探查深度的增加,相邻扫描线间距变大,以致扫描线之间某些显示像素没有给予回波数据赋值而形成显示器上的“黑洞”显示。许多黑洞云集成“云纹状”,使图像质量下降。黑洞出现的个数与像素大小、超声探查深度、声束偏转角和成像帧频等因素有关。为了消除黑洞产生的失真,就需要尽可能多、尽可能密集的极坐标中的回波数据,以及尽可能多的直角坐标中像素。但在实际B超系统中,沿扇形扫描声束的采样数据和沿偏转角的扫描声束线数都受到限制,所以需要进行数据插补[7]。 在正查数据插补法中常见的数据插补方法有:横向插入法、R?[θ]插入法、可变线性插补法。 (1) 横向插入法。对于数字变换中产生的图像“云纹状”畸变,往往采用图像内插补技术来加以解决。最简单的一种方法是横向插入法,它是在两根相邻的扫描线中插入一根或几根扫描线,使得直角坐标的整个扫描上布满数据。使用这种方法使“云纹状”失真减小了,然而写入过密的问题变得更严重。 (2) R?[θ]插入法。在R?[θ]插入法中,每一直角坐标像素数据是从周围极坐标采样数据按线性插补进行插值。 (3) 可变线性插补法。这种插补法的特点是根据空间的个数来进行插补,近场插补少,远场插补多,最多可插入8个值。因此该插补法避免了横向插入法中出现的写入过密的问题。 已知正查数据地址法的一维线性插值的基本关系由式(2)确定: [f(x)=f(x-1)?(1-α)+f(x+1)?α] (2) 式中:[f(x)]为插补的直角坐标像素数据;[α]为角间距离误差[2]。 1.2.2 倒查数据地址法 倒查数据地址法的DSC方案中,存储器保存的是最原始的极坐标形式的数据,其容量一般只有[128×512]个单位。在光栅扫描过程中,显示器上每个显示像素的灰度可以根据此像素的坐标[(x,y)],通过坐标变换找到其相应的极坐标[(ρ,θ)],然后从图像存储器的相应位置上读出数据并显示,其间当然也要经过插补算法[7]。 (1) 坐标变换。倒查数据地址法的基本结构如图4所示。倒查数据地址法是先从最终显示平面D中取一点[(Xd,Yd)],经过两次坐标转换,转换至极坐标系中,并因此与原始回波数据相对应,然后根据回波数据的[(ρs,θs)]值确定数据插补的邻域点进行插值,获得原平面D中点的灰度值,并显示该灰度值[6]。 倒查数据地址法中坐标的转换关系由式(3)确定: [Xs=Xs0+XdYs=Ys0+Yd] (3) 回波数据由(4)式确定: 在倒查数据地址法中,需要考虑像素所对应的物理距离。且原始回波数据的每个点所代表的物理距离与D平面中每个像素点所代表的物理距离是不一样的。 (2) 数据插补。在倒查数据地址法中,因为可以在知道转化成极坐标系中的点后,亦可知该点的邻域内其他原始数据的极坐标,所以可以很方便地进行二维平面插补。 二维平面插补可选取双线性插值,双线性插值的公式为: [fi+u,j+v=1-u·1-v·fi,j+1-u·v· fi,j+1+u1-vfi+1,j+uvfi+1,j+1] (5) 式中:u,v是点(i+u,j+v)与点(i,j)在x,y方向的距离,u,v均小于1。 2 DSC的Matlab实现及实验结果 为了使显示的图像能够直观地反映扫查目标的形状而不失真,需要对数据作数字扫描变换处理。通过对原始数据作坐标变换与数据插补,针对第前面提及的两种DSC的实现方法,可以编写Matlab程序代码分别实现了正查数据地址法和倒查数据地址法。 根据正查数据地址法或倒查数据地址法的流程,可以分析得出在直角坐标向极坐标转换的过程中,有些点是在转换后就有值的,而有些点没有转换值,而需要数据插补的。因而DSC实现过程中的一个重要问题是需要确定哪些点是需要进行插补的,哪些是不需要进行插补的[6]。这在正查数据地址法中尤为重要,而在倒查数据地址法中要注意的问题是:平面D中选取的点是否在超声图像信号对应的扇形区内。 2.1 正查数据地址法的实验结果 对于扇形扫描,其声束扫描数可以多达128或更多,每条扫描线上可以有512个采样点。若设相邻两个采样点之间的长度[Δρ=1]个单位,则[ρ=nΔρ],[n]是矢径上的的采样点数。而在进行插值的过程中,首先要判断从帧存储器中每次读出的值是否是“黑洞值”,即没有写入回波信号的存储单元。如果是黑洞值则进行插补,如果不是,则此单元的像素送入监视器上显示。相应的Matlab代码为: 本段代码中,带 * 号的是坐标转换的关键,带 # 的是数据插补的关键。在这两个关键步骤中可以看到: (1) 坐标转换是必须要考虑探头扫描参数,因为这些参数决定了极坐标系的参数; (2) 坐标转换完成后,就可以知道平面D中图像convexArrayImage中哪些点式有数据、哪些是没有的。程序通过标记矩阵tag来实现这种记录,若该点在坐标转换后有灰度值写入,那么对应的tag元素标记为-1,否则保持为0。 在线性插值过程中,还要结合tag矩阵对平面D中图像进行“选择性”数据插补[4]。本次实验中,选择一维线性插补方法。在坐标变换函数converImage中,关键的坐标变换代码如下: 图5~图7分别是原始回波信号、坐标变换结果、一维线性插值结果。原始回波信号虽然看似是直角坐标系下的信号,其实不然。因为原始回波信号的每一个数据元素都代表了不同方向、深度的扫描信息,所以原始回波信号应该用极坐标来描述。 由上述正查数据地址法DSC的结果,可以清楚地看到坐标变换与数据插补的重要性。数据插补带来的图像效果的改善尤为明显。如果不进行数据插补,那么如图6所示,图中会有很多数据点没有值,表现为小黑洞,整体则呈现出规律性的“云状纹”畸变。经过选择性的数据插补,较好地解决了这种“云状纹”畸变。 但是,仔细分析这数据插补过程会发现,由于B超扇形扫查图像的特殊性,B超图像在近场区的数据分布明显要比远场区密集,而在一维线性数据插补过程中并没有考虑到这个问题,所以会造成在近场区的重复插补,使得运算量的加大。这是该数据插补算法在以后值得改进的地方。 2.2 倒查数据地址法的实验结果 倒查数据地址法相应的Matlab代码为: 本段代码实现的关键功能是,通过结合探头的成像参数(成像深度、半扫描角度、每条扫描线上的数据点数),确定了多种物理距离单位:delta_x、delta_y、delta_r,以及角度变化增量。其中delta_x、delta_y、delta_r是不同坐标系中、不同方向的物理距离单位。这些参数的计算方便了显示平面D中的点向极坐标系P的转化。平面D中坐标向极坐标转换的关键代码如下: p_r = sqrt((a*delta_x?probe_x)^2+(b*delta_y?probe_y)^2); p_angle = atan((a*delta_x?probe_x)/(b*delta_y?probe_y)); 变换后还需要将这组[ρ,θ]进行量化,以便于原始回波数据进行匹配查找。获得当前转换点的量化坐标后,继续获得该点在回波数据中的邻域点,并进行双线性插值。 实现插值的代码如下: 图8所示是倒查数据地址法DSC的结果。由于倒查数据地址法的程序设计过程中,将坐标转换与数据插补融合成了一个函数,且倒查数据地址法本身的结构决定了坐标转换的结果是没有意义的(因为是由D平面转换而来,D平面中原本没有图像数据),所以不能显示坐标转换的结果,只显示了最终数据插补的结果。 对比图7和图8可以发现,图8中数据插补效果要比图7中的好,因为图7中沿半径方向还存在较明显的条纹。部分原因在于图7中的数据插补采用的是一维水平线性插补,而图8中是二维平面插补。后者利用了更多的邻域信息,得到了更为细腻的插补效果。 分析这两种不同的DSC的实现方式,可知正查数据地址法的存储器方案存在一些固有的缺陷: (1) 所占用的存贮器容量大,但冗余单元多; (2) 采用这种结构时, 图像后处理的灵活性较差, 一旦图像冻结后,就不易再将显示图象作左右移动或放大缩小等操作; (3) 插补处理难以实现高精度的二维数据插补。 在倒查数据地址法的存储器方案中,存储器中保存的是最原始的极坐标形式的数据,其容量一般只需128×512个单元(128 条超声扫查线,每线上512个样本点)。在光栅扫描过程中,监示器上每个显示象素的灰度可以根据此像素的坐标,通过坐标变换电路找到其相应的极坐标,然后从图像存储器的相应位置上读出并显示,其间当然也要经过插补运算过程。这种方案所需的存储器容量一般只是正查数据地址法的存储器方案的四分之一[8]。而且, 由于它保留了全部回波数据,使得数据插补环节能获得较高的精度, 操作的灵活性也较大。 由上述可知倒查数据地址法是更好的方法,虽然算法上实现要稍比正查数据地址法复杂,但倒查数据地址法相比正查数据地址法节省更多的数据存储空间,且更有利于数据插补。 3 结 语 倒查数据地址法实现了二维平面插补,但实现倒查数据地址法的存储器方案的主要难点是坐标变换电路及插补处理需要较高的运算速度。监示器上每扫描到一个新的显示像素点就要完成一次新的坐标变换及数据插补运算,全部过程要求在80 ns(每个像素点的显示时间)以内完成。在保证80 ns一点运算速度的同时, 还需要尽可能采用价格低廉的低速器件取代价格昂贵的高速器件。这是设计中有待改进的地方。由于信息科学、材料科学等领域的进步,新的成像技术还在发展中,全数字化医学成像系统向功能性和综合性高端发展,微电子和专用芯片的发展使便携式、甚至袖珍式与专门用途领域的小型系统成像模式和图像质量上了更高的台阶。 参考文献 [1] 张振光.B型超声诊断仪简介[J].医疗装备,2005(9):14?16. [2] 陈葳.数字扫描变换器的内插算法分析[J].电视技术,1992(2):2?6. [3] 陈薇薇.B 超数字扫描变换技术研究[J].科技风,2008(1):57?59. [4] 万明习.生物医学超声学(上册)[M].北京:科学出版社,2010. [5] 刘晓东.B超DSC部分分析[J].中国医疗装备,2004(1):37?39. [6] 安玉忠,沈以鸿.数字扫描变换器中显示制式变换的递推算法[J].清华大学学报:自然科学版,1990(8):78?86. [7] 王碧春.实现基于PC机的DSC算法的研究[D].成都:电子科技大学,2002. [8] 翁力,沈以鸿.医学超声成像用数字扫描变换器的研制[J].医疗器械,1986(6):2?5. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。