Bita Kazemi Zahrani Supervision of : Prof. Bhandarkar
1 INTRODUCTION The use of GPU for Medical Image Processing is getting widespread in recent years. Many image modalities namely MRI, CT, PET, SPECT, DTI and a lot more have been exploiting the GPU speedup in recent years. The objective of this report is to provide a vivid insight over the applications of GPU in medical image processing and explain the tools and methodologies in a nutshell.
2 OVERVIEW NVIDIA new architecture has turned GPU into a massively parallel multithreaded machine which features flexible memory access, fast user-controllable on-chip memory and integer, bitwise operations. CUDA has been the C-extension for GPU-programming without API graphics overhead and support for different development tools. Over the recent years GPU computing has been applied to different medical image processing tools like ITK, different computed tomography tools, MRI auto calibration tools, segmentation, registration and rendering tools. In the following sections we will discuss each adaptation to GPU programming paradigm with more detail and introduce the toolboxes. The report is organized as follows. Section 3, the methodologies and different toolboxes are discussed in detail. A comparison of GPU speedup in different toolbox and methodologies is followed in section 4. Conclusion to the report and the references are organized in section 5 and 6 respectively.
3 METHODOLOGY In this section we will discuss about different methodologies and tools taking advantage of GPU paradigm. Using ITK in CUDA, utilization of GPU in computed tomography and its application in CT modality is discussed. Buffalo toolkit for high speed 3D tomography is introduced. Application of CUDA in MRI is further discussed. Later we will take a brief overview on how different image processing techniques such as segmentation and registration and rendering are performed and enhanced by using GPUs. 3.1 ITK ON CUDA : GOU acceleration for ITK has been proposed by Harvard University and University of Utah. This feature keeps the application of CPU/GPU transparent to the user. IT supports image filters and pipelining methods. The project provides a GPU data, context and kernel manager to help users to use OpenCL with ITK as well. New classes are added to ITK are GPUImage, GPUDataManager, GPUImageDataManager, GPUContextManager, GPUKernelManager, GPUImageToImageFilter, GPUMeanImageFilter, GPUInPlaceImageFilter and GPUFiniteDifferenceImageFilter. We will discuss these classes and some of their speedups throughout this report [8].
Registration and image processing functions are computationally expensive but highly parallizable thus they can benefit from GPU enabled capabilities. CUDA code is successfully integrated into ITK so that it can be transparent from the users and there is no need to change the code using ITK. The only thing that an image processor should be concerned about in exploiting GPU is to set the ITK_CUDA environment variable that should be set to 1 in order to run ITK code on GPU. ITK image filters enabled on GPU are convolution filters; Mean, Gaussian, Derivative, Hessian of Gaussian, Statistical filters as Median filters, and PED-based filters.
3.2 COMPUTED TOMOGRAPHY Dmitri et al, explored cone-beam backprojection on GPU-CPU devices in computed tomography field. In CT imaging the three dimensional reconstruction is computationally intensive. The GPU support for pipelining and its high speed for parallel processing make it suitable for the back projection step in image reconstruction which is the part with highest volume of computations. They utilized CPU-GPU hybrid to accelerate backprojection. They resided projections in GPU and reconstructed each volume slice in GPU whereas each GPU loop uploads its slice to CPU memory [2].
H. Scherl, Keck et al, proposed a method to use CUDA for fast CT reconstructions. They divide FDK method for standard CT reconstruction in 3 steps, generating weighed projection data, ramp filtering the projection row-wise and back projecting the filtered data into the volume. They have used CUFFT (CUDA library for FFT) to implement filter at kernel level. Each CUDA kernel is responsible for computing the total rows of a projection concurrently. They claim that use of CUDA-enabled architecture is highly desired in cone-beam CT reconstruction [3].
3.3 MRI ON CUDA Mathias Shneider, worked on MRI modality shifted on CUDA. Current MR systems has been using parallel image acquisition techniques like GRAPPA which involves computational intensive process. For boosting the performance it is wise to take advantage of GPUs. The autocallibration stage of GRAPPA algorithm is done by GPU and takes about 25% of the time on CPU [4]. Gregerson implemented fast MRI gridding on GPU with use of CUDA. The rapid improvement of NVIDIA GPUs for floating point operations leaded the medical imaging researchers to adapt their algorithms to GPUs. The work has implemented the convolution interpolation algorithm in CUDA with optimization strategies. The GPU device showed a performance gain [5].
3.4 IMAGE RENDERING For high quality real-time rendering of volumes, GPU accelerated ray-casting technique has been proposed. it is implemented as a part of OpenGL c++ library. Floating point renderers were used for full precision. Local illumination techniques and models are computed on GPUs. For F+C rendering the computational intensive calculations should be taken into considerations. Small memory of GPU might become a delimiter however as much texture, render and vertex buffers can be shared.
4 COMPARISON 4.1 ITK : Median filter speedup on CUDA ITK has been 140 x where as Median filter has been 25X, Gaussian for 60X and Anisotropic diffusion for 70 x faster than CPUs.
4.2 CT :
4.3 MRI: Device
5 CONCLUSION
In the paper different applications of GPU in medical image processing were exposed. Different toolboxes and incorporations taking advantage of GPUs were discussed. The overall result of each methodology and application, the overall speedup was shown.
6 ACKNOWLEDGMENT Special thanks to Prof. Bhandarkar for leading me through preparation of this report. This is a review of the works done by different researchers and the author has no claim, nor novelty over the information provided in this report. 7 REFERENCES 1. http://www.cmake.org/Wiki/ITK/Release_4/GPU_Acceleration 2. Riabkov, Dmitri, et al. "Accelerated cone-beam backprojection using GPU-CPU hardware." Proceedings of the 9th International Meeting on Fully Three-Dimensional Image Reconstruction in Radiology and Nuclear Medicine. 2007 3. Scherl, Holger, et al. "Fast GPU-based CT reconstruction using the common unified device architecture (CUDA)." Nuclear Science Symposium Conference Record, 2007. NSS'07. IEEE. Vol. 6. IEEE, 2007. 4. http://wwwcip.informatik.uni-erlangen.de/~simtschn/thesis/thesisHref.pdf 5. http://www.nvidia.com/docs/IO/47905/ECE757_Project_Report_Gregerson.pdf 6. Anders Eklund, Paul Dufort, Daniel Forsberg, Stephen M. LaConte, Medical image processing on theMedical Image Analysis, Volume 17, Issue 8, December 2013, Pages 1073-1094, ISSN 1361-8415, 7. http://campar.in.tum.de/twiki/pub/AMIARCS08/ProceedingsOnline/104-113.pdf 8. http://campar.in.tum.de/twiki/pub/AMIARCS08/ProceedingsOnline/104-113.pdf