using discrete FT with iradon

Dear all,
according to the matlab documentation:
'iradon uses the filtered back-projection algorithm to perform the inverse Radon transform. The filter is designed directly in the frequency domain and then multiplied by the FFT of the projections.'
I want however to try and do the procedure using discrete FT and not fast FT. Does anyone know of how to do this?
Thanks
Matt

 Respuesta aceptada

Steve Eddins
Steve Eddins el 25 de Mayo de 2011

0 votos

Fast Fourier transform, or FFT, refers to a family of fast algorithms for computing the discrete Fourier transform, or DFT. See these blog posts for information about different kinds of Fourier transforms and the relationships between them.

3 comentarios

Matthew O'Brien
Matthew O'Brien el 25 de Mayo de 2011
Hi Steve, thanks for the information. I will take a look. The reason i asked the question is that i am trying to perform and inverse radon transform of some data and i get a very different result from a program which claims to perform a full DFT and matlab which i know uses FFT to calculate the DFT. Effectively the matlab iradon command results in a strong 'halo' around the image not present in the other programs reconstruction.
have you heard of problems like this before?
Thanks
Matt
Steve Eddins
Steve Eddins el 26 de Mayo de 2011
No. You could try the different filtering and interpolation options with iradon. However, the idea that there is a difference between a "full DFT" and what the MATLAB fft function calculates is simply incorrect.
Matthew O'Brien
Matthew O'Brien el 14 de Jun. de 2011
Hi Steve, I have identified the problem and as you say it has nothing to do with DFT and FFT. Effectively the issue is that the sinogram data i have has a constant 'background' and the actual data is very low compared to this. I can recreate the problem by simply creating a Matrix of 1's which represent the 'sinogram' if this is then inverse radon transformed you get the ring:
sino = ones(20,20);
out = iradon(sino,[],20)
imagesc(out(1:20,1:20)); figure(gcf)
I guess this is a mathematical consequence of trying to perform iradon on data which doesnt contain a real sinogram?

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by