I have an assignment to create a 2D image from a Sinogram. I have the following:
function recon = fourier(sinogram, interpolation)
tic;
[rows cols] = size(sinogram);
% calculate 1D FFT of the sinogram
% fftSino = ...;
fftSino = fft(sinogram);
% prepare the coordinate system change
cartesianX = 0:1/(cols-1):1;
cartesianY = -1:2/(rows-1):1;
[x y] = meshgrid(-1:2/(rows-1):1);
ySign = y < 0;
polarAngle = ~ySign - atan2(y, x) / pi;
polarRadius = sqrt(x.^2 + y.^2) .* (ySign - ~ySign);
%%
% perform coordinate system change
fftSinoInterp = pol2cart(polarAngle, polarRadius);
But now I do not know how to interpolate the complex numbers onto my Cartesian grid. Can anyone give me a hint on what function to use with what parameters? I looked at interp2, but I could not figure out what to use for X Y Z. Also I do not know how interp1 or TriScatteredInterp could work here.