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

MSRC Registration Toolbox


This python toolbox performs registration between 2-D microscopy images from the same tissue section or serial sections in several ways to achieve imaging mass spectrometry (IMS) experimental goals.

This code supports the following works and enables others to perform the workflows outlined in the following works, please cite them if you use this toolbox:

  • Advanced Registration and Analysis of MALDI Imaging Mass Spectrometry Measurements through Autofluorescence Microscopy10.1021/acs.analchem.8b02884

  • Next Generation Histology-directed Imaging Mass Spectrometry Driven by Autofluorescence Microscopy10.1021/acs.analchem.8b02885

need a thumbnail



The Binary Pattern Dictionary Learning (BPDL) package is suitable for image analysis on a set/sequence of images to determine an atlas of a compact region. In particular, the application can be maping gene activation accross many samples, brain activations in a time domain, etc.


BIRL: Benchmark on Image Registration methods with Landmark validation


The project introduces a cross-platform framework for comparison of image registration methods with landmark validation (registration precision is measured by user landmarks). The project contains a set of sample images with related landmark annotations and experimental evaluation of state-of-the-art image registration methods.

Some key features of the framework:

  • automatic execution of image registration of a sequence of image pairs
  • integrated evaluation of registration performances using Target Registration Error (TRE)
  • integrated visualization of performed registration
  • running several image registration experiment in parallel
  • resuming unfinished sequence of registration benchmark
  • handling around dataset and creating own experiments
  • rerun evaluation and visualisation for finished experiments
has function



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