1 Introduction

In X-ray Computed Tomography (XCT), the interior of an object is commonly visualized by reconstructing an image from a large number of radiographs, equiangularly acquired over 180 or 360 degrees. If scan time restrictions or geometrical constraints during scanning apply, only a small number of radiographs or a set of radiographs distributed over a limited angular range will be available, respectively. In such ill-posed limited data problems, conventional reconstruction methods, such as Filtered Back Projection (FBP) or the Simultaneous Iterative Reconstruction Technique (SIRT) [1], lead to images with severe artefacts [2] and semi-convergent behaviour [3].

Including prior knowledge about the scanned object into the reconstruction process is a well-known strategy to compensate for limited data in XCT [4,5,6]. A specific type of prior knowledge is exploited in discrete tomography (DT) [7], where the object is assumed to be composed of only a few materials. The variety of work on discrete tomography is vast [8,9,10,11], with several algorithms developed to improve robustness with respect to noise [12,13,14,15], handle partially discrete images [16, 17], and polychromatic data [18, 19].

Despite their strengths, practical DT methods are computationally intensive as they primarily rely on iterative reconstruction. To increase speed, divide-and-conquer strategies are often employed, in which only a part of the image is updated in each iteration [7, 16, 20]. Amongst the practical DT algorithms that rely on such division strategies, the Discrete Algebraic Reconstruction Technique (DART) [2] is well known for producing high-quality reconstructions of objects composed of few different materials, even in cases with a limited number of projections or projections acquired in a limited angular range [21]. DART has been successfully applied in various imaging domains [22,23,24,25] and is a common benchmark method to compare new DT algorithms with [26,27,28,29].New reconstruction methods based on the DART methodology are still being introduced [18, 30,31,32]

Despite the benefits of DART, its computational complexity is high. One of the causes is that update rules in DART are predetermined and hence do not change over the course of the reconstruction [33, 34]. As a result, already well-reconstructed image regions continue to be updated, leading to redundant computation. This problem has been addressed in theoretical DT, where Tabu-search theory has been combined with other DT methods such as combinatorial optimization approaches based on Ryser’s algorithm [35, 36] and with binary reconstruction based on Gibbs priors [7]. However, these approaches are infeasible for large-scale problems, due to both memory requirements and computation time. Heuristic methods such as DART have better scalability than theoretical DT methods, but still suffer from long computation times, partly caused by redundant computation.

To reduce redundant computation of DART-like methods, we propose a framework of dynamic update rules, which combines concepts from Tabu-search theory with update strategies. We introduce a probability map that adapts based on feedback received during subsequent reconstruction steps. By expressing update rules as changes to this probability map, dynamic update strategies during the reconstruction are implemented. Initialization of this map was based on the entropy of the reconstruction, a measure used before in discrete tomography in the context of optimal projection angle selection [37] and in the non-discrete case for measuring gray value uncertainty [38]. As a proof of concept, we present such a framework for DART. Furthermore, we describe an estimation procedure for the initial state of the probability map based on image uncertainty. The datasets generated during and/or analysed during the current study are available from the corresponding author on reasonable request.

2 Methods

The computed tomography problem can be represented as a linear system which is solved by Algebraic Reconstruction Methods (ARMs). General ARMs and the DART algorithm are described in Sect. 2.1. In Sect. 2.2, we build upon Tabu-search methodology to exploit memory structures inside DART for improved computational efficiency.

2.1 The DART algorithm

DART is built upon an Algebraic Reconstruction Method (ARM), which calculates solutions to the following linear reconstruction problem:

$$\begin{aligned} \mathbf {W}\mathbf {x} = \mathbf {p}, \end{aligned}$$

where \(\mathbf {x} \in {\mathbb {R}}^n\) is a vectorized pixel representation of the object, \(\mathbf {p} \in {\mathbb {R}}^m\) is the measured projection data, and \(\mathbf {W} \in {\mathbb {R}}^{m\times n}\) is the system matrix describing the approximately linear relationship between the scanned object and the measured data. A widely used ARM is the Simultaneous Iterative Reconstruction Technique (SIRT) [39], which computes a minimal distance solution to the system (1) with respect to the 2-norm. SIRT iteratively computes the following update step:

$$\begin{aligned} \mathbf {x}^{(j+1)} = \mathbf {x}^{(j)} + \lambda \mathbf {C}\mathbf {W}^{\top }\mathbf {R}(\mathbf {p} - \mathbf {W}\mathbf {x}^{(j)}), \end{aligned}$$

where \(\mathbf {C} \in {\mathbb {R}}^{n\times n}\) and \(\mathbf {R} \in {\mathbb {R}}^{m\times m}\), are diagonal matrices containing the inverse of the column and row sums of \(\mathbf {W}\), respectively. The vector \(\mathbf {x}^{(k)}\) is the current estimate of the solution to (1) and lambda is the relaxation parameter. SIRT was used as the ARM in this paper, with \(\lambda = 1.0\) as the default choice.

Let \({\mathcal {R}} = \{ \rho _1< \cdots <\rho _k \}\) be the set of gray values representing the different materials of which the object is composed. Then, a solution \(\mathbf {x}\) to (1) is discrete if \(\mathbf {x} \in \{ \rho _1,\ldots ,\rho _k\}^n\). Given an initial SIRT reconstruction \(\mathbf {x}^{(0)}\), the key steps in the DART algorithm can be briefly summarized as follows:

  1. 1.

    Segmentation: Let \(\mathbf {x}^{(\ell )}\) be the output of the SIRT algorithm, where \(\mathbf {x}^{(0)}\) is the output from the initial SIRT iterations. Since the gray levels in the image are known to be in \({\mathcal {R}}\), the elements of \(\mathbf {x}^{(\ell )}\) are projected (e.g., by thresholding) onto \({\mathcal {R}}\). We denote the segmented image by \(\mathbf {s}^{(\ell )}\).

  2. 2.

    Partitioning: In the partitioning step, a divide-and-conquer procedure is initiated by labeling the image pixels into two categories: free pixels (which will be updated) and fixed pixels (which are kept fixed at their current value). If a pixel has at least one neighbouring pixel of different gray value \(\rho _i\), it is considered a boundary pixel and is added to the set of free pixels. Otherwise, the pixel is considered fixed. Furthermore, every non-boundary pixel has a small but constant probability p to be included in the free set. After labeling, the reconstruction process continues on the free pixels only, while keeping the other pixels fixed.

  3. 3.

    Masked reconstruction: A fixed number of SIRT iterations is then performed on the free pixels and a new image \(\mathbf {x}^{(\ell + 1)}\) is computed by merging the updated free pixels with the fixed pixels.

  4. 4.

    Smooth and repeat After an optional smoothing is performed by convolution with a \(3 \times 3\) kernel, the steps are repeated until a convergence criterion is met or a maximum number of DART iterations has been reached. In this paper, a \(3 \times 3\) median kernel M was used with weight parameter b

    $$\begin{aligned} \mathbf {x} = (1-b)\mathbf {x}^{(\ell + 1)} + b (M * \mathbf {x}^{(\ell + 1)})\quad , \end{aligned}$$

where \(*\) denotes the convolution operator.

For a detailed description of the DART method, we refer to [2].

2.2 The Tabu-DART algorithm

In Sect. 2.2.1, a brief overview of Tabu-search and related concepts is presented, together with potential implications of using memory structures in DART. In Sect. 2.2.2, the DART update step is generalized as a framework that introduces a probability map to function as a memory structure for the partitioning step (step 2) inside the algorithm. The proposed Tabu-DART algorithm is described, in which the probability map is adapted based on a dynamic set of rules and feedback received from the segmentation step. Finally, in Sects. 2.2.3 and 2.2.4, the map initialization and feedback loop is explained for Tabu-DART.

2.2.1 Memory structures and Tabu-search

Tabu-search is a variations strategy for mathematical optimization techniques that rely on local search. The nature of local search methods makes them vulnerable to local optima. Tabu-search aids in finding the global optimum through adaptive memory structures and reaches parts of the solution space that would otherwise be left unexplored. It allows to escape from local optima and intensifies searches inside a specific region around a solution. In the next paragraph, a summary of the Tabu-search concepts is given to clarify our contribution. For a more in-depth description we refer to [40].

There are four main factors which describe the memory structure used: recency and frequency based memory, quality and influence. Recency-based memory stores information on recent solutions explored, and aids in preventing already visited solutions in favor of exploring worse but yet unvisited solutions. Frequency-based memory stores information on the number of times a certain attribute has appeared in recent solutions. Quality relates to the ability to differentiate between characteristics of good and bad solutions, while influence stores the impact of changes in structure of the solution. It is infeasible to store multiple solutions for large 3D volumes. Hence, recency-based memory has limited function for algebraic reconstruction with DART. The frequency of favourable attributes relating to good reconstruction can, however, be stored and exploited to improve DART. For this reason, our approach relies on frequency-based memory. The use of quality and influence metrics is limited to a feedback loop, which adapts the memory structure we propose for DART. When many reconstructions with a low error share an attribute, exploring locations in the reconstruction space where this attribute will be present increases the probability of finding a reconstruction that minimizes the error. Image features, such as which pixels still change their gray value or whether or not the boundary between different gray values stopped evolving, are valuable attributes that can be tracked in frequency. In Sect. 2.2.4, we describe how changes with respect to such a feature can be tracked to adapt the partitioning step (step 2) in the DART algorithm and make it more efficient over time.

2.2.2 The probability map framework

In DART, the partitioning rules decide which pixels in the image are updated, and hence they have a significant impact on the quality of the resulting reconstruction. The following probability map functions as frequency-based memory for the partitioning step inside DART:

$$\begin{aligned} P: {\mathbb {R}}^n \rightarrow [0,1]^n, \mathbf {x}{} \mapsto \mathbf {p_x}{}. \end{aligned}$$

Instead of one parameter p describing the probability that an interior pixel is updated in the next iteration, a probability \(p_{x_i}\) is linked to each pixel \(x_i\), which decides whether or not to update that pixel in the next iteration. The map functions as tracker of the frequency of change for any metric that distinguishes between pixels that are likely to be correctly classified and those that are not.

Fig. 1
figure 1

A flowchart of the Tabu-DART algorithm. After initial reconstruction and segmentation (upper part), the probability map is initialized. The map is used to label the image into free and fixed pixels (middle). The fixed pixel contribution is removed from the original projection data (left). The free pixels are then updated from the residual projection data (bottom) followed by another segmentation step. If the stopping criterion is satisfied, the output is a discrete reconstruction

Fig. 2
figure 2

Theoretical (a) and approximate (b) uncertainty calculations in a single pixel. In (a), the exact entropy is found by counting all possible binary solutions to the projection problem. In (b), this entropy is approximated based on a SIRT solution, by using the distance between the reconstructed gray value and the a priori known gray values

To correctly incorporate the update probability map, certain steps are different from the original DART algorithm. First, an initial state for the probability map is created after the initial SIRT reconstruction. This state is based on any available or calculated image uncertainty measure. If a region in the reconstructed volume is well-resolved, the probabilities in that region can be lowered to reduce redundancy. During each partitioning step, a random number \(r_i\) is drawn from a uniform distribution between 0 and 1, for each pixel \(x_i\). If \(r_i < p_{x_i}\), the pixel is selected for update. This samples a binary probability distribution in each pixel \(x_i\), with probability \(p_{x_i}\) to be free. Hence, the creation of the fixed and free partitions depends entirely on the probability map. At the end of each DART iteration, a feedback loop is introduced, which updates the probability map based on the current reconstruction data. A flowchart of the Tabu-DART algorithm is shown in Fig. 1.

2.2.3 Probability map initialization

An initialization scheme is presented for the probability map to eliminate the need for the parameter p in the original DART algorithm. The initialization is based on a generalization of local image uncertainty as proposed by Varga et al. for binary reconstruction [41]. Each pixel can only attain a value in \({\mathcal {R}}\) and the probability of being equal to \(\rho _i\) is spatially dependent. A formula for generating the probability for theoretical DT (illustrated in Fig. 2) is given by

$$\begin{aligned} P(x_j = \rho _i)= & {} \frac{\# \{ \mathbf {s} \in \{\rho _1,\ldots ,\rho _k \} ^n \vert \; \mathbf {W}\mathbf {s} = \mathbf {p}, \; s_j = \rho _i\}}{\# \{ \mathbf {s} \in \{\rho _1,\ldots ,\rho _k\}^n \vert \; \mathbf {W}\mathbf {s} = \mathbf {p} \}}, \nonumber \\&\quad \forall i \in {1,\ldots , k}, j \in {1,\ldots , n} \end{aligned}$$

Hence, each pixel \(x_j\) can be linked to a probability vector \(\mathbf {v}_{x_j} \in [0, 1]^k\), where k is the number of distinct gray values in the image. The entropy defined as

$$\begin{aligned} {\mathcal {H}}(x_{j}) = -\mathbf {v}_{x_j}^T \log _k \mathbf {v}_{x_j}, \end{aligned}$$

translates this vector to a single value representing uncertainty of the gray value of pixel \(x_j\). The logarithm \(\log _k\) is applied pointwise on the different components of the vector \(\mathbf {v}_{x_j}\).

Since it is infeasible to calculate the probabilities for large images directly, we propose an extension of the approximation introduced by Varga et al. [41]. For the pixel \(x_j\) of the initial ARM reconstruction, let

$$\begin{aligned} \mathbf {d}_{x_j}&= \left[ \frac{1}{\vert x_j - \rho _1 \vert } ,\ldots , \frac{1}{\vert x_j - \rho _k \vert } \right] \nonumber \\ \mathbf {v}_{x_j}&= \frac{ \mathbf {d}_{x_j}}{ \Vert \mathbf {d}_{x_j} \Vert _1 }. \end{aligned}$$

The values \({\mathcal {H}}(x_j)\) are used to initialize the probability map. Note that one of the denominators in (6) may become zero if \(x_j \in {\mathcal {R}}\), e.g. if the condition \(x_j \ge 0\) is enforced during SIRT reconstruction possibly causing \(x_j\) to be set to \(\rho _1\). To avoid division by zero, a lower bound was selected for the denominators in \(\mathbf {d}_{x_j}\).

Fig. 3
figure 3

The four phantoms that were used for the simulation experiments

2.2.4 Dynamic update rules

As the final part of Tabu-DART, the following set of update rules are introduced to track a stability metric based on changes between gray values for individual pixels: Define \(\mathbf {c_x}, \mathbf {b_x} \in {\mathbb {R}}^n\) such that

$$\begin{aligned} c_{x_j}^{(\ell +1)}= & {} {\left\{ \begin{array}{ll} 0, \quad \text {if } s_j^{(\ell +1)} = s_j^{(\ell )}\\ 1, \quad \text {otherwise} \end{array}\right. } \\ b_{x_j}^{(\ell +1)}= & {} {\left\{ \begin{array}{ll} 1, \quad \text {if}\ s_j^{(\ell +1)}\ \text {is boundary} \\ 0, \quad \text {otherwise} \end{array}\right. } \end{aligned}$$

Then, the new probability map \(\mathbf {p_x^{(\ell +1)}}\) is given by

$$\begin{aligned} \mathbf {p_x}^{(\ell +1)} = \min \left( \frac{1}{2}\mathbf {p_x}^{(\ell )} + \mathbf {c_x}^{(\ell +1)} + \mathbf {b_x}^{(\ell +1)},\mathbf {1_n}\right) \end{aligned}$$

These update rules halve the probabilities of all non-boundary pixels that, when segmented, have the same gray value \(\rho _i\) as in the previous iteration. Otherwise, the probabilities are set to 1.

3 Experiments

Two sets of experiments were conducted. First, simulation experiments were performed to test the validity of our approach on four discrete phantoms from previous DART papers [2, 33, 42] before evaluating the accuracy of Tabu-DART on a polychromatic dataset of a plexiglass object [43]. The simulation experiments are described in Sect. 3.1 and the plexiglass dataset is introduced in Sect. 3.2.

3.1 Simulation experiments

Figure 3 shows the phantoms that were used for the simulation experiments, which are identical to those used in previous DART publications [2, 13, 42]. The size of each phantom is \(512 \times 512\) pixels. With the ASTRA toolbox [44], projections were simulated following a parallel beam geometry with 512 detector values for each angle. Two cases of limited data were studied: In the first case, the acquisition range was \([0^\circ , 180^\circ ]\) and the number of projections was varied from 2 up to 90. To maintain a uniform angular sampling distribution while studying the performance of Tabu-DART as a function of the number of projections, the latter were generated using a golden ratio angular sampling [45], which means that subsequent projections are \(\frac{1+\sqrt{5}}{2}\pi \) radians apart from each other. In the second case, 90 projections were uniformly simulated, after which an increasing wedge was removed.

To infer whether the update probability parameter p can be avoided with our approach, we compared the Tabu-DART algorithm to the DART algorithm with a total of 12 choices for p. The best performing value for p for a specific case is denoted by best p. The other DART parameters were chosen according to literature [2, 18] and have been kept constant throughout the experiment. These are shown in Table 1.

Table 1 The values of the parameters used for DART and Tabu-DART for the basic simulation experiment

3.2 Experimental data: barbapapa plexiglass phantom

The goal of the real data experiment is twofold. First, to provide evidence that Tabu-DART combines well with other augmentations of the original DART algorithm. Second, to study how the relaxation of the inner ARM iteration influences the overall reconstruction quality compared to DART. We reconstructed the central slice of the Barbapapa experimental dataset [43], which consists of a plexiglass block with two drilled cylindrical holes. Three aluminum rods were inserted into the block, amounting to a total of three different materials present: air, plexiglass and aluminum. A picture of the object is shown in Fig. 4. A total of 2400 cone beam projections were measured over the full \(360^\circ \) range with a tube voltage of 130 kVp. To account for the polychromaticity of the X-ray beam, our Tabu-search framework was combined with a polychromatic version of DART, called poly-DART [18]. We refer to this polychromatic Tabu-DART algorithm as TP-DART. To this end, the polychromatic spectrum was first estimated. This was done by scanning a PVC step-wedge with steps ranging in thickness from 1 to 18 mm. The spectrum was then estimated using the Maximum Likelihood Expectation Maximization algorithm as explained in [18]. A missing wedge experiment was set up, starting from 400 equiangularly distributed projections over a \(360^\circ \) range. Reconstructions are made from subsets of these projections with an increasingly larger missing angular wedge. These subsets consists of all projections in the range \([\alpha , 180^\circ - \alpha ] \cup [180^\circ + \alpha , 360^\circ - \alpha ]\) with \(\alpha \) varying from \(10^\circ \) to \(60^\circ \). The parameters of poly-DART and TP-DART are given in Table 2.

The run-time parameters resulted in a total of 500 SIRT/pSIRT iterations being performed for each method. For this experiment, the relaxation factor \(\lambda \) for each run of DART was estimated empirically as follows: At every missing wedge (\(10^\circ \) stepsize), the projection data was reconstructed with 50 choices for \(\lambda \). The relative Number of Misclassified Pixels (rNMP), i.e. the ratio between the pixels belonging to the wrong class and the total nonzero pixels, was calculated for each \(\lambda \). The best \(\lambda \) in terms of the rNMP was kept for each choice of p and TP-DART, which yields a table for interpolation of \(\lambda \) for intermediate missing wedge \(\alpha \). Additionally, the data was reconstructed with TP-DART where

$$\begin{aligned} \lambda = \beta \frac{\text { Number of free pixels}}{\text {Total number of pixels}} \end{aligned}$$

is the relaxation factor and \(\beta \) controls the ratio between system size and relaxation. We hypothesize that since TP-DART iteratively lowers the system size, scaling the relaxation appropriately could lead to better results. An interpolation table was also created for \(\beta \). The results of scaled relaxation for TP-DART were collected separately and denoted with TP-DART scaled.

Fig. 4
figure 4

The Barbapapa plexiglass phantom

Table 2 Parameter values within poly-DART and TP-DART for the Barbapapa central slice reconstruction
Fig. 5
figure 5

The rNMP for Tabu-DART and DART with four different choices of p as a function of the number of projections

Fig. 6
figure 6

The rNMP for Tabu-DART and DART with four different choices of p for increasing missing wedge

Fig. 7
figure 7

Boxplots of the rNMP for different missing wedge \(\alpha \)

Fig. 8
figure 8

Missing wedge reconstructions of the simulation phantoms 1 (ac), 2 (df), 3 (gi), and 4 (jl) for the worst and best performing p (left and center) compared to the reconstruction made with Tabu-DART (right). The missing wedge corresponds to a choice shown in Fig. 7: for phantom 1–4, \(\alpha \) is \(90^\circ , 80^\circ , 100^\circ \text { and } 110^\circ \), respectively

Fig. 9
figure 9

The average CPU time for 10 SIRT iterations when varying the angles for each phantom. We observe that Tabu-DART has a low average CPU time due to the probability map feedback procedure

4 Results

Two metrics were calculated to evaluate the performance of the algorithms in each experiment: the rNMP and a measure for the computational efficiency. The latter metric is expressed as either the total CPU time of the SIRT iterations inside one DART iteration, or as the size of the linear system. The system size is equal to the number of free pixels and expressed as a percentage.

4.1 Simulation results

First, DART with different values of p was compared to Tabu-DART in terms of rNMP, for both the few-view and the missing wedge case. This experiment has been repeated ten times with different seeds. Figures 5 and 6 show the mean rNMP for each choice of parameter p and Tabu-DART for increasing number of projections and increasing missing wedge, respectively. For phantoms 2 and 3 in the few-view case, Tabu-DART performs noticeably better than the other three DART algorithms in terms of rNMP in the case with varying angles, when the number of projections is very limited. For the other two phantoms, the Tabu-DART remains competitive towards DART with the best performing value of p.

The missing wedge experiment (Fig. 6) yields shows that Tabu-DART performs comparably to the best choice for p, especially when the missing wedge is high. Three specific missing wedges (small, medium, and large) were selected for each phantom for an in-depth study, and for those the experiment was repeated 50 times with different seeds for the random number generator. Figure 7 shows the boxplot data of the rNMP for DART and Tabu-DART for the small and medium wedge choices. A lower rNMP and lower variance is observed for Tabu-DART compared to DART. Both DART and Tabu-DART start from a different initial map and this map is constant per algorithm in each of the 50 seeded repeats. Our approach consistently feeds back data and dynamically changes the set of pixels to be updated, while DART has no feedback loop. This leads to the higher variance on the rNMP for DART, as the free pixel selection is largely influenced by random chance. The difference in visual quality between DART with the worst and best performing value for p is shown in Fig. 8. The contrast between the best and worst choice is evident, which emphasizes the importance of a good parameter choice for these experiments. Tabu-DART on the other hands yields a superior visual quality without relying on the p parameter.

Figure 9 shows the average CPU time of 10 SIRT iterations in seconds for varying angles. As very little of the background is selected in the case of \(p = 0.01\), it is not surprising that this choice for p leads to the fastest algorithm. However, our approach is comparable in speed. This is due to the feedback procedure that iteratively removes already stable regions from the reconstruction. Hence, the average size of the linear system decreases, yielding the observed low computation time together with a high reconstruction quality in terms of the rNMP. We conclude that our approach outperforms the DART algorithm both in rNMP and visual quality for different types of noiseless scenarios. A final remark is that earlier simulation studies [2, 33] show that lower values of p lead to a lower rNMP. In practice, once noisy data is involved, the higher values of p tend to yield a lower rNMP. We show evidence for this claim in the next experiment.

4.2 Barbapapa plexiglass phantom

Fig. 10
figure 10

a The rNMP for varying relaxation \(\lambda \) for the Barbapapa plexiglass phantom. b The rNMP for Tabu-DART with changing relaxation with scaling factor \(\beta \)

Table 3 The relaxation values \(\lambda \) and scaling factors \(\beta \) which comprise the interpolation table for the Barbapapa plexiglass reconstruction
Fig. 11
figure 11

The rNMP (a) and the percentage of free pixels (b) in function of missing wedge \(\alpha \) for the Barbapapa plexiglass phantom

Fig. 12
figure 12

pSIRT, SIRT and TP-DART reconstructions for the missing wedge experiment with \(\alpha = 40^\circ \). TP-DART yields highly increased visual quality. The final number of (p)SIRT iterations for each method was 500

Figure 10a shows the rNMP of all methods tested for the different choices of \(\lambda \). Figure 10b shows the rNMP of TP-DART for varying scaling factor \(\beta \). It can be observed that DART with lower p-values has a better defined minimum compared to high values of p. The same occurs for TP-DART and TP-DART scaled. The common trait that low p-values and TP-DART share is the lower number of freed pixels. Hence, we reason that this sensitivity to the relaxation factor is related to the system size. A lower system size implies an increased sensitivity of each pixel to noisy data, due to increased convergence speed. Relaxation is necessary to counteract semi-converging behaviour. However, over-relaxation lowers convergence speed. The higher choices of p are innately more resistant to semi-convergent behaviour, and hence the impact of relaxation is lower since their convergence rate is slower. When additional projection data is removed, the reconstruction error increases due to lack of data instead of noise. Therefore, less relaxation is necessary which results in a higher choice for \(\lambda \) in (2). The entries in Table 3 support this since the best performing values for \(\lambda \) and \(\beta \) increase as the missing wedge increases. This also means that smaller choices of p benefit more from relaxation. A final argument is that the best \(\lambda \) for poly-DART with \(p = 0.5\) is almost exclusively \(\lambda = 1.0\). In summary: The lower the choice of p for poly-DART, the more important the selection of a correct relaxation factor becomes. Furthermore, optimal \(\lambda \) selection for TP-DART is similar to the optimal choice for poly-DART with a small p.

The reason for only introducing a scaling factor \(\beta \) for the relaxation in TP-DART is because poly-DART relies on the same update rules as DART, which on average frees 100p percent of the pixels plus the boundary. The change in system size for poly-DART iterations is negligible compared to TP-DART which makes scaled relaxation with a scaling factor identical to relaxation with a different fixed \(\lambda \).

Figure 11a shows the rNMP of the reconstructed images for varying missing wedge. All methods have very similar rNMP when the missing wedge is low, which was also the case for the simulation experiments. The choice of p has negligible effect if there is sufficient data to reconstruct the object. For large values of \(\alpha \), TP-DART shows a consistently lower rNMP than poly-DART. Overall, TP-DART scaled has the lowest rNMP for each value of \(\alpha \) with a system size that is of the same order as poly-DART with \(p = 0.05\) (Fig. 11b).

Despite real-world projection data, the lower choices for p yield a lower rNMP for this object. For the Barbapapa phantom, the optimal relaxation parameter \( \lambda \), with respect to the rNMP, was chosen, (cfr. Table 3). This implies that there exists a cut-off where relaxation stops benefiting the DART algorithm. Our experiments provide evidence that this cut-off depends on both the amount of projection data and the choice p. Table 3 shows a large jump for \(\lambda \) once \( \alpha \ge 50^\circ \). It is also from this point on that \(p = 0.05\) outperforms higher choices of p.

Two conclusions can be drawn from the results. The first is that estimating \(\lambda \) based solely on system size will yield poor results if the available projection data is insufficient. Secondly, relaxation based on system size with a scaling factor \(\beta \) dependent on the amount of data available is indispensable towards the proper functioning of TP-DART for experimental projection data. Even in the case of polychromatic data, our approach based on tabu-search showed favourable results with respect to DART. The reconstructed image for a missing wedge of \(40^\circ \) is shown in Fig. 12. Due to the large missing wedge, the pSIRT and SIRT reconstructions show large streak artefacts, which drastically influence the quality of the segmentation (Fig. 12b up to f). The initial probability map used in TP-DART captures these artefacts (Fig. 12g), but the final TP-DART output contains no missing wedge artefacts. In fact, the TP-DART reconstruction is very similar to a reference reconstruction created with pSIRT for the entire dataset of 2400 projections (Fig. 12a). This implies that the feedback structure of the algorithm is able to correct errors created during the initial SIRT reconstruction.

When considering visual quality of the reconstructions, no clear best method emerged.

5 Discussion and outlook

In summary, the proposed probability map plays the role of frequency based memory and aids in choosing more optimal regions for further reconstruction. It is able to retain which regions are already stable and uses this information to completely remove them from the reconstruction problem, increasing the efficiency and speed of the DART iterations over time. The initialization procedure suggested above eliminates the need for the update probability parameter p.

5.1 Complexity analysis based on floating point operations

The experiments show that our update strategy reduces the system size on which the SIRT algorithm is run. A good measure for iterative algorithms, is the number of FLOating Point operations (FLOPs) needed to perform an iteration. In this section, each addition, subtraction, multiplication and division is counted as one FLOP. A theoretical speedup can be measured by counting FLOPs for the SIRT algorithm. Let \(\mathbf {x}, \mathbf {y} \in {\mathbb {R}}^n\). Let \(\mathbf {W} \in {\mathbb {R}}^{m \times n}\) be s-sparse, i.e. \(\vert \mathbf {W} \vert = s\). Let \(\mathbf {D} \in {\mathbb {R}}^{n \times n}\) be any diagonal matrix. The FLOP counts for different matrix/vector operations present in SIRT are summarized in Table 4 [46]. In practice, the entries of \(\mathbf {W}\) are calculated on the fly, resulting in additional overhead depending on the number of pixels in the image and the number of nonzero entries in \(\mathbf {W}\). The complexity of multiplying a vector by \(\mathbf {W}\) is hence \({\mathcal {O}}(sn)\).

Table 4 FLOP counts for operations occurring during a SIRT iteration

The only operation in SIRT which is not yet accounted for, is the creation of the \(\mathbf {R}, \mathbf {C}\) matrices, which are diagonal matrices that have the inverses of the row and column sums on their diagonal, respectively. To create a matrix of the form:

$$\begin{aligned} \mathbf {R} = \begin{bmatrix} \frac{1}{\sum ^{m}_{j=1} w_{1j}} &{} &{} &{} \\ &{} \frac{1}{\sum ^{m}_{j=1} w_{2j}} &{} &{} \\ &{} &{} \ddots &{} \\ &{} &{} &{} \frac{1}{\sum ^{m}_{j=1} w_{mj}}, \end{bmatrix} \end{aligned}$$

the entry \(\frac{1}{\sum ^{m}_{j=1} w_{ij}}\) requires \(n-1\) additions and 1 division, which totals n FLOPs when counting divisions as one operation. This is repeated for each row of the m-by-n matrix which means m times n FLOPs for a total of mn. The SIRT update step can be decomposed into a sequence of matrix-vector multiplications with costs:

$$\begin{aligned} \begin{aligned}&\mathbf {x_1} = \mathbf {W}\mathbf {x}^{(k)}&\quad \text {cost: } {\mathcal {O}}(sn)\\&\mathbf {x_2} = \mathbf {p} - \mathbf {x_1}&\quad \text {cost: } m \\&\mathbf {x_3} = \mathbf {R}\mathbf {x_2}&\quad \text {cost: } m \\&\mathbf {x_4} = \mathbf {W^T}\mathbf {x_3}&\quad \text {cost: } {\mathcal {O}}(sn) \\&\mathbf {x_5} = \mathbf {C}\mathbf {x_4}&\quad \text {cost: } n \\&\mathbf {x_6} = \mathbf {x}^{(k+1)} + \mathbf {x_5}&\quad \text {cost: } n \end{aligned} \end{aligned}$$

Since the creation of matrices \(\mathbf {C}\) and \(\mathbf {R}\) only happens once per sequence of SIRT updates, the cost is omitted in further complexity calculation. From (10) it is trivial to find that the total complexity in terms of FLOPs is of \({\mathcal {O}}(sn+m)\). However, the s nonzero entries of \(\mathbf {W}\) are spread equally across each column since each ray i that passes through a pixel j yields a non-zero value \(w_{ij}\). If instead \(n-k\) pixels are removed from reconstruction in the masking step, a total of \(n-k\) columns is removed from \(\mathbf {W}\). This leads to a linear decrease in the number of remaining entries \(s_k < s\) and hence the new complexity becomes \({\mathcal {O}}(s_k k + m)\). A study on DART performed earlier [42] pointed out that if enough pixels are set fixed, certain rays only pass through vacuum and fixed pixels. These zero rays lead to zero rows in the matrix \(\mathbf {W}\). Hence, the number of nonzero detector readings is lowered to a value \(m_k < m\). The final complexity of masked SIRT becomes \({\mathcal {O}}(s_k k + m_k)\) which is certainly higher than a linear reduction considering \(m \ll n\) in typical discrete tomography applications.

5.2 Memory requirements

The gain in computational efficiency comes at the price of storage memory. To run the Tabu-DART algorithm we presented, two additional image sized matrices need to be stored. The first one is for the probability map. This cost cannot be avoided, since the entire purpose of the map is to serve as a memory for the algorithm. The second matrix is required to store the segmentation from the previous DART iteration. This allows to track changes in gray values between two iterations. Since gray value classes of the previous iteration can be represented by integer numbers representing the class, the memory demand can be reduced by working with short bit integers at the cost of extra processing.

5.3 Outlook

The criteria for dynamic update rules are not limited to image stability. Our approach can utilize metrics such as the Reconstructed Residual Error [47], image stability [33], or image uncertainty [41]. Algorithms such as MDART [48] and ADART [42] can be easily represented with a probability map, illustrating that our proposed technique is in fact a generalization of the original DART approach to a dynamic framework. The development of additional dynamic update strategies based on image uncertainty is a point of reference for future work.

6 Conclusion

A generic framework based on Tabu-search was proposed to aid divide-and-conquer strategies for algebraic discrete tomography methods. Our framework relies on a probability map that functions as a memory structure, which can be adapted through feedback obtained during the run-time of the algorithm. This concept was applied to DART, for which we introduced new dynamic update rules and a stronger initialization phase based on local image uncertainty. The method was subjected to a simulation study using different discrete phantoms and an experimental polychromatic dataset of a plexiglass block with aluminum rods. The experiments provided evidence of increased visual imaging quality as well as lower rNMP rates and lower average computation time compared to the original DART algorithm. The generic nature of our approach makes it ideal to be combined with other discrete algebraic methods that rely on divide-and-conquer strategies.