NiftyReg contains programs to perform rigid, affine and non-linear registration of medical images. Two versions of the algorithms are included, a CPU- and a GPU-based implementation. Further information about the method can be found here. Contributors include Marc Modat, Pankaj Daga, David Cash and Sébastien Ourselin.
Non-linear medical image registration is a tool commonly used in medical image analysis. However registration techniques are usually time consuming. Graphics Processing Units (GPUs) achieve a high floating point capacity by distributing computation across a high number of parallel execution threads. This computational capacity can be used to dramatically decrease the computation time of well-known medical image registration algorithms provided they can be mapped to a parallel architecture. I have developed a parallel version of the well-known free-form deformation algorithm and implemented it using the CUDA API from NVidia. Execution time falls from a few hours to less than a minute with similar accuracy. Further methodological work involved biomechanically constrained medical image registration, differential bias field correction or topology preservation for medical image registration purpose and diffeomorphic registration.
An Alzheimer's disease patient brain (left) is registered to a normal control brain image (right). The middle image shows the warping of the source image into the target image coordinate system and the difference image.
Source Image Result and Difference Image Target Image