MATLAB中iradon函数的用法与举例
的有关信息介绍如下:MATLAB 中的 iradon 函数是radon的逆变换,可以对投影数据进行滤波反投影重建影像,可以用于2017年数学建模国赛A题-二维CT系统参数标定及成像 的求解。MATLAB自带的函数库十分强大,但对于初学者,常常不知道函数的作用与用法,在此介绍iradon函数的用法,并举例帮助大家使用。
iradon的常用格式1:
I = iradon( R , theta )
R是投影矩阵。(R的每列是平行束投影数据。)
theta描述了投影的角度(以度为单位)。 它可以是角度的矢量,也可以是指定角的标量,即投影之间的增量角度。
常用格式2:(简单运用请略过此部分)
I = iradon(R , theta , interp , filter , frequency_scaling , output_size)
interp指定在反投影中使用的插值类型。 可用选项按照提高精度和计算复杂度的顺序列出。
filter是滤波函数
frequency_scaling是范围(0,1)中的标量,通过重新调整其频率轴来修改滤波器。默认值为1.如果frequency_scaling小于1,则滤波函数的频率被压缩到适合[0,frequency_scaling]的范围。在归一化频率中;频率扩展以上的所有频率都设置为0output_size是一个标量,指定重建图像中的行数和列数。如果未指定output_size,则根据投影的长度确定大小。
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('未经过滤的反投影')