CT Lab

Chapter 4: Filtered Backprojection (FBP / CBP)

Derive the ramp filter from the Fourier slice theorem and arrive at FBP, the standard method.

The previous chapter left us with a question: what correction should be applied to the projections before backprojecting? The key is the Fourier slice theorem (central slice theorem). The 1D Fourier transform P(θ,ω)P(\theta,\omega) of the projection profile p(θ,)p(\theta,\cdot) at angle θ\theta equals the 2D Fourier transform FF of the object f(x,y)f(x,y) evaluated along the line through the origin at angle θ\theta. Measuring a projection in one direction, it turns out, is the same as measuring one line of the 2D frequency space.

P(θ,ω)  =  F(ωcosθ,  ωsinθ)P(\theta, \omega) \;=\; F(\omega\cos\theta,\; \omega\sin\theta)
Spatial domainp(θ,s)θ1D Fourier transform (s → ω)Frequency domainωxωyP(θ,ω)θA slice through the origin

The Fourier slice theorem. The 1D spectrum of a projection equals the object's 2D spectrum cut along a line through the origin.

Collecting projections over all angles samples FF on a polar grid, a bundle of radial lines through the origin. This grid is dense near the origin and sparse at high frequencies. Rewriting the 2D inverse Fourier transform in polar coordinates, the area element dωxdωy=ωdωdθd\omega_x\, d\omega_y = |\omega|\, d\omega\, d\theta produces the Jacobian ω|\omega|. This is the true identity of the ramp filter. SBP over-weights low frequencies and blurs precisely because this density correction ω|\omega| is missing.

f(x,y)=0π ⁣ ⁣P(θ,ω)ωe2πiω(xcosθ+ysinθ)dωdθf(x,y) = \int_0^{\pi}\!\!\int_{-\infty}^{\infty} P(\theta,\omega)\, |\omega|\, e^{\,2\pi i \omega (x\cos\theta + y\sin\theta)}\, d\omega\, d\theta
Low freq: denseHigh freq: sparseωH(ω)H(ω) = |ω|The area element yields |ω|Correct by multiplying |ω|

The inverse Fourier transform in polar coordinates. The Jacobian |ω| acts as a per-projection density correction.

Carrying out the ω\omega integral first yields a form that is easy to implement. Convolve each projection p(θ,)p(\theta,\cdot) with a filter kernel hh to obtain the corrected projection q(θ,)q(\theta,\cdot), then backproject it exactly as in the previous chapter's SBP. This is filtered backprojection (FBP). The frequency response of the filter is the ramp ω|\omega| multiplied by a window function W(ω)W(\omega): H(ω)=ωW(ω)H(\omega) = |\omega|\cdot W(\omega).

f(x,y)=0πq(θ,  xcosθ+ysinθ)dθ,q(θ,)=p(θ,)hf(x,y) = \int_0^{\pi} q\bigl(\theta,\; x\cos\theta + y\sin\theta\bigr)\, d\theta, \qquad q(\theta,\cdot) = p(\theta,\cdot) * h H(ω)=ωW(ω)H(\omega) = |\omega| \cdot W(\omega)

Window choice is the resolution-noise trade-off

The ideal ramp ω|\omega| keeps amplifying high frequencies in proportion to ω\omega, and it amplifies measurement noise just as much. A window function W(ω)W(\omega) is therefore applied to limit the band. Ram-Lak (a plain band-limited ramp) gives the sharpest image but is sensitive to noise. Shepp-Logan (a sinc window) rolls off the high end gently. The Hann window suppresses it even more, trading resolution for noise robustness. Choosing a window is nothing other than choosing a point on the resolution–noise trade-off.

By the convolution theorem, multiplying by H(ω)H(\omega) in the frequency domain is fully equivalent to convolving with the kernel h(s)h(s) in real space. The real-space implementation is called convolution backprojection (CBP). FBP via FFT and CBP via direct convolution with the closed-form Ram-Lak or Shepp-Logan kernels are two implementations of the same mathematics.

q(θ,s)=ωW(ω)P(θ,ω)e2πiωsdω  =  (hp)(θ,s)q(\theta, s) = \int_{-\infty}^{\infty} |\omega|\, W(\omega)\, P(\theta,\omega)\, e^{\,2\pi i \omega s}\, d\omega \;=\; (h * p)(\theta, s)

Simulation: the shape of the filters

Switch between the filters and compare the frequency response H(ω)=ωW(ω)H(\omega) = |\omega|\cdot W(\omega) with the real-space kernel h[n]h[n]. Ram-Lak is a ramp extending straight up to the Nyquist frequency, while Shepp-Logan and Hann are attenuated at the high end by their windows. The real-space kernel is positive at the center and negative on both sides. These negative lobes cancel exactly the 1/r1/r blur of backprojection.

Frequency response H(ω)

0510152025303540455001000150020002500300035004000Frequency ω (1/length)H(ω)

Real-space kernel h[n]

-15-10-5051015-5000500100015002000Detector sample nh[n]

Frequency response H(ω) = |ω|·W(ω) and real-space kernel h[n] of the reconstruction filters.

Simulation: projection profile before and after filtering

The projection p(θ,)p(\theta,\cdot) of the selected phantom at one angle is overlaid with the filtered profile q(θ,)q(\theta,\cdot). Filtering changes three things: the object's edges are emphasized, the values drop in flat interior regions, and the profile goes negative just outside the object. These negative parts are what cancel the blur that neighboring rays would otherwise paint in during backprojection.

Phantom

WL 0.500 / WW 1.00Right-drag / Shift+drag: adjust WL/WW

p(θ,·) and q(θ,·)

Computing…

The projection profile p(θ,·) at one angle, overlaid with its filtered version q(θ,·).

Simulation: FBP reconstruction

SBP (left) and FBP (right) are reconstructed from the same projection data; filter "None" is equivalent to SBP. Reduce the number of projections and streaks appear even in FBP. Add noise (decrease I0I_0) and Ram-Lak amplifies it strongly, while Shepp-Logan and Hann stay smoother. RMSE is evaluated against the true phantom inside the central 90% circle of the FOV.

Phantom

WL 0.500 / WW 1.00Right-drag / Shift+drag: adjust WL/WW

Reconstruction filter

SBP (no filter)

Computing…
RMSE (vs. truth)

FBP

Computing…
RMSE (vs. truth)

SBP (left) and FBP (right) reconstructions from the same projection data.

The key steps in FBP

The Fourier slice theorem showed that the 1D spectrum of a projection is a radial slice of the object's 2D spectrum. FBP applies the polar-sampling density correction ω|\omega| to the projections before backprojecting. Written as a real-space convolution it becomes CBP, and the two are equivalent. The window function W(ω)W(\omega) sets the resolution–noise trade-off. Everything so far assumed parallel beams. The next chapter turns to the fan-beam geometry used by real CT scanners and its reconstruction.

This Fourier slice theorem is not CT's alone. In the MRI part (Chapter 16), gradient fields measure the object's 2D spectrum directly. The Fourier space that CT touched indirectly through projections is scanned head-on by MRI.

References

On this page