Sinogram reconstruction with fourier transform

7 visualizaciones (últimos 30 días)
Egor Fab
Egor Fab el 26 de Dic. de 2016
Comentada: Sergio Serra Sánchez el 1 de Mzo. de 2018
I want to reconstruct this sinogram.
I do the 1D fourier on the sinogram and get this.
for y = 1:height
slice = i(y,:);
slice = fftshift(ifft2(ifftshift(slice)));
subTargetImage(y, 1:width) = slice(1,:);
end
Then I create the fourier space
for x = 1:height
for y = 1:width
[tX, tY] = pol2cart(x, y - width/2);
if(round(tX) + targetImageHeight/2 == 0)
tX = tX + 1;
end
if(round(tY) + targetImageWidth/2 == 0)
tY = tY + 1;
end
targetImage(round(tX) + targetImageHeight/2, round(tY) + targetImageWidth/2) = subTargetImage(x, y);
targetImage = fftshift(ifft2(ifftshift(targetImage)));
But when I do the reverse transformation I just get a black Image. How do I get a cleare image without using the filtered backprojection?

Respuestas (3)

David Ding
David Ding el 29 de Dic. de 2016
Hello Egor,
It appears that the statement "targetImage = fftshift(ifft2(ifftshift(targetImage)))", is not the inverse transformation of "slice = fftshift(ifft2(ifftshift(slice)))", as the second operation of the original transformation is "ifft2". Perhaps use "fft2" for the "targetImage" operation?
I conducted a similar workflow by applying fftshift(ifft2(ifftshift(.))) on a sample image and obtained similar output as your last screenshot. Then I applied fftshift(fft2(ifftshift(.))) and I do not have a black image anymore.
Thanks,
David
  1 comentario
Egor Fab
Egor Fab el 30 de Dic. de 2016
Hey David I tried the fft2 and i'm not having a black image anymore.
But sadly this is not the reconstructed image.

Iniciar sesión para comentar.


Sergio Serra Sánchez
Sergio Serra Sánchez el 1 de Mzo. de 2018
Any solution for this?

Sean de Wolski
Sean de Wolski el 1 de Mzo. de 2018
iradon or ifanbeam?
  1 comentario
Sergio Serra Sánchez
Sergio Serra Sánchez el 1 de Mzo. de 2018
Thank you for your answer!
The main idea of this experiment it's to try avoid use these functions. It have to be implemented with 1D Fourier of each angle on the sinogram and then to build the 2D transformation for all the projection. Do you know how do it?
Thank again.

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by