{'fraction_non_alphanumeric': 0.025912729628429967, 'fraction_numerical': 0.009069455369950487, 'mean_word_length': 4.688865490918663, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Alternating Minimization for Computed Tomography with Unknown Geometry Parameters

Due to the COVID-19 pandemic, there is an increasing demand for portable CT machines worldwide in order to diagnose patients in a variety of settings. This has led to a need for CT image reconstruction algorithms that can produce high quality images in the case when multiple types of geometry parameters have been perturbed. In this paper we present an alternating minimization algorithm to address this issue, where one step minimizes a regularized linear least squares problem, and the other step minimizes a bounded non-linear least squares problem. Additionally, we survey existing methods to accelerate convergence of the algorithm and discuss implementation details. Finally, numerical experiments are conducted to illustrate the effectiveness of the algorithm.


Introduction
In medical imaging, computed tomography (CT) techniques are becoming increasingly popular for their ability to produce high quality images of the human body. These help doctors diagnose several types of cancers and recently handle COVID-19 cases. A CT scanner is a device that is composed of a scanning gantry, X-ray generator, computer system, console panel and a physician's viewing console. The scanning gantry is the part that produces and detects X-rays. In a typical CT scan, a patient will lay on a bed that will move through the gantry. An X-ray tube rotates around the patient and projects X-ray beams through the human body at different angles. These X-ray measurements are then processed on a computer using mathematical algorithms to create tomographic (cross-sectional) images of the tissues inside the body. Limitations arise when using CT scanners for these medical procedures since these devices require extensive care, such as regular maintenance. Additionally, transporting these to remote locations is not an easy task. Point-of-care imaging addresses these challenges by allowing radiologists to add portable CT scanners to their departments to increase patient satisfaction and improve medical outcomes. However, the parameters that are associated with the geometry of these devices cannot always be precisely calibrated in point-of-care situations. These parameters may change over time, when the scanner is adjusted during the image acquisition process or when transported to a new location.  Figure 1 illustrates how an X-ray source rotates around an object during a typical CT acquisition process. The location of the source is measured by a view angle, i.e, location of the source on a circle around the object, and the distance from the source to the center of the object. If the location of the X-ray source has been perturbed, the reconstructed image will be of very poor quality. The case where only the view angles have been perturbed is an active area of research [16] [17]. In [6] Ding devises the numerical scheme we study, and uses it to investigate when the angles and the distance from the source to the object are unknown. The purpose of this paper is to study reconstruction methods in the case when both view angles and distance from the source to the object have been perturbed. Ding performed one small experiment of this type, and we build upon his work by testing larger images, larger perturbations, more acceleration techniques, more linear solvers, parallelizing the code, and adding to the IRtools [8] package to include this algorithm.
The rest of the paper will proceed as follows. In section 2 we give a brief background to the CT problem, present the algorithm, and discuss some theory behind the algorithm. Next in section 3 we provide an alternate form of the algorithm as a fixed point iteration and discuss acceleration techniques to improve convergence. Section 4 outlines considerations for implementation including parallelization. Numerical experiments and results are outlined in section 5. Future directions are presented in section 6. An example on how to set up and run an experiment is given in the appendix.

Block Coordinate Descent
In this section, we discuss the mathematical concepts and modeling of the CT image reconstruction problem as well as different techniques involved to effectively solve the inverse, ill-posed problem. We begin by setting up the computed tomography problem which boils down to finding attenuation coefficients of an object made up of multiple materials. An image can then be constructed by a color mapping based on the attenuation coefficients.
For an object made up of a single material, Beer's Law describes the amount of radiation that can pass through it [7]: (2.1) In the above equation I 0 is the initial energy of the X-ray that goes into an object, and I is the energy of the X-ray that leaves it. d is the distance that the X-ray beam travels through the object and µ is the attenuation coefficient. Figure 3 illustrates these parameters.  Applying Beer's law to each different material, assuming there are n materials, the X-ray energy leaving the object can be written as This gives one linear equation in multiple variables, and so additional X-ray beams, at different angles, need to be transmitted through the object to obtain n linearly independent equations for the n variables.
Most often in practice it is not known precisely where each material begins and ends. To overcome this a pixel grid is overlaid on the object, and the attenuation of each pixel is sought. This involves taking measurements using many X-ray projections from different angles. Often in practice the X-ray source projects multiple X-rays spread out like a fan as illustrated in figure 4. In addition, the source and detector rotate around the object to obtain additional measurements. Now suppose that there are n pixels and m X-ray beams are projected through the object. Let d ij be the distance that the ith X-ray beam travels through pixel j. I 0 is still the initial energy, and let I i be the energy of the ith X-ray beam as it leaves the object and hits the detector. Then the relationship between the unknown attenuation coefficients and the known distances and energies can be written as a system of equations (2.2) In this system of equations the vector b is known as the sinogram. Note that the matrix A in the above equation will be sparse because each X-ray will only pass through a few of the pixels. Now, notice that each distance d ij is a function of the X-ray source location. Let R denote the distance of the X-ray source to the center of the object, and θ denote the angle of rotation of the source relative to the center of the object. Then the matrix A is a function of the vector p, denoted as A(p), where p contains the R i , and θ i for each source location (that is each time a fan of X-ray beams is emitted).
In a standard computed tomography problem with known geometry parameters, solving equation (2.2) requires regularization due to the ill-conditioning of A [9]. In this paper, the problem we seek to study has unknown geometry parameters, and can be stated as Here α is a regularization parameter, which allows us to get a more accurate solution when the matrix A is ill-conditioned. The regularization parameter recasts the ill-conditioned problem to a nearby well conditioned one. We refer the reader to [10], [13] for information on the role of regularization in inverse and least squares problems. The solution to (2.3) can be approximated by using an alternating minimization scheme known as block coordinate descent or BCD, which we describe in algorithm 1.

Algorithm 1: Tomography Block Coordinate Descent
Thus, equation (2.3) can be approximated by an alternating minimization scheme where one iteration involves solving a large linear least squares problem, and a large non-linear least squares problem. To solve the large regularized linear least squares problem in step 4, we mainly use a hybrid conjugate gradient method (LSQR) that can automatically choose regularization parameters. Mathematical details describing this method can be found in [12]. The implementation we use is described in [8] (specifically, we use the method called IRhybrid lsqr).
A comparision of this to other linear least squares solvers is given in section 5.3. To solve the non-linear least squares problem in step 5 we use a projected quasi-Newton method in Kelley's implicit filtering package [14].

Acceleration Techniques
In this section we discuss techniques to accelerate the convergence of the BCD algorithm. The key is to recast the problem in terms of a fixed point problem.

Algorithm 2: Fixed Point Tomography Reconstruction
Now we define a function g that is one iteration of algorithm 2. That is assuming the b, α, and the function A(p) are known define g(x k ) as where p k+1 is defined as Thus, the problem of finding an approximate solution of (2.3) becomes that of finding a fixed point of g. This is useful as acceleration techniques for fixed point problems have been widely studied [19]. It should be noted that the problem can also be stated in terms of finding a fixed point of g(ω k ) where and ω k := (x k , p k ). However numerically this performed worse as shown in subsection 5.2.
In our numerical experiments we used three fixed point acceleration schemes, and the remainder of the section will be devoted to discussing them. For the remainder of the section we will denote a function as f (x) if it is a function is a single variable, and F (x) if it is a function of several variables.
We motivate the first two acceleration methods starting with the single variable fixed point problem of finding a along with its recursive application and the second order Steffensen method are popular choices for solving single variable fixed point problems [18]. The Aitken ∆ 2 method is derived from approximating the multiplying constant for a linearly converging sequence, and can be stated as Or equivalently Vector generalizations of this algorithm have been extensively studied, see [19] for several references. Most come from defining the inverse of a vector x as Application of this definition to (3.1) leads to the Irons-Tuck method [11] x Where · denotes the dot product, F (x k ) is the vector valued function we seek to find a fixed point of, and the ∆ operator is defined as in the scalar case. Numerically the Irons-Tuck method has been shown to outperform many other vector generalizations of the ∆ 2 process [15], but is computationally expensive when F (x k ) is expensive to evaluate. One alternative is to use the crossed secant method It has the advantage of only needing one evaluation of F per iteration, and in many numerical tests performs similar to the Irons-Tuck method [19]. In fact, if each iteration of the crossed secant method is alternated with a standard fixed point iteration the resulting method is the Irons-Tuck method.
Another alternative is Anderson Acceleration, sometimes called Anderson Mixing. The general idea is to use information from a predetermined number of residuals to increase convergence. Here we only state a more easily implementable version of the algorithm. For a more general algorithm see [22]. Let r be the number of residuals to use, and denote Then the Anderson Acceleration has the following form: Implementation details can be found in [21]. In short, the linear least squares problem can be efficiently solved by updating a QR factorization of X after every iteration. Additionally, we implemented a hyperparameter which removes a column of X if the condition number of the upper triangular matrix in the QR factorization becomes too large. In section 5.2 we compare the use of these three algorithms in our implementation.

Implementation
In this section we discuss practical considerations for the implementation of algorithm 1. Recall that each time the X-ray source fires it is associated to one angle and one R parameter. Therefore A is created as The non-linear least squares problem can then be solved by solving subproblems of the form min θi,Ri where each b i is the corresponding part of the b vector. This is advantageous as it allows for easy parallelization of algorithm 1 leading to significant speedup, and a comparison is made in subsection 5.1.
To simulate the problem we will use the IRTools package [8]. IRTools provides several state of the art regularized linear least squares solvers which we will use in our implementation of algorithm 1. We will compare three linear least squares solvers available in the IRtools package which use different forms of regularization. The first is the hybrid-LSQR algorithm [12], which regularizes by adding a two-norm penalty term. The next is the iteratively re-weighted norm approach or IRN [20], which uses a one-norm regularization. Finally, the fast iterative shrinkage threshold algorithm or FISTA [2] is used which has no regularization term, but constrains the solution vector x such that x ≥ 0. A comparison of these methods is given in subsection 5.3.
To approximate the solution of the non-linear least squares problem we compared two methods. The first is a Trust-Region-Reflective algorithm studied in [4], [5] and implemented in the MATLAB function lsqnonlin.
The second is the method of implicit filtering [14] which uses a projected quasi-Newton iteration using difference gradients. Both methods are for bounded problems with unknown derivative information, making them suitable for our problem, as the geometry parameters can be realistically bounded. In our numerical tests we found that implicit filtering led to a smaller image error and therefore it was used for all numerical experiments in the next section.

Numerical Results
In this section we highlight several experiments for the tomography problem. In each problem an initial guess for the R parameters and angle parameters were given. Then a perturbation generated uniformly was added to each angle and R value, and the BCD was run to produce a better image. For all tests Gaussian noise was added to the sinogram b creating a new vector b noise = b + η, where ||η|| 2 /||b|| 2 is equal to a specified noise level, in this case 0.01. The initial guess for the view angles was always 0 : 2 : 358, and the initial guess for the R parameters was 2. We will use the abbreviation U (a, b) for a uniform distribution when describing perturbations to R and angle parameters. In the graphs below the angle and R parameter error represent the relative error between the true perturbations and the current approximation of those perturbations. The 2 -norm was used for relative errors in each case and an initial guess of 0 was given for all perturbations.
The images used were the Shepp-Logan phantom (Figure 10a), and the spine image from the MATLAB imageprocessing toolbox ( Figure 6: True Image), with each image size being 256 × 256 unless otherwise stated. All tests were run on a Microway system that has four Intel Xeon E5-4627 CPUs with 40 cores and 1 TB of memory running Ubuntu Linux. An example of setting up and running a test is given in appendix A. In the rest of this section we will first show a scaling study demonstrating the effectiveness of parallelizing the code. We will then show that the fixed-point acceleration techniques produce a smaller image error and converge faster than not using an acceleration technique. Finally, we compare several solvers for the linear least squares solver.

Parallel Speedup
In this section we demonstrate the effectiveness of the parallelization discussed in section 4. solving the linear least squares problem appears to take most of the time, since A is a large matrix. For example when N is 256 the size of A is 65160 × 65536 and when N is 512 the size of A is 131400 × 266256. Regardless, the parallel implementation made possible by the problem model provides significant speedup.

Acceleration Test
The next test we ran was to compare the different acceleration techniques using the spine image. Perturbations were added as realizations of U (−0.5, 0.5). The hybrid-LSQR algorithm was used as the linear least squares solver, and the accelerated BCD algorithms were run for twenty iterations. In the legends in figure 5, BCD is for no acceleration, CS for crossed secant, AA for Anderson Acceleration, and IT for the Irons-Tuck method.
To give reference to table 2 the tests were run on 12 local workers.  From these tests we see that the acceleration techniques converge to slightly smaller error norms, with the crossed secant method and Anderson Acceleration performing the best. The Irons-Tuck method converged much better in the angle parameters, but took much longer. This was expected as the function evaluation is quite expensive, and as previously noted Irons-Tuck requires an extra function evaluation at each iteration. Figure 6 shows the true image, and the image after the parameter optimization. Despite having slightly larger image error, the Irons-Tuck image seems to have the least background noise.    with other factors such as R and view angle initial guesses, and image size held the same. We use a relative error stopping criterion of Below we show the results using BCD without acceleration and with Anderson Acceleration.

Comparison of Linear Least Squares Solvers
In this section we compare the performance of three linear least squares solvers available in the IRtools package using hybrid LSQR, FISTA, IRN. We did two tests using the Shepp-Logan phantom. Perturbations were chosen from realizations of U (−0.5, 0.5). No acceleration techniques were used in these tests. Figure 9: Graphs Comparing Linear Least Squares Solvers In figure 9 we see that IRN and FISTA perform similarly, and drastically outperform the hyrbid-LSQR method.
Interestingly all three methods perform poorly on the angle parameter estimation. Despite having similar image error norms, figure 10 illustrates that visually FISTA appears better than IRN. The second test comparing the linear least squares solvers uses the same parameters as the previous test, except the perturbations are samples of U (−1, 1). This is a significant amount of perturbation in this case as it is up to half the original value of R and half the distance between each angle. Figure 11 shows the relative errors.

Figure 11: Graphs Comparing Linear Least Squares Solvers For Second Test Problem
Interestingly with a high perturbation level FISTA does the worst, while IRN continues to significantly outperform the LSQR algorithm. Unsurprisingly all three algorithms maintain a high relative error for the angles when larger perturbations are added. Figure 12 shows the reconstructed image, and while no image is a high quality reconstruction, it is clear IRN is the cleanest. The two tests show though that there is certainly an image and perturbation level dependence as to which method has the best reconstructions.

Conclusion and Outlook
We have devised an algorithm to effectively estimate the unknown geometry parameters of an uncalibrated portable CT machine. We exploited the problem structure to allow for parallelization and have shown significant speedup. Also, we have used fixed-point acceleration techniques to both reduce the image error and the number of iterations required for convergence. Additionally, we have surveyed and tested up-to-date methods to solve regularized linear least squares problems, and have demonstrated that the best choice of solver depends on the size of the perturbations to the geometry parameters.
In the future, we hope to investigate more about why the acceleration techniques work better only with the image vector. Additionally, our stopping criterion was chosen naively, and there may be better a method for choosing a stopping criterion and error tolerance, and we intend to investigate those. Finally, we will look into other acceleration techniques for the optimization problem.
We also hope to apply our algorithm to other medical imaging applications where geometry parameters may be unknown such as bedside tomosynthesis [3].

A Running Numerical Experiments
Our implementation of algorithm 1 was built on top of the MATLAB IRtools package and naming conventions were chosen to mirror it. Our code can be found at https://github.com/manuelarturosantana/TomoREU2021.
In the base IRtools package the function PRset is used to set up options for computed tomography problems as follows options = PRset(options, 'field name1',field value1, 'field name2',field value2).
We have updated PRset to accept values relating to BCD, such as an initial guess for the parameters. When a field name is not passed in default values are selected. Then to simulate a CT problem with unknown geometry parameters PRtomo var is used with the image size being n × n [b,ProbInfo] = PRtomo var(n, options).
Above b is the right hand side vector with noise added, and ProbInfo contains the initial guess for the parameters. Thus, PRtomo var generates all the data necessary to simulate the inverse problem. Next the IRset function is used to set up hyper-parameters for the solvers in IRtools options = IRset(options, 'field name1',field value1, 'field name2',field value2).
Again IRset was updated to include parameters for BCD, such as which acceleration technique to use.   After solving the problem we see the solution and the relaltive error graph in figure 14. This illustrates after the BCD algorithm we get a comparable solution to when the true geometry parameters are known.
Image after BCD Figure 14: Example Problem Solution The images in all five figures shown are generated with the following MATLAB code PRshowbcd(iterInfo,probInfo).