Chair for Computer Aided Medical Procedures & Augmented Reality
Lehrstuhl für Informatikanwendungen in der Medizin & Augmented Reality

Distribution of Image Registration Algorithms

Quick Introduction into the theme

The registration of images is an important tool in computer aided diagnosis. Existing implementations of Image Registration Algorithms are already available in the CAMP library. To optimize these implementations it would be interesting to see if the distribution of the computation on multiple processors or a cluster will achieve results faster.

Project Description

Distributing the existing image registration implementation using MPI. The best-neighbor optimizer is distributed so multiple positions can be evaluated in parallel.
Testing and documenting the results on the Infiniband Cluster provided by the LRR chair(

Sequential image registration by voxel intensities using the whole image content is an iterative process.


Data 1 is the moving image, Data 2 the fixed image. Starting with an initial transformation T the moving image is interpolated and the two images are compared. These values are used in the optimizer to refine the transformation T. This loop of interpolation, comparison and optimization runs until the values fall below a threshold and the registration terminates.

This needs a lot of computational power and makes it the point of attack.


By distributing this loop multiple values can be evaluated at the same time and thus the runtime can be decreased significantly.

The details how the implementation works and the results of the extensive testing are explained in the documentation of the SEP.

Testing was done and the results are convincing. The distributed implementation reaches a speedup of about 11.4 times compared to the sequential image registration.

Flexibility is reached because of the design using the decorator pattern of the CAMP library. The class RegistrationMPI can be used to register two images or volumes of every modality and dimension that is provided by the sequential registration.

This piece of code shows the way how the distributed registration is called.


The user can decide what kind of registration shall be performed by giving an instance of the correct registration like for example Registration3D3D to the constructor of RegistrationMPI.

In the slides of the final presentation some parts of the code can be found.

Systementwicklungsprojekt. Supervisor: Wolfgang Wein

-- WolfgangWein - 20 Jul 2004

-- ThorbenFlaemig - 20 Jul 2004

-- ThorbenFlaemig - 10 Aug 2005

Title: Distribution of Image Registration Algorithms
Abstract: Existing intensity-based image registration algorithms are implemented in a distributed version using the Message Passing Interface (MPI). Performance evaluations are performed on the Infiniband cluster.
Student: Thorben Flaemig
Director: Nassir Navab
Supervisor: Wolfgang Wein
Type: SEP
Status: finished
Start: 2004/04/15
Finish: 2005/08/15

Edit | Attach | Refresh | Diffs | More | Revision r1.9 - 25 Nov 2005 - 13:55 - WolfgangWein