首頁 > 軟體

MATLAB中iradon函數的用法與舉例

2019-12-24 20:48:33

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('未經過濾的反投影')





IT145.com E-mail:sddin#qq.com