The Feldkamp David Kress (FDK) algorithm is often used in the reconstruction of tomographic data where the radiograms are acquired using a conical X-ray beam. The original article is found here:

Feldkamp, L. A. (1984). Practical cone-beam algorithm Sfrdr I _ f. America, 1(6), 612–619. https://doi.org/10.1364/JOSAA.1.000612

The notation we will use in the following document is taken from this thesis:

Turbell, H. (2001). Cone-Beam Reconstruction Using Filtered Backprojectionn. Science And Technology. Retrieved from http://citeseerx.ist.psu.edu/viewdoc/download?doi=

Full 3D reconstruction is usually performed using this algorithm, but we will here modify is slightly to more efficiently reconstruct an axisymmetric tomogram.

Full 3D reconstruct

In its original form, the reconstructed tomogram \(f_{FDK}(x,y,z)\) is determined by the following equation:

\begin{equation} f_{FDK}(x,y,z) = \int_0^{2\pi} \frac{R^2}{U(x,y,\beta)^2} \tilde{p}^F (\beta, a(x,y,\beta),b(x,y,z,\beta))d\beta \end{equation}


\begin{equation} \tilde{p}^F(\beta,a,b) = (\frac{R}{\sqrt[]{R^2+a^2+b^2}} p (\beta,a,b)) * g^P(a) \end{equation}

is the filtered and weighted radiograms. \(p (\beta,a,b)\) is the radiogram acquired for angle \(\beta\) wheras \(a\) and \(b\) denotes the sensor coordinates and \(R\) is the sensor to specimen distance. A ramp filter \(g^P(a)\) is applied in the horizontal direction of the sensor by means of convolution.

The term \(U(x,y,\beta)\) is determined by:

\begin{equation} U(x,y,\beta) = R +x\cos \beta + y \sin \beta \end{equation}

where \(x\) and \(y\) are coordinates to material points in the specimen.

The sensor coordinates \(a\) and \(b\) corresponding to the material point defined by the \(x\), \(y\) and \(z\) coordinates, for a given angle \(\beta\) can be determined by:

\begin{equation} a(x,y,\beta) = R \frac{-x \sin \beta + y \cos \beta}{R + x \cos \beta + y \sin \beta} \end{equation}
\begin{equation} b(x,y,z\beta) = z \frac{R}{R+x\cos \beta + y \sin \beta} \end{equation}


In the case where the tomogram \(f_{FDK}(x,y,z)\) is axisymmetric around a rotational axis tomogram \(z\), all radial slices of the tomogram should be equal.

We here reduce the tomographic problem by assuming that all projections \(p\) are independent of \(\beta\), and we reconstruct only the plaing laying in \(x=0\) giving:

\begin{equation} f_{FDK}(y,z) = \int_0^{2\pi} \frac{R^2}{U(y,\beta)^2} \tilde{p}^F ( a(y,\beta),b(y,z,\beta))d\beta \end{equation}


\begin{equation} a(y,\beta) = R \frac{ y \cos \beta}{R + y \sin \beta} \end{equation}
\begin{equation} b(y,z\beta) = z \frac{R}{R+ y \sin \beta} \end{equation}

The values of \(\tilde{p}^F (a(x,y,\beta),b(x,y,z,\beta))\) are obtained by means of interpolation employing bi-cubic splines.