FAST: framework for heterogeneous medical image computing and visualization

PurposeComputer systems are becoming increasingly heterogeneous in the sense that they consist of different processors, such as multi-core CPUs and graphic processing units. As the amount of medical image data increases, it is crucial to exploit the computational power of these processors. However, this is currently difficult due to several factors, such as driver errors, processor differences, and the need for low-level memory handling. This paper presents a novel FrAmework for heterogeneouS medical image compuTing and visualization (FAST). The framework aims to make it easier to simultaneously process and visualize medical images efficiently on heterogeneous systems.MethodsFAST uses common image processing programming paradigms and hides the details of memory handling from the user, while enabling the use of all processors and cores on a system. The framework is open-source, cross-platform and available online.ResultsCode examples and performance measurements are presented to show the simplicity and efficiency of FAST. The results are compared to the insight toolkit (ITK) and the visualization toolkit (VTK) and show that the presented framework is faster with up to 20 times speedup on several common medical imaging algorithms.ConclusionsFAST enables efficient medical image computing and visualization on heterogeneous systems. Code examples and performance evaluations have demonstrated that the toolkit is both easy to use and performs better than existing frameworks, such as ITK and VTK.

[1]  Luis Ibáñez,et al.  The ITK Software Guide , 2005 .

[2]  Paul J. Besl,et al.  A Method for Registration of 3-D Shapes , 1992, IEEE Trans. Pattern Anal. Mach. Intell..

[3]  Kari Pulli,et al.  Real-time computer vision with OpenCV , 2012, Commun. ACM.

[4]  Frank Lindseth,et al.  Medical image segmentation on GPUs - A comprehensive review , 2015, Medical Image Anal..

[5]  Wilhelm Burger,et al.  Digital Image Processing - An Algorithmic Introduction using Java , 2008, Texts in Computer Science.

[6]  P. Mildenberger,et al.  Introduction to the DICOM standard , 2002, European Radiology.

[7]  Frank Lindseth,et al.  A New Tube Detection Filter for Abdominal Aortic Aneurysms , 2014, ABDI@MICCAI.

[8]  Frank Lindseth,et al.  GPU accelerated segmentation and centerline extraction of tubular structures from medical images , 2013, International Journal of Computer Assisted Radiology and Surgery.

[9]  John D. Owens,et al.  GPU Computing , 2008, Proceedings of the IEEE.

[10]  Frank Lindseth,et al.  GPU-based multi-volume ray casting within VTK for medical applications , 2015, International Journal of Computer Assisted Radiology and Surgery.

[11]  Jürgen Teich,et al.  Generating Device-specific GPU Code for Local Operators in Medical Imaging , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium.

[12]  Frank Lindseth,et al.  Real-time gradient vector flow on GPUs using OpenCL , 2015, Journal of Real-Time Image Processing.

[13]  Richard Beare,et al.  CITK - an architecture and examples of CUDA enabled ITK filters , 2011 .

[14]  William J. Schroeder,et al.  The Visualization Toolkit , 2005, The Visualization Handbook.

[15]  Anders Eklund,et al.  Medical image processing on the GPU - Past, present and future , 2013, Medical Image Anal..

[16]  Rolf Adams,et al.  Seeded Region Growing , 1994, IEEE Trans. Pattern Anal. Mach. Intell..

[17]  Frank Lindseth,et al.  Multigrid gradient vector flow computation on the GPU , 2014, Journal of Real-Time Image Processing.

[18]  William Schroeder,et al.  The Visualization Toolkit: An Object-Oriented Approach to 3-D Graphics , 1997 .

[19]  Matthias Koenig,et al.  Embedding VTK and ITK into a visual programming and rapid prototyping platform , 2006, SPIE Medical Imaging.

[20]  Frank Lindseth,et al.  Real-Time Surface Extraction and Visualization of Medical Images using OpenCL and GPUs , 2012 .