up
PDF

Matlab implementation to illustrate central slice theorem and back projection using inverse radon transform

Nasser M. Abbasi

Nov 10,2008 page compiled on July 2, 2015 at 3:37pm

PIC

1 Introduction

Central slice theorem says that if we make a projection of a 2D image on a projection line, and take the 1D Fourier transform (say A) of the projection itself, and then take a slice (say B) from the 2D Fourier transform of the image itself, then A=B. When taking the slice from the 2D Fourier transform it has to be done on a slice through the center of the 2D spectrum, and along a line parallel to the projection line mentioned above.

This is a simple Matlab implementation to illustrate the above. It allows the user to select a number of images, and the angle of the projection and then it find the projection (using radon transform) and shows the 1D FT of this projection, and then it finds the 2D FT of the image itself.

The 2D FT is shown in a 3D view to allow the user to rotate it.

This program also illustrate back projection by allowing the user to select the number of degrees to project the image at, and then back project all the resulting projecting to reconstruct the original image (as is done in CT scans). We see that the more angles used, the closer the resulting image will be to the original image.

The 2D FT of the reconstructed image is also shown as number of degrees is increased allowing one to see the slices being added and the final 2D FT convergence to the original image 2D FT.

Streaks in the image are noticed as it is being constructed. The streaks become less noticeable as more angles added. The inverse radon transform is used for back projection.

2 Animation

Here is a screen shot of the Matlab program.

PIC

3 source code

Current version is here zip file. This is a zip file which contains all the files needed. Download the zip file and extract it. It will created a folder. Simply add this folder to your MATLAB PATH, then from the Matlab console type the command

     nma_projection

This will bring up the GUI.

3.1 source files in the above zip file

1.
nma_projection.m.txt
2.
make3dspectrum.m.txt
3.
get_iradon_options.m.txt