想必现在有很多小伙伴对于MATLAB中iradon函数的用法与举例方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于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('未经过滤的反投影')
本文到此结束,希望对大家有所帮助。