[
home]
[
Personal Program]
[
Help]
tag
10:40
15 mins
PARALLELIZING 2D ULTRASOUND STRAIN IMAGING
Tim Idzenga, Evghenii Gaburov, Jan Menssen, Chris de Korte
Session: Imaging - General
Session starts: Thursday 24 January, 10:40
Presentation starts: 10:40
Room: Lecture room 559
Tim Idzenga (Radboud University Nijmegen Medical Centre, Dept. of Radiology, MUSIC)
Evghenii Gaburov (SARA)
Jan Menssen (Radboud University Nijmegen Medical Centre, Dept. of Radiology, MUSIC)
Chris de Korte (Radboud University Nijmegen Medical Centre, Dept. of Radiology, MUSIC)
Abstract:
Deformation of tissue can be accurately estimated from radiofrequency ultrasound data using 2-dimensional Normalized Cross Correlation (NCC) [1]. These deformations can be used to identify pathological tissues, e.g. tumors in breast tissue or vulnerable plaques in the arteries. Strain estimation, however, is very computation time-consuming and could therefore benefit tremendously from a speedup.
Parallelizing the NCC computations could lead to a major time-reduction. For this we have investigated the use of a Graphics Processing Unit (GPU) and compared the results with 2 CPU-based approaches. The latter two were the MATLAB build-in function (running on a single core) and an optimized C-based function (running on a single core and an 8-core node using OpenMP). The GPU-implementation was written using Compute Unified Device Architecture (CUDA). The performance of the three implementations was expressed in the number of floating-point operations per second (FLOPS) that could be achieved. On an in vivo ultrasound data set of the common carotid artery during one cardiac cycle we compared the performance and computation time for the three implementations. All computations were executed on the LISA GPU-cluster (www.sara.nl) which consisted of nodes equipped with 2 quad CPU processors: Intel(R) Xeon(R) CPU L5420 (20 GFLOPS/core single precision). Each node was equipped with a Tesla M1060 (933 GFLOPS, Nvidia, Santa Clara, CA).
On NCC-computation the MATLAB-function achieved a maximum performance of 2.3 GFLOPS (11.5% of peak performance), whereas the C-implementation achieved a maximum performance of 5.4 GFLOPS on the single core (27% of peak performance) and 40.5 GFLOPS (25% of peak performance) on the 8-core node. The GPU-implementation achieved the highest performance of 225 GFLOPS (24% of peak performance). The mean execution time of the strain estimation algorithm on the in vivo data using the MATLAB NCC-function was 144 mins. Using the C-function on a single core it was 25 mins and 8 mins on the 8-core. Using the CUDA-function the mean execution time was 5 mins. Neither of the implementations resulted in a significant loss in elastogram image quality.
Parallelization of the NCC calculations in strain estimation using a GPU significantly reduces the computation time, CUDA achieves the largest performance. The gain in computation time is less than expected from the performance. This is probably due to overhead code that is executed in MATLAB. Nevertheless, the time required for estimating deformation in tissue is reduced from hours to minutes. This opens the door to real-time ultrasound strain estimation.
REFERENCES
[1] R.G.P. Lopata, M.M. Nillesen, H.H.G. Hansen et al., “Performance evaluation of methods for two-dimensional displacement and strain estimation using ultrasound radio frequency data,” Ultrasound Med.Biol., vol. 35, no. 5, pp. 796-812, 2009.