Parallelizing ultrasound strain imaging using the GPU

From the application form:

Ultrasound imaging is widely used in medical research. Elastography or strain imaging is a technique derived from ultrasound imaging. This technique is applied in the cardiovascular field for detection of congenital heart defects and rupture-prone plaques in the carotid artery and in other fields for quantification of e.g. schisis reconstruction and stiffnes of the cervix.

The software currently used in our group for strain imaging is time-consuming. This means that acquired ultrasound images need to be stored for offline analysis. Analysis of the images can take overnight. One cause of this time-consuming nature is the sequential programming in Matlab. The strain software performs the same computation thousands of times in a sequential order. Performing these computations in parallel opens the door towards real-time application of strain imaging in the clinic.

In this project, normxcorr2, the core function for calculating displacement of features in biological tissue, was optimized and parallelized. Parallelization was first attempted using CUDA, but we were more successful using OpenMP.

The project is funded by NCF, grant number NRG-2010.4

A comprehensive report is available.