考慮下面的代碼:查找大小在MATLAB
P = Phantom(256);
theta = 0:1:179;
R = radon(P, theta);
I = iradon(R, theta);
iradon.m計算使用
N = 2*floor(size(R,1)/(2*sqrt(2)))
但爲什麼這個公式的重建圖像的大小?它給出N近似等於投影數除以2的平方根。但是,這將如何給出圖像的大小?有沒有更好的方法來找到給定R和theta的圖像大小?
考慮下面的代碼:查找大小在MATLAB
P = Phantom(256);
theta = 0:1:179;
R = radon(P, theta);
I = iradon(R, theta);
iradon.m計算使用
N = 2*floor(size(R,1)/(2*sqrt(2)))
但爲什麼這個公式的重建圖像的大小?它給出N近似等於投影數除以2的平方根。但是,這將如何給出圖像的大小?有沒有更好的方法來找到給定R和theta的圖像大小?
size(R,1)
不會給你投影的數量,而是投影的大小。投影數量爲size(R,2)
。
radon
的輸出大小爲n x m
其中n
=單個投影的大小和m
是投影的數量。投影尺寸大於圖像尺寸 - 想象一下45度的投影,爲了不丟失任何信息,需要投影約爲圖像的sqrt(2)
倍。 iradon
只是進行反向計算以獲取原始圖像大小。
實際上,可能是因爲MATLAB實現了radon
的方式,重構圖像的尺寸會比原始圖像稍大。
我認爲它與可以放入一個圓圈內的正方形的最大尺寸有關。圓的直徑是送入iRadon的2D圖像的寬度。