2021-05-12 14:32:11
MATLAB中iradon函數的用法與舉例
MATLAB 中的 iradon 函數是radon的逆變換,可以對投影資料進行濾波反投影重建影像,可以用於2017年數學建模國賽A題-二維CT系統引數標定及成像 的求解。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('未經過濾的反投影')
相關文章