HPC Software for Medical Imaging

Lead Research Organisation: University College London
Department Name: Medical Physics and Biomedical Eng

Abstract

The performance of computers with a single core , i.e. a traditional CPU, is not expected to continue increasing at the same rate as in the past. To boost overall computer performance, manufacturers now provide multi-core processors. For the development of faster software, programmers are going to be forced to make use of multi-core technology. The power of the mass market means that there are now two relatively cheap hardware configurations each with about 100 cores. These are computer clusters where PCs are networked together, and, graphics cards. The performance of graphics cards has recently been outstripping that of CPUs. Graphics cards have the added advantages of being cheap and self-contained.In medical imaging, the alignment or registration of images is an important step in clinical image analysis. In diseases such as Alzheimer's or other forms of dementia, the brain shrinks over an extended period of time. Over shorter time scales these changes are not obvious when looking at two images side-by-side. Registration aligns images by accounting for differences in the patient position and scanner variations. It also provides a measure of local changes in tissue volume. These algorithms take hours to run, longer than the time a patient is in a scanner. If the data processing could be complete with a few minutes, more detailed follow-up scanning could be possible.Registration is also used to combine large numbers of datasets to determine normal and abnormal anatomy. This is often called atlas building. The creation of atlases needs large amounts of memory and this currently limits the number of datasets that can be included. Building an atlas is well suited to a computer cluster. Once created, if an atlas could be registered with a patient's image whilst they were still in the scanner, it could provide information on-the-spot about abnormal anatomy in the patient. Some of the newer Magnetic Resonance Imaging (MRI) techniques such as diffusion weighted imaging and functional MRI provide detailed information about nerve connections in the brain or show up thoughts . The processing of this data requires images to be in alignment, again, if this could be complete in minutes, diagnosis would be enhanced. This proposal aims to develop algorithms using high-level languages for use on graphics cards or computer clusters. Much of the previous work in this area has required specialised knowledge of the hardware and considerable programming skills. By using the newer high-level languages, we will be able to concentrate more on the applications and problems than the details of the hardware and software architecture. This lends itself to high-quality code because it can be read easily by others, checked on other systems and integrates with debugging and visualisation tools.We aim to demonstrate and evaluate registration algorithms in clinical applications that are currently not feasible due to the data processing being too slow or memory-intensive.

Publications

10 25 50

publication icon
Taylor ZA (2008) Modelling anisotropic viscoelasticity for real-time soft tissue simulation. in Medical image computing and computer-assisted intervention : MICCAI ... International Conference on Medical Image Computing and Computer-Assisted Intervention

 
Description An important and developing area is the incorporation into image analysis algorithms of biomechanical models of how
tissues deform. Common example applications include surgical guidance and planning, and, the warping of one image to align it with another (non-rigid registration). In such cases biomechanical models provide a powerful basis for analysing and accounting for the deformation of structures within images. To be clinically useful, however, any approach must yield solutions within a "reasonable" time: intra-operative applications require near real-time solutions; statistical atlas construction involving multiple registrations dictates rapid individual registrations (these atlases capture information from multiple subjects but require anatomic features to be aligned). Biomechanical models are generally computationally intensive, especially in the clinically relevant cases of nonlinear analyses. Consequently, their clinical employment has been limited.


In response to this we have developed methods for accelerating biomechanical computations using graphics processing units (GPUs). Such devices derive very high floating point operation capacities from massively parallel Single Instruction Multiple Data chip architectures. The power of these devices is best harnessed when algorithms are data parallel. Our developments were based on efficient parallelisation of tissue models, rather than any simplification of models.


The most physically consistent biomechanical models are those based on a soft tissue response that varies with time.
Though there have existed mature frameworks for modelling such phenomena (the predominant one being viscoelasticity), they have largely been omitted because of their computational complexity. We developed an efficient
numerical procedure that allows inclusion of viscoelastic models in Finite Element models. We used an "explicit" method that allows the system to be decomposed into parallel loops over the nodes and elements of a Finite Element mesh.


GPU-based implementations of all algorithms were produced using NVidia's CUDA language. In this framework code is divided into a CPU-host component and a GPU-device component. The former comprises regular C/C++ code, while the latter comprises C code augmented by a number of additional types and functions, plus some CUDA-specific execution structures. Being an extension of the C language, CUDA simplifies integration of GPU computation with larger or existing systems.


Results from the GPU-based solver were compared with those of a serial CPU-based implementation developed
concurrently. No precision errors appear to be introduced in the GPU version. Comparison of execution times for meshes
of various sizes shows a peak acceleration of 56.3 times for the GPU implementation. Models with up to 55,000 degrees
of freedom are solvable in real-time, while even large problems of around 1.5M degrees of freedom are solvable in
approx. 42sec, making them viable for intra-operative applications.

The performance of the viscoelastic solution method was assessed by comparison with equivalent elastic models. The
procedure was shown to result in only an approx. 5% increase in computation time. Combined with a Finite Element
framework, the procedure allows use of robust viscoelastic constitutive models in time-critical applications.





Originality: First efficient implementation of anisotropic, visco-elastic tissue models on GPUs. Technique allows realistic
modelling of tissue deformations with time varying material properties including stress dissipation.



Significance:
Enables rapid simulation of tissue deformation with applications to interactive surgery simulation and interoperative image registration. Implemented in the SOFA Open Source Framework. With one other paper, forms the principal basis for the Open Source NiftySim software (sourceforge.net/projects/niftysim/) with over 500 downloads since launch.

Rigour:
Performance evaluated using simulations and data derived from liver images. Extensive measures of algorithm timings
relevant to real-time applications.
Exploitation Route The material modelling techniques may be applicable in an industrial context. NiftySim code is available for download:

http://cmic.cs.ucl.ac.uk/home/software/
Sectors Healthcare

URL http://cmic.cs.ucl.ac.uk/home/software/
 
Description The methodology for more realistic simulation of biological tissue has been published and related software is now available open source.
First Year Of Impact 2011
Sector Healthcare
Impact Types Policy & public services

 
Title NIftySim 
Description Nifty Sim is a high-performance nonlinear finite element solver, developed at University College London. A key feature is the option of GPU-based execution, which allows the solver to significantly out-perform equivalent commercial packages. 
Type Of Technology Software 
Year Produced 2009 
Open Source License? Yes  
Impact Work in this grant contributed to the NiftySim package. This has 1700+ downloads from sourceforge.net 
URL http://niftysim.sourceforge.net/