Easily Build Applications for Multi-core

Case Study: Medical Imaging

Tomographic Reconstruction


Download the full document as a PDF

Tomographic ReconstructionIn both medical imaging and seismic analysis, a common requirement is the reconstruction of cross-sectional images or volumes from many external observations. In the case of Computed Tomography (CT), these observations are X-ray images taken from many directions through a volume. Finding the cross-sectional images involves calculating a solution to a very large, sparse linear system of equations. In this demonstration, we implemented an iterative method for algebraic tomographic reconstruction as an example of how RapidMind can be used in medical imaging. This implementation runs on a single GPU at real-time rates.

Algebraic reconstruction is a powerful technique that can cope with a variety of projection configurations and even non-uniform or dynamic configurations that change from sample to sample. The flexibility of algebraic reconstruction can enable a reduction in the cost of the equipment required to acquire the data. Algebraic reconstruction can also lead to improved reconstruction quality. Implementing this algorithm in real time enables a variety of novel applications, including real-time guided image acquisition and image-guided surgery.

By leveraging the RapidMind multi-core software platform, applications such as this can harness the full potential of the latest multi-core processors from Intel® and AMD® as well as seamlessly take advantage of the application acceleration available in today’s stream processors such as the GPU or the Cell BE. With RapidMind, software developers focus on the algorithms to best drive innovation in their application and the RapidMind platform provides the cutting edge performance promised by these new processors. The resulting applications is hardware independent and will automatically scale to additional cores and future multi-core processors.

Tomographic Reconstruction

There are two main algorithms for tomographic reconstruction: filtered backprojection and algebraic reconstruction. Filtered backprojection is fast but is only practical for very simple (and static) projection geometries. Algebraic reconstruction models the problem as a set of linear equations, the inputs of which are samples of the original volume and the outputs of which are the summations of these samples along rays through the volume. Computing cross-sectional images of the volume requires taking the known observations (the outputs) and solving the linear system to find a set of inputs that are consistent with these observations. The set of equations is sparse, however, since only a small subset of the volume affects each ray.

Large sparse systems show up in many fields, and are often solved using an iterative process. In this case, an iterative solution technique is used that alternates backprojection with forward projection. First, the system is backprojected: every volume sample is given an initial estimated value obtained by averaging the observations from all rays through that sample. This tends to result in a very blurry reconstruction, but we then forward project this estimate, resulting in a set of predicted observations for this estimate. We subtract the predicted observations from the actual observations, resulting in an error signal. This error signal is backprojected in turn and subtracted from the previous best estimate of the volume, resulting in an updated estimate. This process is repeated as many times as necessary to achieve the desired quality. On each repetition, the error signal decreases to zero as the estimate converges to values consistent with all the observations. In order to improve convergence, sharpening may also be applied before every backprojection and interpolation and smoothing may be applied during the forward projection.

In this demonstration, all stages of the iterative reconstruction process ran on an AMD Radeon HD 2900 GPU. Two RapidMind computational programs were implemented: one for computing the projection (including interpolation) and one for computing the backprojection (including sharpening). These are alternated until the solution converges. The demonstration program shows the input, the reconstruction, and the error signal at different stages of the reconstruction, allowing the process to be visualized.