MATLAB中iradon函数的用法与举例
1、iradon的常用格式1:
I = iradon( R , theta )
R是投影矩阵。(R的每列是平行束投影数据。)
theta描述了投影的角度(以度为单位)。 它可以是角度的矢量,也可以是指定角的标量,即投影之间的增量角度。
2、常用格式2:(简单运用请略过此部分)
I = iradon(R , theta , interp , filter , frequency_scaling , output_size)
interp指定在反投影中使用的插值类型。 可用选项按照提高精度和计算复杂度的顺序列出。
filter是滤波函数
frequency_scaling是范围(0,1)中的标量,通过重新调整其频率轴来修改滤波器。默认值为1.如果frequency_scaling小于1,则滤波函数的频率被压缩到适合[0,frequency_scaling]的范围。在归一化频率中;频率扩展以上的所有频率都设置为0
output_size是一个标量,指定重建图像中的行数和列数。如果未指定output_size,则根据投影的长度确定大小。


3、iradon范例:
计算逆Radon变换并比较滤波和未滤波的反投影。
clc,clear; %清空命令和工作区(可无)
P = phantom(128); %获取matlab自带仿真头部模型数据
R = radon(P,0:179); %radon变换获得180个方向的投影矩阵
I1 = iradon(R,0:179); %线性插值(默认)逆radon变换
I2 = iradon(R,0:179,'linear','none');
subplot(2,2,1), imagesc(P), title('原版')
subplot(2,2,2), imagesc(R), title('投影矩阵')
subplot(2,2,3), imagesc(I1), title('过滤反投影')
subplot(2,2,4), imagesc(I2), title('未经过滤的反投影')


