I have implemented the procedure to reconstruct an image from its Radon transform involving the Fourier Slice Theorem (FST). After application of the FST, the data is transformed from polar coordinates to cartesian, by regridding.
It works fine, except the reconstructed image is "zoomed out" (see picture). What causes this difference, and how can I resolve it, so that the phantom in the original, an reconstruction are exactly the same size?
N = 128; f = phantom(N); % Radon Transform theta = 0:1:180; [g, xp] = radon(f, theta); % Fourier Slice Theorem ghatpol = fftshift(fft(ifftshift(g))); % Transform to cartesian coordinates phi = -theta*2*pi/360; [pX, pY] = pol2cart(phi, xp); x = -N/2:1:N/2-1; [X, Y] = meshgrid(x, x); fhatcart = griddata(pX, pY, ghatpol, X, Y); frec = ifftshift(ifft2(fhatcart)); figure, subplot(121), imagesc(f) subplot(122), imagesc(abs(frec))