Table of Contents Author Guidelines Submit a Manuscript
International Journal of Biomedical Imaging
Volume 2014 (2014), Article ID 376456, 13 pages
http://dx.doi.org/10.1155/2014/376456
Research Article

High-Speed GPU-Based Fully Three-Dimensional Diffuse Optical Tomographic System

1Department of Physics, Indian Institute of Science, Bangalore 560012, India
2Department of Instrumentation and Applied Physics, Indian Institute of Science, Bangalore 560012, India

Received 8 November 2013; Revised 12 February 2014; Accepted 14 February 2014; Published 10 April 2014

Academic Editor: Peter Santago

Copyright © 2014 Manob Jyoti Saikia et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

We have developed a graphics processor unit (GPU-) based high-speed fully 3D system for diffuse optical tomography (DOT). The reduction in execution time of 3D DOT algorithm, a severely ill-posed problem, is made possible through the use of (1) an algorithmic improvement that uses Broyden approach for updating the Jacobian matrix and thereby updating the parameter matrix and (2) the multinode multithreaded GPU and CUDA (Compute Unified Device Architecture) software architecture. Two different GPU implementations of DOT programs are developed in this study: (1) conventional C language program augmented by GPU CUDA and CULA routines (C GPU), (2) MATLAB program supported by MATLAB parallel computing toolkit for GPU (MATLAB GPU). The computation time of the algorithm on host CPU and the GPU system is presented for C and Matlab implementations. The forward computation uses finite element method (FEM) and the problem domain is discretized into 14610, 30823, and 66514 tetrahedral elements. The reconstruction time, so achieved for one iteration of the DOT reconstruction for 14610 elements, is 0.52 seconds for a C based GPU program for 2-plane measurements. The corresponding MATLAB based GPU program took 0.86 seconds. The maximum number of reconstructed frames so achieved is 2 frames per second.