使用傅里叶切片定理的有限角度 Radon 变换重建中的附加伪影

信息处理 图像处理 matlab 傅里叶变换
2022-01-28 23:21:34

我想通过使用傅里叶切片定理来模拟有限角度 Radon 变换重建问题,该定理指出

F(Rf)(θ,σ)=F(f)(σθ),
在哪里F表示各自的傅里叶变换和R表示氡变换。

我现在所做的不是计算有限角度 Radon 变换及其重建,而是计算 2D Fourier 变换f,将“不可见”傅里叶系数设置为零,并应用二维傅里叶逆变换来重建图像。Matlab 代码和图像如下所示。

我希望这种方法能得到与使用有限角度 Radon 变换相同的结果,但是比较重建,我们看到使用第一种方法有更多的伪像。

我的第一个问题是这些额外的人工制品是从哪里来的?此外,我注意到用零填充我的图像可以解决这个问题。所以我的第二个问题是为什么填充在这里似乎有用?

先感谢您!

% Reconstruction using the Fourier transform
N = 256;
f = phantom(N);
fhat = fftshift(fft2(f));
x = linspace(-N/2, N/2-1, N);
[X,Y] = meshgrid(x, x);
wedge = zeros(N);
wedge(abs(Y)<=X) = 1;
fhat_wedge = fhat.*wedge;
frec = ifft2(fhat_wedge);
figure, imagesc(abs(frec)), axis off

用傅里叶切片定理进行有限角度重建

% Reconstruction using limited angle Radon transform
thetas = linspace(-45, 45, 180);
g = radon(f, thetas);
frec_radon = iradon(g, thetas);
figure, imagesc(frec_radon), axis off

通过 Radon 变换进行有限角度重建

0个回答
没有发现任何回复~