Non-separable 2D, 3D, and 4D Filtering with CUDA

Filtering is an important step in many image processing applications such as image denoising (where the goal is to suppress noise, see Figure 1.1), image registration (where the goal is to align two images or volumes, see Figure 1.2) and image segmentation (where the goal is to extract certain parts of an image or volume, see Figure 1.3). In medical imaging, the datasets generated are often three or four dimensional and contain a large number of samples, making filtering a computationally demanding operation. A high resolution magnetic resonance (MR) scan of a human head normally contains on the order of 256 x 256 x 200 voxels (a voxel is the 3D equivalent of a pixel). Functional magnetic resonance imaging (fMRI) is used for studying brain function, and the generated 4D datasets can easily contain 300 volumes over time with 64 x 64 x 30 voxels each. Ultrasound machines are increasingly affordable and can output volume data at 20-30 Hz. Computed tomography (CT) scanners can yield even higher spatial resolution than MR scanners, at the cost of ionizing radiation. A 4D CT dataset of a beating heart can be of the size 512 x 512 x 445 x 20 samples [Eklund et al. 11]. Reducing the amount of radiation in CT leads to higher noise levels, but this can be remedied by applying image denoising algorithms. However, to apply 11 non-separable denoising filters with 11 x 11 x 11 x 11 coefficients to a dataset of size 512 x 512 x 445 x 20, for example, requires approximately 375,000 billion multiply-add operations using a convolution approach. Fortunately, graphics processing units (GPUs) can now easily be used to speed up a large variety of parallel operations [Owens et al. 07].

[1]  Hans Knutsson,et al.  Morphons: segmentation using elastic canvas and paint on priors , 2005, IEEE International Conference on Image Processing 2005.

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

[3]  Jie Cheng,et al.  CUDA by Example: An Introduction to General-Purpose GPU Programming , 2010, Scalable Comput. Pract. Exp..

[4]  Anil K. Jain,et al.  Unsupervised texture segmentation using Gabor filters , 1990, 1990 IEEE International Conference on Systems, Man, and Cybernetics Conference Proceedings.

[5]  Carl-Fredrik Westin,et al.  Representing Local Structure Using Tensors II , 2011, SCIA.

[6]  Randi J. Rost Using OpenGL for imaging , 1996, Medical Imaging.

[7]  H. Knutsson,et al.  Advanced Filter Design , 1999 .

[8]  Roberto Manduchi,et al.  Bilateral filtering for gray and color images , 1998, Sixth International Conference on Computer Vision (IEEE Cat. No.98CH36271).

[9]  R. Wilson,et al.  Anisotropic Nonstationary Image Estimation and Its Applications: Part I - Restoration of Noisy Images , 1983, IEEE Transactions on Communications.

[10]  Thomas Ertl,et al.  Accelerating 3D convolution using graphics hardware , 1999, Proceedings Visualization '99 (Cat. No.99CB37067).

[11]  H. Knutsson Representing Local Structure Using Tensors , 1989 .

[12]  Hans Knutsson,et al.  Phase based volume registration using cuda , 2010, 2010 IEEE International Conference on Acoustics, Speech and Signal Processing.

[13]  Hans Knutsson,et al.  Signal processing for computer vision , 1994 .

[14]  Bayesian Rcvr,et al.  I I I I I I I I I , 1972 .

[15]  Hans Knutsson,et al.  True 4D Image Denoising on the GPU , 2011, Int. J. Biomed. Imaging.

[16]  G. Granlund In search of a general picture processing operator , 1978 .

[17]  Magnus Borga,et al.  Blood vessel segmentation using multi-scale quadrature filtering , 2010, Pattern Recognit. Lett..

[18]  Hans Knutsson,et al.  Phase-Based Non-Rigid 3D Image Registration - From Minutes to Seconds Using CUDA , 2011, HPDC 2011.

[19]  Björn Svensson,et al.  Filter networks for efficient estimation of local 3-D structure , 2005, IEEE International Conference on Image Processing 2005.

[20]  Victor Podlozhnyuk,et al.  Image Convolution with CUDA , 2007 .

[21]  Hans Knutsson,et al.  fMRI analysis on the GPU - Possibilities and challenges , 2012, Comput. Methods Programs Biomed..

[22]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[23]  Carl-Fredrik Westin,et al.  Three‐dimensional adaptive filtering in magnetic resonance angiography , 2001, Journal of magnetic resonance imaging : JMRI.