Image registration is the process of transforming different sets of data into one coordinate system. Registration is necessary in order to be able to compare or integrate the data obtained from different sensors/imaging modalities, at different times, from different view points, etc. . Registration can be based on correspondence established between the landmarks or feature points. Alternatively, some similarity/distance metric is established between the image intensity maps to navigate the registration process.

Image alignment



It is an interactive front-end visualization for registration software based on Elasix (VTK/ITK)

has topic
need a thumbnail



Non linear registration intensity based for MRI brain exams. To be applied after FLIRT

a brain mri

FMRIB's Linear Image Registration Tool FLIRT


FLIRT (FMRIB's Linear Image Registration Tool) is a fully automated robust and accurate tool for linear (affine) intra- and inter-modal brain image registration.

FLIRT comes with a main GUI as well as three supporting guis:

  • ApplyXFM - for applying saved transformations and changing FOVs
  • InvertXFM - for inverting saved transformations
  • ConcatXFM - for concatenating saved transformations



Python/C++ port of the ImageJ extension TurboReg/StackReg written by Philippe Thevenaz/EPFL.

A python extension for the automatic alignment of a source image or a stack (movie) to a target image/reference frame.

need a thumbnail

Align slices in stack


Align_slices in stack utilized the template matching function cvMatch_Template to do slice registration(alignment) based on a selected landmark.
This function will try to find the landmark or the most similar image pattern in every slice and translate each slice so that the landmark pattern will be the same position throughout the whole stack. It could be used to fix the drift of a time-lapse image stacks.

Source code: link

Input data: image stack
output data: image stack

has function

Template Matching and Slice Alignment--- ImageJ Plugins


This ImageJ plugin contains two functions. The first one is the cvMatch_Template. It implements the template matching function from the OpenCV library. The second function Align_slices in stack utilized the previous matching function to do slice registration(alignment) based on a selected landmark. 

For more details, refer to the page of each component. 


Align Slices in Stack

has function



Elastix is a toolbox for rigid and nonrigid registration of (medical) images.

Elastix is based on the ITK library, and provides additional algorithms for image registration. 

The software can be run as a single-line command, making it easy to include in larger scripts or workflows. The user needs to edit a configuration file that contains all relevant parameters for registration: transformation model, metric used to comapre images, optimization algorithm, mutliscale pyramidal representation of images...

Nowadays elastix is accompanied by SimpleElastix, making it available in other languages like C++, Python, Java, R, Ruby, C# and Lua.

elastix logo

Spark Stitcher


Reconstruct big images from overlapping tiled images on a Spark cluster.

The code is based on the Stitching plugin for Fiji




Working version of a simple GUI frontend for CMTK image registration tools in Fiji

has topic
need a thumbnail



The MIPAV (Medical Image Processing, Analysis, and Visualization) application enables quantitative analysis and visualization of medical images of numerous modalities such as PET, MRI, CT, or microscopy. Using MIPAV's standard user-interface and analysis tools, researchers at remote sites (via the internet) can easily share research data and analyses, thereby enhancing their ability to research, diagnose, monitor, and treat medical disorders.