考虑下面的代码:查找大小在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图像的宽度。