GPU-BASED RECONSTRUCTION ENGINE FOR MICRO-CT
We have developed a CT image reconstruction engine that exploits the power of a graphic processing unit (GPU) to reduce computation time by 2 orders of magnitude compared to conventional CPU-based implementations. The engine is written in C and interfaces with the GPU through CUDA, a technology for general-purpose GPU programming developed by Nvidia. The engine is structured as a server that runs consistently in the background and receives instructions from MATLAB clients via sockets. This approach combines the computational power of the GPU with the expressive power of MATLAB, and allows us to rapidly implement and test a variety of algorithms. The reconstruction package has also been used to provide phase-selective reconstruction of the lungs in studies using intrinsic image-based gating (SM Johnston, et al. Proc Soc Photo Opt Instrum Eng [SPIE] 7622: 76223G.1-76223G.9, 2010, Free PMC article)
The core functionality of the reconstruction engine is the creation and manipulation and arithmetic of large arrays, projection and backprojection operations, Fourier transforms, and regularization operations such as the gradient of the total variation. A wide variety of algorithms can be built from combinations of these operations. Some of the algorithms we have explored include the simultaneous algebraic reconstruction technique (SART), and Fourier deconvolution. Compared to the commonly-used filtered backprojection algorithm, these algorithms provide superior performance when the x-ray projection data is sampled in a sparse or irregular pattern, a situation commonly encountered in cardiac and perfusion studies.
We are investigating the use of multiple voltages and filters to improve our ability to distinguish different materials. We have primarily focused on dual energy techniques, with the goal of distinguishing the distribution of iodine from the surrounding tissue. The data acquired at the two voltages is reconstructed separately, and then the information is combined through linear material decomposition algorithms. Further improvement is possible with nonlinear or iterative algorithms. The resulting iodine distribution maps are especially useful in cardiac or perfusion studies.
Link to movies and supplemental data about this research that were recently submitted with a paper for the journal Medical Physics.