1 Introduction

Xray computed tomography (CT) is a common diagnostic imaging modality with millions of scans performed each year. Depending on the Xray energy and the imaged anatomy, 30–60\(\%\) of the incident Xray radiation is scattered by the body [15, 51, 52]. Currently, this large fraction, being regarded as noise, is either blocked from reaching the detectors or discarded algorithmically [10, 15, 20, 27, 33, 34, 38, 51, 52]. An anti-scatter grid (ASG) is typically used to block photons scattered by the body (Fig. 1), letting only a filtered version pass to the detectors. Scatter statistics are sometimes modeled and measured in order to counter this “noise” algorithmically [20, 27, 32, 44]. Unfortunately, scatter rejection techniques also discard a sizable portion of non-scattered photons.

Scatter rejection has been necessitated by reconstruction algorithms used in conventional CT. These algorithms assume that radiation travels in a straight line through the body, from the Xray source to any detector, according to a linear, attenuation-based transfer model. This simplistic model, which assigns a linear attenuation coefficient to each reconstructed voxel in the body, simplifies the mathematics of Xray radiative transfer at the expense of accuracy and radiation dose to the patient. For example, the Bucky factor [7], i.e. the dose amplification necessitated by an ASG, ranges from \(2\times \) to \(6\times \). Motivated by the availability of fast, inexpensive computational power, we reconsider the tradeoff between computational complexity and model accuracy.

Fig. 1.
figure 1

In standard CT [left panel], an anti-scatter grid (ASG) near the detectors blocks the majority of photons scattered by the body (red), and many non-scattered photons. An ASG suits only one projection, necessitating rigid rotation of the ASG with the source. Removing the ASG [right panel] enables simultaneous multi-source irradiation and allows all photons passing through the body to reach the detector. Novel analysis is required to enable Xray scattering CT. (Color figure online)

In this work, we remove the ASG in order to tap scattered Xray photons for the image reconstruction process. We are motivated by the following potential advantages of this new source of information about tissue: (i) Scattering, being sensitive to individual elements comprising the tissue [5, 11, 35, 38], may help deduce the chemical composition of each reconstructed voxel; (ii) Analogous to natural vision which relies on reflected/scattered light, back-scatted Xray photons may enable tomography when 360 \(^\circ \) access to the patient is not viable [22]; (iii) Removal of ASG will simplify CT scanners (Fig. 1) and enable \(4^\mathrm{th}\) generation (a static detector ring) [9] and \(5^\mathrm{th}\) generation (static detectors and distributed sources) [15, 51] CT scanners; (iv) By using all the photons delivered to the patient, the new design can minimize radiation dose while avoiding related reconstruction artifacts [40, 46] related to ASGs.

High energy scatter was previously suggested [5, 10, 22, 31, 38] as a source of information. Using a traditional \(\gamma \)-ray scan, Ref. [38] estimated the extinction field of the body. This field was used in a second \(\gamma \)-ray scan to extract a field of Compton scattering. Refs. [5, 38] use nuclear \(\gamma \)-rays (\({\mathscr {O}}(100)\) keV) with an energy-sensitive photon detector and assume dominance of Compton single scattering events. Medical Xrays (\({\mathscr {O}}(10)\) keV) significantly undergo both Rayleigh and Compton scattering. Multiple scattering events are common and there is significant angular spread of scattering angles. Unlike visible light scatter [13, 14, 17,18,19, 29, 30, 36, 42, 45, 48, 49], Xray Compton scattering is inelastic because the photon energy changes during interaction; this, in turn, changes the interaction cross sections. To accommodate these effects, our model does not limit the scattering model, angle and order and is more general than that in [13, 14, 19, 29]. To handle the richness of Xrays interactions, we use first-principles for model-based image recovery.

2 Theoretical Background

2.1 Xray Interaction with an Atom

An Xray photon may undergo one of several interactions with an atom. Here are the major interactions relevantFootnote 1 to our work.

Rayleigh Scattering: An incident photon interacts with a strongly bounded atomic electron. Here the photon energy \(E_b\) does not suffice to free an electron from its bound state. No energy is transferred to or from the electron. Similarly to Rayleigh scattering in visible light, the photon changes direction by an angle \(\theta _b\) while maintaining its energy. The photon is scattered effectively by the atom as a whole, considering the wave function of all \(Z_k\) electrons in the atom. Here \(Z_k\) is the atomic number of element k. This consideration is expressed by a form factor, denoted \(F^2(E_b,\theta _b,Z_k)\), given by [21]. Denote solid angle by \(d\varOmega \). Then, the Rayleigh differential cross section for scattering to angle \(\theta _b\) is

$$\begin{aligned} \frac{d\sigma ^\mathrm{Rayleigh}_k (E_b,\theta _b)}{d\varOmega } = \frac{r_\mathrm{e}^2}{2} \left[ 1 + \cos ^{2}(\theta _b) \right] F^2(E_b,\theta _b,Z_k) \;, \end{aligned}$$
(1)

where \(r_\mathrm{e}\) is the classical electron radius.

Compton Scattering: In this major Xray effect, which is inelastic and different from typical visible light scattering, the photon changes its wavelength as it changes direction. An incident Xray photon of energy \(E_b\) interacts with a loosely bound valence electron. The electron is ionized. The scattered photon now has a lower energy, \(E_{b+1}\), given by a wavelength shift:

$$\begin{aligned} \varDelta \lambda = h\mathtt{c} \left( \frac{1}{E_{b+1}}- \frac{1}{E_b} \right) = \frac{h}{m_\mathrm{e} \mathtt{c}}(1-\cos {\theta _b}). \end{aligned}$$
(2)

Here h is Planck constant, \( \mathtt{c}\) is the speed of light, and \(m_\mathrm{e}\) is electron mass. Using \(\epsilon = \frac{E_{b+1}}{E_b}\), the scattering cross section [26] satisfies

$$\begin{aligned} \frac{d\sigma ^\mathrm{compton}_k}{d\epsilon } = \pi r_\mathrm{e}^2 \frac{m_e \mathtt{c}^2}{E_b} Z_k \left[ \frac{1}{\epsilon } + \epsilon \right] \left[ 1 - \frac{\epsilon \sin ^2(\theta _b)}{1 + \epsilon ^2}\right] \;. \end{aligned}$$
(3)

Photo-Electric Absorption: In this case, an Xray photon transfers its entire energy to an atomic electron, resulting in a free photoelectron and a termination of the photon. The absorption cross-section of element k is \(\sigma ^\mathrm{absorb}_k(E_b)\).

The scattering interaction is either \( {\textit{process}}\in \{\mathrm{Rayleigh},\mathrm{Compton}\}\). Integrating over all scattering angles, the scattering cross sections are

$$\begin{aligned} \sigma ^\mathrm{process}_k (E_b)= \int _{4\pi } \frac{d\sigma ^\mathrm{process}_k (E_b,\theta _b)}{d\varOmega } d\varOmega \;\;, \end{aligned}$$
(4)
$$\begin{aligned} \sigma ^\mathrm{scatter}_k (E_b)= \sigma ^\mathrm{Rayleigh}_k (E_b) + \sigma ^\mathrm{Compton}_k (E_b) \;\;. \end{aligned}$$
(5)

The extinction cross section is

$$\begin{aligned} \sigma ^\mathrm{extinct}_k(E_b)= \sigma ^\mathrm{scatter}_k (E_b) + \sigma ^\mathrm{absorb}_k (E_b) \;\;. \end{aligned}$$
(6)

Several models of photon cross sections exist in the literature, trading complexity and accuracy. Some parameterize the cross sections using experimental data [6, 21, 47]. Others interpolate data from publicly evaluated libraries [37]. Ref. [8] suggests analytical expressions. Section 3 describes our chosen model.

2.2 Xray Macroscopic Interactions

In this section we move from atomic effects to macroscopic effects in voxels that have chemical compounds and mixtures. Let \(N^\mathrm{a}\) denote Avogadro’s number and \(A_k\) the molar mass of element k. Consider a voxel around 3D location \(\mathbf{x}\). Atoms of element k reside there, in mass concentration \(c_k(\mathbf{x})\) [\(\mathrm{grams}/\mathrm{cm}^3\)]. The number of atoms of element k per unit volume is then \(N^\mathrm{a}c_k(\mathbf{x})/A_k\). The macroscopic differential cross sections for scattering are then

$$\begin{aligned} \frac{d\varSigma ^\mathrm{process}(\mathbf{x},\theta _b,E_b)}{d\varOmega } =\sum _{k\in \mathrm{{elements}}} \frac{N^\mathrm{a}}{A_k} c_k(\mathbf{x}) \frac{d\sigma ^\mathrm{process}_k(E_b,\theta _b) }{d\varOmega }. \end{aligned}$$
(7)

The Xray attenuation coefficient is given by

$$\begin{aligned} \mu (\mathbf{x},E_b) = \sum _{k\in \mathrm{{elements}}} \frac{N^\mathrm{a}}{A_k} c_k(\mathbf{x}) \sigma ^\mathrm{extinct}_k(E_b). \end{aligned}$$
(8)

2.3 Linear Xray Computed Tomography

Let \(I_0({\varvec{\psi }},E_b)\) be the Xray source radiance emitted towards direction \({\varvec{\psi }}\), at photon energy \(E_b\). Let \(S({\varvec{\psi }})\) be a straight path from the source to a detector. In traditional CT, the imaging model is a simplified version of the radiative transfer equation (see [12]). The simplification is expressed by the Beer-Lambert law,

$$\begin{aligned} I({\varvec{\psi }},E_b)=I_0({\varvec{\psi }},E_b)\exp \left[ - \int _{S({\varvec{\psi }})} \mu (\mathbf{x},E_b)d\mathbf{x}\right] \;. \end{aligned}$$
(9)

Here \(I({\varvec{\psi }},E_b)\) is the intensity arriving to the detector in direction \({\varvec{\psi }}\). This model assumes that the photons scattered into \(S({\varvec{\psi }})\) have no contribution to the detector signals. To help meet this assumption, traditional CT machines use an ASG between the object and the detector array. This model and the presence of the ASG necessarily mean that:

  1. 1.

    Scattered Xray photons, which constitute a large fraction of the total irradiation, are eliminated by the ASG.

  2. 2.

    Scattered Xray photons that reach the detector despite the ASG are treated as noise in the simplified model (9).

  3. 3.

    CT scanning is sequential because an ASG set for one projection angle cannot accommodate a source at another angle. Projections are obtained by rotating a large gantry with the detector, ASG, and the Xray source bolted on it.

  4. 4.

    The rotational process required by the ASG imposes a circular form to CT machines, which is generally not optimized for human form.

Medical Xray sources are polychromatic while detectors are usually energy-integrating. Thus, the attenuation coefficient \(\mu \) is modeled for an effective energy \(E^*\), yielding the linear expression

$$\begin{aligned} \ln \frac{I({\varvec{\psi }})}{I_0({\varvec{\psi }})} \approx - \int _{S({\varvec{\psi }})} \mu (\mathbf{x},E^*)d\mathbf{x}. \end{aligned}$$
(10)

Measurements I are acquired for a large set of projections, while the source location and direction vary by rotation around the object. This yields a set of linear equations as Eq. (10). Tomographic reconstruction is obtained by solving this set of equations. Some solutions use filtered back-projection [50], while others use iterative optimization such as algebraic reconstruction techniques [16].

3 Xray Imaging Without an Anti-Scatter Grid

In this section we describe our forward model. It explicitly accounts for both elastic and inelastic scattering.

Fig. 2.
figure 2

[Left] Cone to screen setup. [Right] Energy distribution of emitted photons for 120 kVP (simulations), and 35 kVp (the voltage in the experiment), generated by [39].

A photon path, denoted \({\mathscr {L}}= \mathbf{x}_0 \rightarrow \mathbf{x}_1 \rightarrow ... \rightarrow \mathbf{x}_B\) is a sequence of B interaction points (Fig. 2). The line segment between \(\mathbf{x}_{b-1}\) and \(\mathbf{x}_{b}\) is denoted \(\overline{\mathbf{x}_{b-1}\mathbf{x}_{b}}\). Following Eqs. (8 and 9), the transmittance of the medium on the line segment is

$$\begin{aligned} a(\overline{\mathbf{x}_{b-1}\mathbf{x}_{b}}, E_b) = \exp \left[ -\int _{\mathbf{x}_{b-1}}^{\mathbf{x}_{b}} \mu (\mathbf{x},E_b) d\mathbf{x}\right] \;. \end{aligned}$$
(11)

At each scattering node b, a photon arrives with energy \(E_{b}\) and emerges with energy \(E_{b+1}\) toward \(\mathbf{x}_{b+1}\). The unit vector between \(\mathbf{x}_{b}\) and \(\mathbf{x}_{b+1}\) is denoted \(\widehat{\mathbf{x}_{b}\mathbf{x}_{b+1}}\). The angle between \(\overline{\mathbf{x}_{b-1}\mathbf{x}_{b}}\) and \(\widehat{\mathbf{x}_{b}\mathbf{x}_{b+1}}\) is \(\theta _b\). Following Eqs. (7 and 11), for either \({\textit{process}}\), associate a probability for a scattering event at \(\mathbf{x}_{b}\), which results in photon energy \(E_{b+1}\)

$$\begin{aligned} \begin{aligned}&p(\overline{\mathbf{x}_{b-1}\mathbf{x}_{b}}~ \widehat{\mathbf{x}_{b}\mathbf{x}_{b+1}}, E_{b+1}) = a(\overline{\mathbf{x}_{b-1}\mathbf{x}_{b}}, E_b) \frac{d\varSigma ^{\textit{process}}(\mathbf{x}_b,\theta _b,E_b)}{d\varOmega } \;. \end{aligned} \end{aligned}$$
(12)

If the process is Compton, then the energy shift \(\left( E_{b} - E_{b+1} \right) \), and angle \({\theta _b}\) are constrained by Eq. (2). Following [13], the probability \(P\) of a general path \({\mathscr {L}}\) is:

$$\begin{aligned} P({\mathscr {L}}) = \prod _{b=1}^{B-1} p(\overline{\mathbf{x}_{b-1}\mathbf{x}_{b}}~ \widehat{\mathbf{x}_{b}\mathbf{x}_{b+1}},E_{b+1} ) \;. \end{aligned}$$
(13)

The set of all paths which start at source s and terminate at detector d is denoted \(\{ s \rightarrow d\}\). The source generates \(N_\mathrm{p}\) photons. When a photon reaches a detector, its energy is \(E_B=E_{B-1}\). This energy is determined by Compton scattering along \({\mathscr {L}}\) and the initial source energy. The signal measured by the detector is modeled by the expectation of a photon to reach the detector, multiplied by the number of photons generated by the source, \(N_p\).

(14)

In Monte-Carlo, we sample this result empirically by generating virtual photons and aggregating their contribution to the sensors:

$$\begin{aligned} i_{s,d} = \sum _{{\mathscr {L}}\in \{s \rightarrow d\}} E_B({\mathscr {L}}) \;. \end{aligned}$$
(15)

Note that the signal integrates energy, rather than photons. This is in consistency with common energy integrator Xray detectors (Cesium Iodine), which are used both in our experiment and simulations.

For physical accuracy of Xray propagation, the Monte-Carlo model needs to account for many subtleties. For the highest physical accuracy, we selected the Geant4 Low Energy Livermore model [4], out of several publicly available Monte-Carlo codes [1, 23, 41]. Geant4 uses cross section data from [37], modified by atomic shell structures. We modified Geant4 to log every photon path. We use a voxelized representation of the object. A voxel is indexed v, and it occupies a domain \({\mathscr {V}}_v\). Rendering assumes that each voxel is internally uniform, i.e., the mass density of element k has a spatially uniform value \(c_k(\mathbf{x}) = c_{k,v}\), \(\forall \mathbf{x}\in {\mathscr {V}}_v\).

We dispose of the traditional ASG. The radiation sources and detectors can be anywhere around the object. To get insights, we describe two setups. Simulations in these setups reveal the contributions of different interactions:

Fig. 3.
figure 3

[Left] Fan to ring setup. [Middle] Log-polar plots of signals due to Rayleigh and Compton single scattering. The source is irradiating from left to right. [Right] Log-polar plots of signals due to single scattering, all scattering, and all photons (red). The latter include direct transmission. The strong direct transmission side lobes are due to rays that do not pass through the object. (Color figure online)

Fan to ring; monochromatic rendering (Fig. 3): A ring is divided to 94 detectors. 100 fan beam sources are spread uniformly around the ring. The Xray sources in this example are monochromatic (\(60\,\mathrm{keV}\) photons), and generate \(10^8\) photons. Consequently, pixels between \(-60\,\deg \) and \(+60\,\deg \) opposite the source record direct transmission and scatter. Detectors in angles higher than \(60\deg \) record only scatter. Sources are turned on sequentially.

The phantom is a water cube, \(25\,\mathrm{cm}\) wide, in the middle of the rig. Figure 3 plots detected components under single source projection. About \(25\%\) of the total signal is scatter, almost half of which is of high order. From Fig. 3, Rayleigh dominates at forward angles, while Compton has significant backscatter.

Cone to screen; wide band rendering (Fig. 2): This simulation uses an Xray tube source. In it, electrons are accelerated towards a Tungsten target at \(35\,\mathrm{kVp}\). As the electrons are stopped, Bremsstrahlung Xrays are emitted in a cone beam shape. Figure 2 shows the distribution of emitted photons, truncated to the limits of the detector. Radiation is detected by a wide, flat 2D screen (pixel array). This source-detector rig rotates relative to the object, capturing 180 projections.

The phantom is a discretized version of XCAT [43], a highly detailed phantom of the human body, used for medical simulations. The 3D object is composed of \(100 \times 100 \times 80\) voxels. Figure 4 shows a projection and its scattering component. As seen in Fig. 4[Left] and [40], the scattering component varies spatially and cannot be treated as a DC term.

4 Inverse Problem

We now deal with the inverse problem. When the object is in the rig, the set of measurements is \(\{i_{s,d}^\mathrm{measured}\}_{s,d}\) for \(d=1..N_\mathrm{detectors}\) and \(s=1..N_\mathrm{sources}\). A corresponding set of baseline images \(\{j_{s,d}^\mathrm{measured}\}_{s,d}\) is taken when the object is absent. The unit-less ratio \(i_{s,d}^\mathrm{measured}/j_{s,d}^\mathrm{measured}\) is invariant to the intensity of source s and the gain of detector d. Simulations of a rig empty of an object yield baseline model images \(\{j_{s,d}\}_{s,d}\).

Fig. 4.
figure 4

[Left,Middle] Scatter only and total signal of one projection (1 out of 180) of a hand XCAT phantom. [Right] Re-projection of the reconstructed volume after 45 iterations of our Xray Scattering CT (further explained in the next sections).

To model the object, per voxel v, we seek the concentration \(c_{k,v}\) of each element k, i.e., the voxel unknowns are \({\varvec{\nu }}(v) = [c_{1,v},c_{2,v},...,c_{N_\mathrm{elements},v}]\). Across all \(N_\mathrm{voxels}\) voxels, the vector of unknowns is \({\varvec{\varGamma }} = \left[ {\varvec{\nu }}(1),{\varvec{\nu }}(2),...,{\varvec{\nu }}(N_\mathrm{voxels})\right] \). Essentially, we estimate the unknowns by optimization of a cost function \(\mathscr {E}({\varvec{\varGamma }})\),

$$\begin{aligned} \hat{\varvec{{\varvec{\varGamma }}}} = \mathrm {arg}\min _{\varvec{\varGamma }>0} ~\mathscr {E}({\varvec{\varGamma }}) \;\;. \end{aligned}$$
(16)

The cost function compares the measurements \(\{i_{s,d}^\mathrm{measured}\}_{s,d}\) to a corresponding model image set \(\{i_{s,d}({\varvec{\varGamma }})\}_{s,d}\), using

$$\begin{aligned} \mathscr {E}({\varvec{\varGamma }}) = \frac{1}{2} \sum _{d=1}^{N_\mathrm{detectors}} \sum _{s=1}^{N_\mathrm{sources}} m_{s,d} \left[ i_{s,d}({\varvec{\varGamma }}) - j_{s,d}\frac{i_{s,d}^\mathrm{measured}}{j_{s,d}^\mathrm{measured}} \right] ^2 \;. \end{aligned}$$
(17)

Here \(m_{s,d}\) is a mask which we describe in Sect. 4.2. The problem (16,17) is solved iteratively using stochastic gradient descent. The gradient of \(\mathscr {E}({\varvec{\varGamma }})\) is

$$\begin{aligned} \frac{\partial \mathscr {E}({\varvec{\varGamma }}) }{\partial c_{k,v}} = \sum _{d=1}^{N_\mathrm{detectors}} \sum _{s=1}^{N_\mathrm{sources}} m_{s,d} \left[ i_{s,d}({\varvec{\varGamma }}) - j_{s,d}\frac{i_{s,d}^\mathrm{measured}}{j_{s,d}^\mathrm{measured}} \right] \frac{\partial i_{s,d}({\varvec{\varGamma }} )}{\partial c_{k,v}} \;. \end{aligned}$$
(18)

We now express \(\partial i_{s,d}({\varvec{\varGamma }} )/\partial c_{k,v}\). Inspired by [13], define a score of variable z

$$\begin{aligned} V_{k,v}\{z\} \equiv \frac{\partial \log (z)}{\partial c_{k,v}} = \frac{1}{z} \frac{\partial z}{\partial c_{k,v}}. \end{aligned}$$
(19)

From Eq. (14),

(20)

Similarly to Monte-Carlo process of Eq. (15), the derivative (20) is stochastically estimated by generating virtual photons and aggregating their contribution:

$$\begin{aligned} \frac{\partial i_{s,d}}{\partial c_{k,v}} = \sum _{{\mathscr {L}}\in \{s \rightarrow d\}} V_{k,v}\{P({\mathscr {L}})\} E_B({\mathscr {L}}) \;. \end{aligned}$$
(21)

Using Eqs. (12 and 13),

$$\begin{aligned} {\begin{matrix} &{}V_{k,v}\{P({\mathscr {L}})\} = \sum _{b=1}^{B-1}V_{k,v} \{ p(\overline{\mathbf{x}_{b-1}\mathbf{x}_{b}}~ \widehat{\mathbf{x}_{b}\mathbf{x}_{b+1}}, E_{b+1}) \} = ~~~~~~~~~~~~~~~~~\\ &{} ~~~~~\sum _{b=1}^{B-1} \left[ V_{k,v} \{a(\overline{\mathbf{x}_{b-1}\mathbf{x}_{b}}, E_b)\} + V_{k,v} \left\{ \frac{d\varSigma ^\mathrm{process}(\mathbf{x}_b,\theta _b,E_b)}{d\varOmega } \right\} \right] . \end{matrix}} \end{aligned}$$
(22)

Generally, the line segment \(\overline{\mathbf{x}_{b-1}\mathbf{x}_{b}}\) traverses several voxels, denoted \(v' \in \overline{\mathbf{x}_{b-1}\mathbf{x}_{b}}\). Attenuation on this line segment satisfies

$$\begin{aligned} a(\overline{\mathbf{x}_{b-1}\mathbf{x}_{b}}, E_b) = \prod _{v' \in \overline{\mathbf{x}_{b-1}\mathbf{x}_{b}} } a_{v'}(E_b) \;, \end{aligned}$$
(23)

where \(a_{v'}\) is the transmittance by voxel \(v'\) of a ray along this line segment. Hence,

$$\begin{aligned} V_{k,v} \{ a(\overline{\mathbf{x}_{b-1}\mathbf{x}_{b}}, E_b)\} = \sum _{v' \in \overline{\mathbf{x}_{b-1}\mathbf{x}_{b}} } V_{k,v} \{ a_{v'}(E_b)\} \;. \end{aligned}$$
(24)

Relying on Eqs. (6 and 8),

$$\begin{aligned} {\begin{matrix} V_{k,v} \{ a(\overline{\mathbf{x}_{b-1}\mathbf{x}_{b}}, E_b)\} = \left\{ \begin{array}{ll} \frac{N^\mathrm{a}}{A_{k}}\sigma ^\mathrm{extinct}_{k,v}(E_b) l_{v} &{} ~~~~\text{ if } v\in \overline{\mathbf{x}_{b-1}\mathbf{x}_{b}} \\ 0 &{} ~~~~\text{ else } \end{array} \right. \;, \end{matrix}} \end{aligned}$$
(25)

where \(l_{v}\) is the length of the intersection of line \(\overline{\mathbf{x}_{b-1}\mathbf{x}_{b}}\) with the voxel domain \({\mathscr {V}}_v\). A similar derivation yields

$$\begin{aligned} \begin{aligned}&V_{k,v} \left\{ \frac{d\varSigma ^\mathrm{process}(\mathbf{x}_b,\theta _b,E_b)}{d\varOmega } \right\} = ~~~~~~~~~~~~~~~~~~~~~~\\&~~~~~~~~~~~~ \left\{ \begin{array}{ll} \frac{N}{A_{k}} \left[ \frac{d\varSigma ^\mathrm{process}(\mathbf{x}_b,\theta _b,E_b)}{d\varOmega }\right] ^{-1} \frac{{d\sigma }^\mathrm{process}_{k}(E_b,\theta _b)}{d\varOmega } &{} ~~\text{ if } \mathbf{x}_b\in {\mathscr {V}}_v \\ 0 &{} ~~\text{ else } \end{array} \right. \;. \end{aligned} \end{aligned}$$
(26)

A Geant4 Monte-Carlo code renders photon paths, thus deriving \(i_{s,d}\) using Eq. (15). Each photon path log then yields \(\partial i_{s,d}({\varvec{\varGamma }} )/\partial c_{k,v}\), using Eqs. (21, 22, 25 and 26). The modeled values \(i_{s,d}\) and \(\partial i_{s,d}({\varvec{\varGamma }} )/\partial c_{k,v}\) then derive the cost function gradient by Eq. (18). Given the gradient (18), we solve the problem (16, 17) stochastically using adaptive moment estimation (ADAM) [25].

4.1 Approximations

Solving an inverse problem requires the gradient to be repeatedly estimated during optimization iterations. Each gradient estimation relies on Monte-Carlo runs, which are either very noisy or very slow, depending on the number of simulated photons. To reduce runtime, we incorporated several approximations.

Table 1. Elemental macroscopic scatter coefficient \(\varSigma ^\mathrm{scatter}_k\) in human tissue \([m^{-1}]\) for photon energy 60keV. Note that for a typical human torso of \({\approx }0.5\,\mathrm{m}\), the optical depth of Oxygen in blood is \({\approx }9\), hence high order scattering is significant.

Fewer Photons. During iterations, only \(10^7\) photons are generated per source when rendering \(i_{s,d}({\varvec{\varGamma }} )\). For deriving \(\partial i_{s,d}({\varvec{\varGamma }} )/\partial c_{k,v}\), only \(10^5\) photons are tracked.

A reduced subset of chemical elements. Let us focus only on elements that are most relevant to Xray interaction in tissue. Elements whose contribution to the macroscopic scattering coefficient is highest, cause the largest deviation from the linear CT model (Sect. 2.3). From (5), the macroscopic scattering coefficient due to element k is \(\varSigma ^\mathrm{scatter}_k (\mathbf{x},E_b)= {(N^\mathrm{a}} / {A_k}) c_k(\mathbf{x}) \sigma ^\mathrm{scatter}_k(E_b)\). Using the typical concentrations \(c_k\) of all elements k in different tissues [43], we derive \(\varSigma ^\mathrm{scatter}_k\), \(\forall k\). The elements leading to most scatter are listed in Table 1. Optimization of \({\varvec{\varGamma }}\) focuses only on the top six.

Furthermore, we cluster these elements into three arch-materials. As seen in Fig. 5, Carbon (C), Nitrogen (N) and Oxygen (O) form a cluster having similar absorption and scattering characteristics. Hence, for Xray imaging purposes, we treat them as a single arch-material, denoted \(\widetilde{\mathrm{O}}\). We set the atomic cross section of \(\widetilde{\mathrm{O}}\) as that of Oxygen, due to the latter’s dominance in Table 1. The second arch-material is simply hydrogen (H), as it stands distinct in Fig. 5. Finally, note that in bone, Calcium (Ca) and Phosphor (P) have scattering significance. We thus set an arch-material mixing these elements by a fixed ratio \(c_{\mathrm{P},v}/c_{\mathrm{Ca},v}=0.5\), which is naturally occurring across most human tissues. We denote this arch-material \(\widetilde{\mathrm{Ca}}\). Following these physical considerations, the optimization thus seeks the vector \({\varvec{\nu }}(v) = [ c_{\widetilde{\mathrm{O}},v},c_{\mathrm{H},v},c_{\widetilde{\mathrm{Ca}},v} ]\) for each voxel v.

Fig. 5.
figure 5

[Left] Absorption vs. scattering cross sections (\(\sigma ^\mathrm{absorb}_k\) vs. \(\sigma ^\mathrm{scatter}_k\)) of elements which dominate scattering by human tissue. Oxygen (O), Carbon (C) and Nitrogen (N) form a tight cluster, distinct from Hydrogen (H). They are all distinct from bone-dominating elements Calcium (Ca) and Phosphor (P). [Right] Compton vs. Rayleigh cross sections (\(\sigma ^\mathrm{Compton}_k\) vs. \(\sigma ^\mathrm{Rayleigh}_k\)). Obtained for 60keV photon energy.

No Tracking of Electrons. We modified Geant4, so that object electrons affected by Xray photons are not tracked. This way, we lose later interactions of these electrons, which potentially contribute to real detector signals.

Ideal Detectors. A photon deposits its entire energy at the detector and terminates immediately upon hitting the detector, rather than undergoing a stochastic set of interactions in the detector.

4.2 Conditioning and Initialization

Poissonian photon noise means that \(i_{s,d}^\mathrm{measured}\) has uncertainty of \((i_{d,s}^\mathrm{measured})^{1/2}\). Mismatch between model and measured signals is thus more tolerable in high-intensity signals. Thus, Eq. (18) includes a mask \(m_{s,d}\sim (i_{d,s}^\mathrm{measured})^{-1/2}\). Moreover, \(m_{s,d}\) is null if \(\{s \rightarrow d\}\) is a straight ray having no intervening object. Photon noise there is too high, which completely overwhelms subtle off-axis scattering from the object. These sd pairs are detected by thresholding \(i_{s,d}^\mathrm{measured}/j_{s,d}^\mathrm{measured}\).

Due to extinction, a voxel v deeper in the object experiences less passing photons \(P_v\) than peripheral object areas. Hence, \(\partial i_{s,d}({\varvec{\varGamma }} )/\partial c_{k,v}\) is often much lower for voxels near the object core. This effect may inhibit conditioning of the inverse problem, jeopardizing its convergence rate. We found that weighting \(\partial i_{s,d}({\varvec{\varGamma }})/\partial c_{k,v}\) by \((P_v +1)^{-1}\) helps to condition the approach.

Optimization is initialized by the output of linear analysis (Sect. 2.3), which is obtained by a simultaneous algebraic reconstruction technique (SART) [3]. That is, the significant scattering is ignored in this initial calculation. Though it erroneously assumes we have an ASG, SART is by far faster than scattering-based analysis. It yields an initial extinction coefficient \(\mu _v^{(0)}\), which provides a crude indicator to the tissue type at v.

Beyond extinction coefficient, we need initialization on the relative proportions of \([c_{\widetilde{\mathrm{O}},v},c_{\mathrm{H},v},c_{\widetilde{\mathrm{Ca}},v}]\). This is achieved using a rough preliminary classification of the tissue type per v, based on \(\mu _v^{(0)}\), through the DICOM toolbox [24]. For this assignment, DICOM uses data from the International Commission on Radiation Units and Measurements (ICRU). After this initial setting, the concentrations \([c_{\widetilde{\mathrm{O}},v},c_{\mathrm{H},v},c_{\widetilde{\mathrm{Ca}},v}]\) are free to change. The initial extinction and concentration fields are not used afterwards.

5 Recovery Simulations

Prior to a real experiment, we performed simulations of increasing complexity. Simulations using a Fan to ring; box phantom setup are shown in [12]. We now present the Cone to screen; XCAT phantom example. We initialized the reconstruction with linear reconstruction using an implementation of the FDK [50] algorithm. We ran several tests:

Table 2. Reconstruction errors. Linear tomography vs. Xray Scattering CT recovery
  1. (i)

    We used the XCAT hand materials and densities. We set the source tube voltage to \(120 \mathrm{kVp}\), typical to many clinical CT scanners (Fig. 2). Our scattering CT algorithm ran for 45 iterations. In every iteration, the cost gradient was calculated based on random three (out or 180) projections. To create a realistic response during data rendering, \(5 \times 10^7\) photons were generated in every projection. A re-projection after recovery is shown in Fig. 4. Results of a reconstructed slice are shown in Fig. 6[Top]. Table 2 compares linear tomography to our Xray Scattering CT using the error terms \(\epsilon , \delta _\mathrm{mass}\) [2, 12, 19, 29, 30]. Examples of other reconstructed slices are given in [12]. Figure 6[Bottom] shows the recovered concentrations \(c_k(\mathbf{x})\) of the three arch-materials described in Sect. 4. Xray scattering CT yields information that is difficult to obtain using traditional linear panchromatic tomography.

  2. (ii)

    Quality vs. dose analysis, XCAT human thigh. To assess the benefit of our method in reducing dose to the patient, we compared linear tomography with/without ASG to our scattering CT (with no ASG). Following [9, 28], the ASG was simulated with fill factor 0.7, and cutoff incident scatter angle \(\pm 6^{\circ }\). We measured the reconstruction error for different numbers of incident photons (proportional to dose). Figure 7 shows the reconstructions \(\epsilon \) error, and the contrast to noise ratio (CNR) [40].

  3. (iii)

    Single-Scatter Approximation [17] was tested as a means to advance initialization. In our thigh test (using \(9\times 10^9\) photons), post linear model initialization, single-scatter analysis yields \(\mathrm{CNR}=0.76\). Using single-scatter to initialize multi-scatter analysis yields eventual \(\mathrm{CNR}=1.02\). Histograms of scattering events in the objects we tested are in [12].

Fig. 6.
figure 6

[Top] Results of density recovery of slice # 40 (Z-axis, defined in Fig. 2) of the XCAT hand phantom. [Bottom] concentration of our three arch-materials. Material \(\widetilde{\mathrm{O}}\) appear in all tissues and in the surrounding air. Material \(\widetilde{\mathrm{Ca}}\) is dominant in the bones. Material \(\mathrm{H}\) appears sparsely in the soft tissue surrounding the bones.

Fig. 7.
figure 7

Simulated imaging and different recovery methods of a human thigh.

6 Experimental Demonstration

The experimental setup was identical to the Cone to screen simulation of the XCAT hand. We mounted a Varian flat panel detector having resolution of \(1088 \times 896\) pixels. The source was part of a custom built 7-element Xray source, which is meant for future experiments with several sources turned on together. In this experiment, only one source was operating at 35kVp, producing a cone beam. This is contrary to the simulation (Sect. 5) where the Xray tube tube voltage is \(120\,\mathrm{kVp}\). We imaged a swine lung, and collected projections from 180 angles. The raw images were then down-sampled by 0.25. Reconstruction was done for a \({100 \times 100 \times 80}\) 3D grid. Here too, linear tomography provided initialization. Afterward the scattering CT algorithm ran for 35 iterations. Runtime was \({\approx }\)6 min/iteration using 35 cores of Intel(R) Xeon(R) E5-2670 v2 @ 2.50 GHz CPU’s. Results of the real experiment are shown in Figs. 8 and 9.

Fig. 8.
figure 8

Real data experiment. Slice (\(\#36\)) of the reconstructed 3D volume of the swine lung. [Left] Initialization by linear tomography. [Right]: Result after 35 iterations of scattering tomography. All values represent mass density (grams per cubic centimeter).

Fig. 9.
figure 9

Real data experiment. [Left] One projection out of 180, acquired using the experimental setup detailed in [12]. [Right] Re-projection of the estimated volume after running our Xray Scattering CT method for 35 iterations.

7 Discussion

This work generalized Xray CT to multi-scattering, all-angle imaging, without an ASG. Our work, which exploits scattering as part of the signal rather than rejecting it as noise, generalizes prior art on scattering tomography by incorporating inelastic radiative transfer. Physical considerations about chemicals in the human body are exploited to simplify the solution.

We demonstrate feasibility using small body parts (e.g., thigh, hand, swine lung) that can fit in our experimental setup. These small-sized objects yield little scatter (scatter/ballistic \({\approx }0.2\) for small animal CT [33]). As a result, improvement in the estimated extinction field (e.g., that in Fig. 6 [Top]) is modest. Large objects have much more scattering (see caption of Table 1). For large body parts (e.g., human pelvis), scatter/ballistic >1 has been reported [46]. Being large, a human body will require larger experimental scanners than ours.

Total variation can improve the solution. A multi-resolution procedure can be used, where the spatial resolution of the materials progressively increases [13]. Runtime is measured in hours on our local computer server. This time is comparable to some current routine clinical practices (e.g. vessel extraction). Runtime will be reduced significantly using variance reduction techniques and Monte-Carlo GPU implementation. Hence, we believe that scattering CT can be developed for clinical practice. An interesting question to follow is how multiple sources in a \(5^\mathrm{th}\) generation CT scanner can be multiplexed, while taking advantage of the ability to process scattered photons.