# FDK¶

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:

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:

$$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$$

where

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

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:

$$U(x,y,\beta) = R +x\cos \beta + y \sin \beta$$

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:

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

## Axis-symmetry¶

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:

$$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$$

where

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

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.