赞
踩
(2016-05-14 10:56:37)
iradon函数
iradon函数是基于R-L滤波器的滤波反投影法。实现重建图像的过程如下:
1、把投影矩阵R转换到频域,生成fft(R);
2、fft(R)和滤波函数H相乘,得到滤波后的频域投影矩阵fft(R)*H;
3、把fft(R)*H 转换到空域,得到空域中的滤波后的投影矩阵R'=ifft(fft(R)*H );
4、R'插值后,得到处理好的投影矩阵R'';
5、直接反投影得到重建图像矩阵I。
滤波函数H如果选择“none”,则没有滤波,选择“ram-lak”,则把R-L滤波函数的傅里叶函数,和频域中每个角度的投影相乘,实现滤波。选择其他,则R-L滤波函数的傅里叶函数与设定的函数相乘,再和频域中每个角度的投影相乘。
I=iradon(R,theta,interp,filter,frequency_scaling,output_size)
经过FFT 后频域中的投影值是0或者2的幂,既可以防止与空域的投影值混淆,也可以加快FFT 的速度。(待确定)
R是投影矩阵。
theta可以是一个包含所有扫描角度的向量,这时每两个相邻角度间隔相等;也可以是一个标量值,等于相邻两个扫描角度的间隔。
interp是插值函数,有以下几种差值方式可以选择:
nearest:最邻近插值方法(nearest neighbor interpolation)。这种插值方法在已知数据的最邻近点设置插值点,对插值点的数值进行四舍五入,对超出范围的数据点返回NaN。
linear:线性插值(linear interpolation),这是interp中的默认数值。该方法采用直线将相邻的数据点相连,对超出数据范围的数据点返回NaN。
spline:三次样条插值(cubic spline interpolation),该方法采用三次样条函数获取插值数据点,在已知点为端点的情况下,插值函数至少具有相同的一阶和二阶导数。
pchip:分段三次厄米多项式差值(piecewise cubic Hermite interpolation)。
cubic:三次多项式插值,与分段三次厄米多项式插值方法相同。
v5cubic:MATLAB5中使用的三次多项式插值。
方法 说明
nearest 最快的插值方法,但是数据平滑方面最差,数据是不连续的。
linear 执行速度较快,有足够的精度,最为常用,而且为默认设置。
cubic 较慢,精度高,平滑度好,当希望得到平滑的曲线时可以使用该选项。
spline 执行速度最慢,精度高,最平滑。
filter是滤波函数,有以下几种滤波器可以选择:
‘Ram-Lak’——频带有限的斜坡函数滤波器,是MATLAB默认的滤波器,对投影中的噪声敏感( R-L滤波函数和S-L滤波函数)。
‘Shepp-Logan’——sinc函数*R-L函数。
‘Cosine’——cosine函数*R-L函数 。
‘Hamming’——Hamming函数*R-L函数 。
‘Hann’——hann函数*R-L函数 。
‘None’——没有滤波。
frequency_scaling是一个标量值,取值范围[0,1],通过缩放滤波函数的频率修改滤波函数。
默认值为1。如果取值小于1,则滤波函数的频率被压缩到适合[0,frequency_scaling]的范围。比如默认值为1时,滤波函数的窗口为[0,10Hz],frequency_scaling=0.5时,滤波函数的窗口为[0,20Hz]。(待确定)在频域中,频率若大于frequency_scaling对应的频率,则该频率处的函数值为0。
output_size是一个标量,用来规定重建图像的行数和列数。
默认等于2*floor(size(R,1)/(2*sqrt(2)))。改变output_size会改变重建图像的大小,但是不会改变像素点的个数。
radon函数
R=radon(I,theta)
[R,Xp]=radon(I,theta,N)
如果theta是标量,返回R是列向量 ,表示theta角度下图像I的radon变换。如果theta是向量,返回R是矩阵,每一列表示某一theta角度下图像I 的radon变换。忽略theta,则默认为是0:179的向量。
返回行向量Xp,投影数据R的每一行的射线坐标。
I可以是数值型、逻辑型的二维非稀疏矩阵,theta是双精度型。
已设N,则用N个点计算投影, 且R有N行。
未设N,则用 2*ceil(norm(size(I)-floor((size(I)-1)/2)-1))+3 个点计算投影,即使射线通过图像对角线,这个值也足够。
调用c程序radonc( )实现radon变换
mfilename函数中,I是第一个变量,theta是第二个变量,N是第三个变量。如果生成投影的行维度r不等N,则进行N等分,线性插值,变成行维度为N的投影。
radon函数中theta有3种情况:
1 包含所有扫描的角度向量,角度范围是从最小角度到最大角度
2 一个标量,则角度范围=标量*正弦图的角度个数。
3 没有设置,角度范围180度,从0到179,间隔1。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。