Local tomography and artifacts
The most common local tomography reconstruction method is extrapolating the sinogram before computing the filtered backprojection (FBP), hereafter denoted padded FBP. The extrapolation is usually done by replicating the sinogram boundary values. This prevents truncation artifact (Gibbs phenomenon) from occurring, and often provides acceptable results [10].
However, this technique can fail when the ROI is surrounded by anisotropic and/or strongly absorbing material or when the reconstruction has intrinsically low contrast (for example different parts with the same linear absorption coefficient).
The notable local tomography artifact is the cupping effect. On a reconstructed image, local tomography artifacts appear as a varying contrast. The gray values are typically higher far from the center than close to the center, forming a “cup.” The cupping is also visible when plotting an image line passing through the center, as a function of the pixel location. Such lines are hereby called profiles, for example, the vertical line profile is the vertical line of the image passing through the center.
Figure 2 shows the Shepp–Logan phantom with a region of interest. Figure 3 shows the reconstruction with padded FBP, and Fig. 4 shows line profile of the reconstruction. The cupping effect is clearly visible in both the reconstruction image and profile. This cupping effect can be detrimental for the post-reconstruction analysis, for example, segmentation.
In this work, we examine a family of exact reconstruction methods based on a known subregion. We implement a method handling a reduced number of unknowns by expressing the image in a coarse basis in order to correct the cupping effect.
Iterative reconstruction
Iterative methods in tomography are based on optimization algorithms solving problem (1)
$$\begin{aligned} P x = d \end{aligned}$$
(1)
where P is the model of the projection operator, d the acquired data, and x is the unknown volume to recover. In the remainder of this paper, we consider reconstruction of a single slice rather than a volume, so x shall denote two-dimensional slices. In parallel beam geometry, as it is the case in synchrotrons, reconstruction can be performed by reconstructing the slices independently.
In this context, the reconstructed slice x is an image of support \(N \times N = N^2\), where N is the number of pixels of the detector horizontally. The sinogram d support is \(N \times N_p\), where \(N_p\) is the number of projections. Thus, the projector is theoretically an operator of dimensions \((N \times N_p, \, N^2)\), assuming that slices are stacked as one-dimensional \(N^2\) vectors, and sinograms are stacked as one-dimensional \(N \times N_p\) vectors.
As (1) is ill-posed in general, a surrogate problem is solved instead, for example, problem (2).
$$\begin{aligned} \underset{x}{{\text {argmin}}} \; \left\{ \left\| P x - d \right\| _2^2 + \phi (x) \right\} \end{aligned}$$
(2)
where \(\left\| \cdot \right\| _2^2\) is the squared Frobenius norm and \(\phi (x)\) is a function bringing stability to the solution. A well-known example of such methods is the Total Variation minimization, which promotes images with sparse gradient.
In local tomography, problem (1) is even more ill-posed due to the incompleteness of the data d, as explained in the introductory part. In order for the solution to be acceptable, the exterior of the ROI has to be estimated. This can be done by extending the support of x to iteratively estimate the exterior by solving (3)
$$\begin{aligned} \underset{\tilde{x}}{{\text {argmin}}} \; \left\{ \left\| C \tilde{P} \tilde{x} - d \right\| _2^2 + \phi (\tilde{x}) \right\} \end{aligned}$$
(3)
where \(\tilde{x}\) is an image with extended support \(N_2 \times N_2 = N_2^2\), where \(N_2 > N\), and \(\tilde{P}\) is a wider projector adapted to this new geometry. To compute the data fidelity term (here the Euclidean distance between \(\tilde{P} \tilde{x}\) and d), the size of the projected solution has to be consistent with the acquired data. Thus, the projection is cropped by the means of an operator C to recover the original local geometry. The cropping operator C maps an extended sinogram of support \(N_2 \times N_p\) to a sinogram of support \(N \times N_p\), by keeping only the N central columns. This models the truncation in the local tomography setup, where the detector is not large enough to image the entire object support \(N_2\). In practice, the cropping operation is implemented inside the projector \(\tilde{P}\) by simply restricting the projection to the detector limited field of view N. In the formulas, the cropping operator C is explicitly separated from the projector \(\tilde{P}\) to highlight the local setup in the forward model.
Efficient implementations of the projection and backprojection operators enable to solve problem (3). The ASTRA toolbox [11], for example, has versatile geometry capabilities and built-in algorithms for solving (3) for \(\phi (x) = 0\).
In this work, we consider the case where a subregion is known. This prior knowledge on the volume can be used to constrain the sets of solutions. A uniqueness theorem was stated in [6] along with a reconstruction algorithm based on differentiated backprojection and projection onto convex sets to invert the finite Hilbert transform. This algorithm, however, is difficult to implement, and no implementation is readily available for experiments.
We focus on a simpler approach based on formalism (3). In this formulation, the prior knowledge can be encoded in several ways. The first is to enforce the values of \(\tilde{x}\) in the known region, for example, using an indicator function. The second is to add a term penalizing the distance between the values of \(\tilde{x}\) in the known region and the actual values. We adopt the latter approach, which was proposed, for example, in [12].
Let \(\Omega\) denote the domain where the values of the volume are known. It is a subset (possibly a union of subsets) of the image support \(N^2\), and we denote \(N_\Omega\) its cardinality, that is, the total number of known pixels. Let \(x_{|\Omega }\) denote the values of x inside the known region. The prior knowledge is encoded by \(\phi (x) = \lambda \left\| x_{|\Omega } - u_0 \right\| _2^2\), where \(u_0\) denotes the known values inside \(\Omega\) and \(\lambda \ge 0\) is a parameter weighting the fidelity to the known zone. Both \(x_{|\Omega }\) and \(u_0\) have \(N_\Omega\) components.
Figures 5 and 6 show the reconstruction result on the Shepp–Logan phantom with such choice of \(\phi (x)\). The cupping effect is almost removed, but the reconstructed slice is also noisy, which is a known effect of least squares minimization on an ill-posed problem when running too many iterations [13]. On the other hand, many iterations are required to reduce the cupping effect.
A workaround on this problem is adding a regularization term to stabilize the solution. A popular regularization is Total Variation (TV), promoting piecewise-constant solutions. The function \(\phi (x)\) in (3) can then be written \(\phi (x) = \lambda \left\| x_{|\Omega } - u_0 \right\| _2^2 + \beta \left\| \nabla x \right\| _1\), where \(\beta \ge 0\) weights the regularization. Figures 7 and 8 show the result of reconstruction with this method. The reconstruction is much more accurate and bears almost no difference with respect to the ground truth, which is an illustration of the uniqueness theorem stated in [6].
This approach, however, has two drawbacks. The first is using a prior which might not be accurate: in this example, Total Variation promotes piecewise-constant images and is thus not adapted for complex samples. The second drawback is on the computational side. Adding a non-differentiable prior involves to change the optimization algorithm for another probably less efficient in the sense that more iterations are required to reach convergence. In the examples, the preconditioned Chambolle–Pock algorithm described in [14] was used for the TV minimization. Approximatively, 3000 iterations are required to approximately get rid of the cupping effect (when approximatively 500 are required in the case of a complete scan), and more than 10,000 iterations are required to get the line profiles shown in Fig. 8. This approach is impracticable for modern datasets with increasing amount of data: on the one hand, projection and backprojection become costly operations, while on the other hand, even more iterations are required due to the higher number of variables.
The main contribution of this work is an efficient implementation of the method described in [9]. The method is based on the following observation: the padded FBP reconstruction yields acceptable reconstruction of features of the ROI [15], but can suffer from a low-frequency bias (cupping effect). On the other hand, iterative algorithms converge slowly due to the high indeterminacy of the problem, even with a known subregion. For these reasons, a refinement of the initial reconstruction is computed rather than the complete solution.
Correction of the low-frequency bias
Estimating the reconstruction error
Let \(x_0\) be a reconstruction of the region of interest with the padded FBP technique and \(x^\sharp\) be the true values of the region of interest. Both are slices of support \(N^2\) pixels. The reconstruction error, unknown in practice, is denoted \(e = x^\sharp - x_0\). This error mainly consists in low-frequency artifacts (the cupping effect).
In this work, we implement a high-performance version of algorithm described in [9], aiming at improving an existing reconstruction \(x_0\) by removing the cupping effect. This is done by solving the problem described by a new forward model (4)
$$\begin{aligned} \underset{x_e}{{\text {argmin}}} \; \left\{ \left\| C \tilde{P} (\tilde{x_0} + x_e) - d \right\| _2^2 + \phi (x_e) \right\} \end{aligned}$$
(4)
where \(x_e\) is a correction term added to the initial reconstruction. Here again, \(\tilde{x_0}\) denotes an extension of the support of \(x_0\), \(\tilde{P}\) is a projection operator adapted to this extended geometry, and C is a truncation operator. As the initial reconstruction is constant, problem (4) can be rewritten as
$$\begin{aligned} \underset{x_e}{{\text {argmin}}} \; \left\{ \left\| C \tilde{P} x_e - f \right\| _2^2 + \phi (x_e) \right\} \end{aligned}$$
(5)
where \(f = d - C \tilde{P} \tilde{x_0}\). Problem (5) can be understood as fitting the (approximate) reconstruction error f. As the reconstruction error in the ROI is \(e = x^\sharp - x_0\), we can write
$$\begin{aligned} \tilde{e}&= \tilde{x^\sharp } - \tilde{x_0} \nonumber \\ \tilde{P} \tilde{e}&= \tilde{P} \tilde{x^\sharp } - \tilde{P} \tilde{x_0} \nonumber \\ C \tilde{P} \tilde{e}&= d - P x_0 \end{aligned}$$
(6)
where \(\tilde{x^\sharp }\) denotes the whole volume, so that \(d = C \tilde{P} \tilde{x^\sharp }\) models the local tomography acquisition. If \(x_0\) is extended to \(\tilde{x_0}\) by inserting zeros, then \(C \tilde{P} \tilde{x_0} = P x_0\) as there is no contribution from the external part. However, the quantity of interest is the reconstruction error (e) in the ROI, not in the whole volume (\(\tilde{e}\)). Since the projection of e is different from the cropped projection of \(\tilde{e}\), the term \(d - P x_0\) only approximates the projection of the reconstruction error in the ROI. This quantity is nevertheless used as an approximation of the projection of the reconstruction error in the ROI. Once the optimal correction term \(\hat{x_e}\) is found, the resulting reconstruction is simply computed as \(x = \tilde{C}(\tilde{x_0} + \hat{x_e})\) where \(\tilde{C}\) is a cropping operator in the image domain, mapping images of support \(N_2^2\) to images of support \(N^2\).
Reducing the degrees of freedom
The principle of the implemented method is to refine an initial solution of the local tomography problem, knowing that middle and high-frequency features are usually well recovered. By focusing on the low frequencies, the complexity of problem (3) can be reduced by solving a simpler problem. Complexity reduction is achieved by expressing the reconstruction error in a coarse basis.
Gaussian function was chosen as a representation basis. The reconstruction error e is estimated by \(\hat{e}\) as a convolution between a finite discrete Dirac comb and a two-dimensional Gaussian function \(g_\sigma\) defined by Eq. (7)
$$\begin{aligned} g_\sigma (u, v) = \frac{1}{\sigma \sqrt{2\pi }} \exp \left( -\frac{u^2 + v^2}{2\sigma ^2} \right) \end{aligned}$$
(7)
where \(u, \, v\) denote discrete indexes in the image, and \(\sigma > 0\) is the standard deviation characterizing the Gaussian function. The estimate of the reconstruction error at location \((u_0, v_0)\), \(\hat{e}(u_0, v_0)\), is then given by Eq. (8)
$$\begin{aligned} \hat{e}(u_0, v_0) = \sum _{u, v} c_{u, v} g_\sigma (u_0 - u \cdot s, \, v_0 - v \cdot s) \end{aligned}$$
(8)
where \(c_{u, v}\) are coefficients multiplying the Gaussian functions \(g_\sigma\), and s is the spacing (in pixels) between points of the Dirac comb. The summation in (8) actually occurs on a finite support. In our implementation, the Gaussian function is truncated at \(3\sigma\) at each side, so the sum takes place on a \(\lfloor 6\sigma +1\rfloor \times \lfloor 6\sigma +1\rfloor\) pixels square.
Estimation (8) is done such that projection of \(\hat{e}\) has minimal Euclidean distance with \(d - P x_0\). Let G denote the operator mapping the coefficients \(c_{i,j}\) to the image \(\hat{e}\) through convolution formula (8). The coefficients vector c is estimated by solving Problem (9)
$$\begin{aligned} \underset{c}{{\text {argmin}}} \; \left\{ \left\| C \tilde{P} G c - f \right\| _2^2 + \phi (c) \right\} \end{aligned}$$
(9)
where \(f = d - P x_0\) and \(\phi (c)\) is a constraint function on the coefficients which is detailed later.
Thus, Problem (9) is solved instead of Problem (3). In Problem (9), the unknowns are the coefficients c of the coarse basis. As there are much less coefficients c in the coarse representation than pixels in the extended image support \(N_2^2\), the degrees of freedom is accordingly reduced.
Solving (9) requires the computation of the operators C, \(\tilde{P}\), G, and possibly their adjoints. The implementation of the crop operator C is straightforward, as it consists in truncating the sinogram to the size of the acquired data. In practice, it consists in modifying the projector \(\tilde{P}\) so that the projections are limited to the reduced detector field of view \(N_2\). The operator G can be described as follows. Coefficients \(c_{u,v}\) are placed every \(s > 0\) pixel on an image of the size of the extended reconstruction \(\tilde{x_0}\). This image (a two-dimensional Dirac comb in the continuum case) is then convolved by the kernel \(g_\sigma\). Lastly, an efficient implementation of the projection and backprojection operators is needed to solve (9). This is discussed in the implementation section.
Adding the known zone constraint
We now describe how the known zone constraint is implemented in formalism (9). In work [9], the knowledge available as known zone values in the slice is translated in the coarse representation basis: a subset of Gaussian coefficients is fitted to values in the known zone \(\Omega\); these coefficients are then used as a constraint for the reconstruction.
In this work, we rather add the constraint directly in the pixel zone. The final optimization problem is
$$\begin{aligned} \underset{c}{{\text {argmin}}} \; \left\{ \left\| C \tilde{P} G c - f \right\| _2^2 + \beta \left\| G c_{|\Omega } - u_0 \right\| _2^2 \right\} . \end{aligned}$$
(10)