A Directional Interpolation Method for 3-D Gray-Scale Image
Based on Local Plane Information
Liu Zhexing, Li Shuxiang, L Qingwen
(Key Lab for Medical Imaging of PLA, First Military Medical University, Guangzhou 510515)
Abstract
Gray-scale image interpolation is a preprocessing step for volume rendering in medicine. The rendering quality depends on the result of interpolation directly. Interpolation errors usually show up near the tissue boundary. Since the gray value of pixels on the tissue surface does not change very much, if interpolation is done on the surface of the same tissue, wrong kinds of tissue could not be generated, that is, wrong new tissue resulted from common linear interpolotion can be avoided. While inside the same kind of tissue, because of the small variation of the value of the pixels, linear interpolation will do. Based on the above-mentioned consideration local plane is used to approximate the tissue, and local surface directions and gradient information are used for the interpolation of 3-D gray-scale images. Since the correlation of 3 dimensional data is used, better results were obtained in respect of smoothness, sharpness, and connectivity and interpolation error is reduced dramatically. Experimental results from real volume data are given.
Key words:Gray-scale image; Directional interpolation; 3-D reconstruction
0引言
医学体数据可视化(volume visualization in medicine)是由医学序列断层图像重构并显示人体三维结构的方法,是科学可视化的重要组成部分和应用领域,是可视化研究的一个热点。目前,许多CT、MRI设备公司都提供图像的三维绘制软件供选购,以加强设备的诊断功能。
通常,由于仪器设备的性能所限或者从患者的健康和耐受性考虑,用计算机断层(CT)、磁共振(MRI)等医学扫描成像设备做序列断层扫描检查时,序列图像在三维空间的分辨率是不同的:层间分辨率要比层内分辨率小得多。典型的层内分辨率在1mm左右,层间分辨率通常在3~5mm,甚至10mm。然而大多数的三维图像处理和可视算法都要求数据有一致的空间分辨率,这就使图像的层间插值成为不可避免的一个预处理步骤。插值结果的好坏,将直接影响后续操作结果的准确性。目前,三维绘制技术依据其显示的机理主要分为表面绘制(surface rendering)和体绘制(volume rendering)两大类[1]。其中,体绘制的算法加速研究相当活跃。本文研究用于体绘制的序列灰度断层图像的插值方法。
作为三维重建和显示的重要部分,人们对图像插值进行了大量的研究,提出了一些有效的算法。如:基于目标形状的插值法[2]、弹性匹配法[3,4]等。医学图像的内插算法可分为两大类:灰度插值(Gray-scale Interpolation)和二值插值(Binary Interpolation)[5]。[2]~[4]中的方法属于二值插值,此类算法用于经目标提取或边缘搜索的二值化图像数据,可以有效提高表面绘制和二值体绘制的效果和准确性。但是,在体绘制的多组织透明显示方法中,需要用到每个体素的灰度值来计算它的颜色和阻光度,所以就必须研究灰度插值算法。
1问题描述
医学序列断层图像可以认为是对人体三维空间连续数据场的采样。采样值分布在空间长方体网格点上。医学断层图像在图像平面内X,Y方向上的采样间隔相同,而层与层之间,即Z方向上的间隔较大。以I表示采样点的灰度值,采样数据V的矩阵表示为:
在三维坐标系中的表示为:
其中,Δx、Δy、Δz分别为三个方向上的采样间隔,一般地,Δx=Δy≠Δz。图像插值就是要得到Δx=Δy=Δz的采样数据。
理论上说,这是一个恢复与重采样的过程。即首先选择适当的重构核函数,对离散的数据场进行三维卷积运算,重建连续的三维数据场;然后根据采样间隔计算Nyquist采样频率,用低通滤波将高于采样频率的成分滤掉;最后,对滤波后的连续数据场采样,得到三个方向分辨率一致的离散体数据。但是,由于通常的层间的采样频率过低,卷积并不能完全恢复原连续数据场,同时三维卷积运算十分费时,所以通常的插值方法都是在离散域中以改善显示效果为目的进行的[6]。
2方向内插
三线性内插法(Trilinear Interpolation)是一种常用的三维空间插值方法。其优点是计算简单,效果较好,是体绘制技术中的常用方法。视线投射(Ray Casting)算法中重采样时,常采用三线性内插算法。但是用于灰度图像插值时,三线性内插算法退化为纵轴上的线性内插,得到的结果会在组织的边界产生错误,造成边缘模糊和伪像[5]。只有当层间距较小时,错误的边缘很狭窄,人眼的感觉才会不明显。
Z轴方向上的线性插值的问题是由于在组织的边界处,在两个灰度差别较大的采样点之间插值造成的。图像局部数据之间具有较大的相关性,特别是在组织的分界面上,灰度值的差别更小。如果能确定插值点位于这样的表面上或者附近的话,我们可以在局部用平面来近似物体的表面,然后在平面内做插值计算,就可以大大减小错误。受图像处理中梯度模算子的启发,提出了基于局部平面信息的方向内插方法。由于这是一个预处理过程,所以不会影响三维绘制的交互速度。
2.1局部平面检测
由数学分析知识可知,函数f(x,y,z)的方向导数,表示函数在给定方向上的变化率,可以表示为:
其中,e=(cosα,cosβ,cosγ)为方向r上的单位矢量,α、β、γ的意义如图1所示。
图1三线性插值
图2方向导数
矢量为f(x,y,z)的梯度。上式表明,函数f(x,y,z)的方向导数等于梯度G在方向r上的投影。显然,当梯度G和方向e的方向相同时,方向导数取得最大值,等于梯度的模|G|,即
而在以梯度为法向量的平面上,函数的灰度变化最小。在以插值点为圆心的直角坐标系中,这样的平面可以表示为:
因为图像灰度变化剧烈的地方其梯度的模较大,所以梯度模可以用作锐化算子,增强图像的边缘。同样,在垂直于梯度的表面上,灰度值变化很小,可以利用这一特点,可以做插值。如果在插值点处用局部平面来近似物体的表面,就可以在插值的过程中,先判断插值点是否位于一个灰度平面上,如果插值点位于一个灰度平面上,就在这个平面上做线性插值,求取其灰度值;否则,就简单地做z轴方向上的线性插值。因为计算插值点的值之间的差别不大,结果中不会出现“新物质”,就可以减小内插的误差,保证内插结果图像中表面的光滑、清晰,从而提高重建与显示的质量。2.2方向内插
