up to Schedule & Notes

CT Reconstruction with Filtered Backprojection

To reconstruct a CT slice from the sinogram, backproject the absorption profile across the image:

[Gonzales & Woods]

The image gets better with more backprojections:

[Gonzales & Woods]

[Gonzales & Woods]

To compute the value at $f(x,y)$ in the image, $f$, determine the corresponding points in the absorption profile, $g(\theta,\rho)$, that $f(x,y)$ projects to. Then backproject all of these $g(\theta_i,\rho_i)$ onto $f(x,y)$.

Here's the relation between $(\theta,\rho)$ coordinates in the absorption profile and $(x,y)$ coordinates in the image:

[Gonzales & Woods]

Point $(x,y)$ projects to $\rho = x \cos\theta + y \sin\theta$ in the absorption profile at angle $\theta$. (Here's a vector review to support this claim.)

So the value at $(x,y)$ in the image, $f$, is

$f(x,y) = \sum_{\theta_i} \; g(\theta_i, x \cos{\theta_i} + y \sin{\theta_i} )$

Here's how $f(x,y)$ gets reconstructed as we step through the angles, $\theta_i$, and sum up the contributions at each $f(x,y)$:

[ humanhealth.iaea.org/HHW/MedicalPhysics/NuclearMedicine/ImageAnalysis/3Dimagereconstruction ]

The problem is that the image is "blurry" and objects have halos around them.

The solution is to filter each row of the sinogram to suppress the low-frequency components and enhance the high-frequency components.

This can be done with a filter. In the frequency domain, common filters are the Ram-Lak filter (for Ramachandran and Lakshminarayanan) and the Hamming-windowed Ram-Lak filter:

[]

The Ram-Lak filter is the "correct" filter for accurate backprojection with infinite sampling and zero noise. This can be shown through an analysis of the reparameterization of $g(\theta,\rho)$ in the frequency domain.

However, the Ram-Lak filter has sharp edges when a finite number of sample is taken (as with CT). This leads to echos (or "ringing") in the reconstructed $f(x,y)$. And the high-frequency components of the Ram-Lak filter will cause noise in $g(\theta,\rho)$ to be enhanced.

To reduce this phenomenon, the high-frequency parts of the Ram-Lak filter are attenuated by multiplying the Ram-Lak filter with a windowing function, such as the Hamming window.

The left column below shows ringing with the Ram-Lak filter, while the right column shows reduced ringing with the Hamming-windowed Ram-Lak filter:

[Gonzales & Woods]

This filtering is accomplished on $g(\theta,\rho)$ by convolving the corresponding spatial-domain filter with $g(\theta_i,\rho)$ for each $\theta_i$, separately.

These are the spatial domain filters (i.e. inverse Fourier transforms) of the frequency domain filters shown above:

[]

Here's what happens to each row, $g(\theta_i,\rho)$ of the sinogram when convolved with a filter:

[ humanhealth.iaea.org/HHW/MedicalPhysics/NuclearMedicine/ImageAnalysis/3Dimagereconstruction ]

Then the backprojection yields a sharper image:

[ humanhealth.iaea.org/HHW/MedicalPhysics/NuclearMedicine/ImageAnalysis/3Dimagereconstruction ]

This is a substantial improvement over unfiltered backprojection:

Unfiltered backprojection Filtered backprojection

up to Schedule & Notes