Diffractionless Tomography

Classical tomography is based on the assumption that the illuminating light travels in straight lines through the object. While this assumption is only valid for waves of very short wavelength such as, for example, x-rays, it has also been extensively used as an approximation for the light in the visible spectrum.

The Radon transform describes the relationship between a $D$-dimensional function and its projection onto a $D-1$ dimensional hyperplane. In practice, we are often interested in the cases when $D = 2$ or $D = 3$, which correspond to the projection of a two-dimensional (2D) surface onto a line or of a three-dimensional (3D) volume onto a plane, respectively. Generally, it is sufficient to consider the problem in 2D, since, the 3D case can be solved by decomposing it into a succession of 2D slices.

Consider the tomographic problem illustrated in the following figure.

Let $\Omega \in \mathbb{R}^2$ be a bounded, 2D domain which contains an object characterized by a function $f(\boldsymbol{x})$ with $\boldsymbol{x} = (x, y)$. We assume that $f$ varies within $\Omega$, but is zero outside of it. We probe the object by illuminating it with parallel, indefinitely thin beams of light that travel in the direction making an angle $\theta \in [0, \pi]$ with respect to the $y$-axis. We collect measurements along the $t$-axis, orthogonal to the direction of light propagation. Our objective is to reconstruct the object $f$ given the measurements $p_\theta(t)$ for $\theta \in [0, \pi]$ and $t \in \mathbb{R}$. This measurement problem can be described mathematically as

where $\delta$ is the Dirac distribution, $\boldsymbol{\theta} = (\cos \theta, \sin \theta)$ is a unit vector.  We can rewrite the equation by using the following variable change

as

The operator $\mathcal{R}: L_2(\mathbb{R}^2) \rightarrow L_2(\mathbb{R} \times [0, \pi])$ is called the Radon transform after Johann Radon (1887-1956) who introduced it in 1917. The data $\{p_\theta(t)\}_{\theta \in [0, \pi], t \in \mathbb{R}}$ generated by the transform is often called the sinogram, since it maps a point into a sinusoid. To see this consider a point $\boldsymbol{x}_0 = (x_0, y_0)$, whose projection onto the $t$-axis will be $t_0(\theta) = x_0 \cos \theta + y_0 \sin \theta$, which can be represented in polar coordinates $(r, \phi)$, with $x_0 = r \cos \phi$ and $y_0 = r \sin \phi$, as $t_0(\theta) = r \cos (\theta-\phi)$. Hence, the trajectory of the point $\boldsymbol{x}_0$ is a cosine of radius $r$ and shift $\phi$.

Fourier Slice Theorem

Fourier slice theorem is one of the most important results from classical tomography, which establishes the connection between the data $p_\theta(t)$ and the function $f(\boldsymbol{x})$ in Fourier space.

Theorem: The 1D Fourier transform of the projected data $\hat{p}_\theta(\omega) = \mathcal{F}_{\text{1D}}\{p_\theta(t)\}$ corresponds to a slice of the 2D Fourier transform of the function $\hat{f}(\boldsymbol{\omega}) = \mathcal{F}_{\text{2D}}\{f(\boldsymbol{x})\}$, with $\boldsymbol{\omega} = (\omega_x, \omega_y)$, taken along the angle $\theta$ through the origin, or more concisely

To establish this result, we consider the Fourier transform

\begin{align*}
\hat{p}_\theta(\omega) &= \int_\mathbb{R} p_\theta(t) \mathrm{e}^{-\mathrm{j} \omega t} \mathrm{d} t \\
&= \int_\mathbb{R} \left [\int_{\mathbb{R}^2} f(\boldsymbol{x}) \delta(\langle \boldsymbol{x}, \boldsymbol{\theta} \rangle - t) \mathrm{d} \boldsymbol{x} \right] \mathrm{e}^{-\mathrm{j} \omega t} \mathrm{d} t \\
&= \int_{\mathbb{R}^2} f(\boldsymbol{x}) \mathrm{e}^{- \mathrm{j} \omega \langle \boldsymbol{x}, \boldsymbol{\theta} \rangle } \mathrm{d} \boldsymbol{x} \\
&= \hat{f}(\omega \cos \theta, \omega \sin \theta),
\end{align*}

where in the second equality use used the definition of the Radon transform.

The remarkable aspect of the Fourier Slice Theorem is that it allows one to invert the Radon transform by (a) collecting measurements for all $\theta \in [0, \pi]$, (b) evaluating the 1D Fourier transform of these measurements and using them to fill the 2D Fourier space, and (c) evaluating inverse 2D Fourier transform to form the image.

Backprojection

We now define the backprojection operator $\mathcal{R}^\ast: L_2(\mathbb{R} \times [0, \pi]) \rightarrow L_2(\mathbb{R}^2)$

which is in fact the adjoint of the Radon transform, i.e., for all $p \in L_2(\mathbb{R} \times [0, \pi])$ and for all $f \in L_2(\mathbb{R}^2)$, we have that

Intuitively, for each point $\boldsymbol{x}$, backprojection collects all the projections that passed through that point.

Filtered Backprojection

Consider the following inverse Fourier transform

\begin{align*}
f(\boldsymbol{x})
&= \frac{1}{(2\pi)^2} \int_{\mathbb{R}^2} \hat{f}(\boldsymbol{\omega}) \mathrm{e}^{\mathrm{j} \langle \boldsymbol{x}, \boldsymbol{\omega} \rangle} \mathrm{d} \boldsymbol{\omega} \\
&= \frac{1}{(2\pi)^2} \int_0^\pi \int_\mathbb{R} \hat{f}(\omega \cos \theta, \omega \sin \theta) \mathrm{e}^{\mathrm{j} \omega \langle \boldsymbol{x}, \boldsymbol{\theta} \rangle} |\omega| \mathrm{d} \omega \mathrm{d} \theta\\
&= \frac{1}{(2\pi)^2} \int_0^\pi \int_\mathbb{R} |\omega| \hat{p}_\theta(\omega) \mathrm{e}^{\mathrm{j} \omega \langle \boldsymbol{x}, \boldsymbol{\theta} \rangle} \mathrm{d} \omega \mathrm{d} \theta \\
&= \int_0^\pi \left[\frac{1}{2\pi}\int_\mathbb{R} \frac{|\omega|}{2\pi} \, \hat{p}_\theta(\omega) \mathrm{e}^{\mathrm{j} \omega \langle \boldsymbol{x}, \boldsymbol{\theta} \rangle} \mathrm{d} \omega\right] \mathrm{d} \theta \\
&= \int_0^\pi q_\theta(x \cos \theta + y \sin \theta) \mathrm{d} \theta
\end{align*}
where we performed the variable change $\omega_x = \omega \cos \theta$ and $\omega_y = \omega \sin \theta$, which gives the Jacobian $J(\omega, \theta) = \omega$. This implies that it is possible to reconstruct the function $f$ by 1D filtering of the Radon data with

and then applying the backprojection operator $\mathcal{R}^\ast$ to the result $q_\theta(t) = (h \ast p_\theta)(t)$. To read the PDF version of this post click here.