'How to get the 2d fourier transform result from a set of 1d fourier transform?

It's a mathematical problem. I am currently working on a ct reconstruction project, and the simple idea is to get 1d Fourier transforms from the projection of each angle and smear them into 2d Fourier transforms, the same as do the 2d Fourier transform directly from the original cross-sectional image, then do inverse 2d Fourier transform.

For example, I have a 2d list with 180 or 360 rows, each row contains the projection data in different degrees. Then it is easy to get all the 1d Fourier transform for the list by the following code:

for i in range(180):
   fft_list += fft(projections_list[i])

However, I don't know what should I do next to get the 2d fft output. I cannot just use fft2 function on the fft_list, like this:

fft2(fftshift(fft_list))

this gives me an image with the size len(row) * 180, not the size len(row) * len(row).

I know there is a function in Matlab called iradon that can do the same thing, but I am trying not to use it. Actually, this question is more like what is the actual processes/steps of function iradon by fft and fft2/ifft2?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source