Registration

TODO learn: {"content"=>"techniques"}

What is Registration?

Image registration is the process of transforming different sets of image data into one coordinate system. Image data may be multiple photographs, data from different sensors, times, depths, or viewpoints. It is used in computer vision, medical imaging, biological imaging and brain mapping, military automatic target recognition, and compiling and analyzing images and data from satellites. Registration is necessary in order to be able to compare or integrate the data obtained from these different measurements.

Essentially, image registration is used to align two or more images of the same scene. The transformation function, the method for modifying the spatial relationship between pixels, needs to be estimated/modeled in order to register the two images. The input image is the image that will be transformed, and the reference image is the one against which the input is registered. Geometric distortions causing differences in angle, orientation, shifting, and distance need to be taken into account. One of the most common methods to do image registration uses points that correspond to locations known in both the input and reference images. Tools exist in ImageJ that can automatically detect such correspondence points to then estimate the transformation function.

Here we summarize some of the Registration plugins in ImageJ.

 Plugin Name Short Description Highlights Plugin Snapshot Feature Extraction A tool for identifying a set of corresponding points of interest in two images Interest points are detected using the Difference of Gaussian detectorUses the Scale Invariant Feature Transform (SIFT) and Multi-Scale Oriented Patches (MOPS) for local feature descriptionEstablished matches are filtered using the Random Sample Consensus (RANSAC)The extracted sets of corresponding landmarks and the calculated transformations are used in TrakEM2, Register Virtual Stack Slices and BUnwarpJ for image registration. MOPS feature correspondences (example 1) Linear Stack Alignment with SIFT A tool for aligning image stacks A lightweight SIFT-implementation for Java after the paper of David Lowe1. BUnwarpJ A tool for elastic and consistent image registration Performs 2D image registration based on elastic deformations represented by B-splinesInvertibility of the deformations is enforced through a consistency restrictionGet started with the detailed BUnwarpJ user manual TrakEM2 A tool for morphological data mining, three-dimensional modeling and image stitching, registration, editing and annotation Registers floating image tiles to each other using SIFT and global optimization algorithms.See the TrakEM2 sser manual section on registration Register Virtual Stack Slices A tool that takes a sequence of image slices stored in a folder and delivers a list of registered image slices The plugin can perform 6 types of image registration techniques: Translation, Rigid (translation + rotation), Similarity (translation + rotation + isotropic scaling), Affine, Elastic (via BUnwarpJ with cubic B-splines), and Moving least squaresAll models are aided by automatically extracted SIFT features Fijiyama A registration tool for 3D multimodal time-lapse imaging User-friendly, generic and versatileAutomatic 3D registration (two algorithms available)Manual registration (using the 3D_Viewer)Movie tutorials and example datasetsSettings automatically adjust based on your dataTransformations: linear or non-linearTested on specimens: human, vine trunk,Tested on modalities: MRI, X-ray CT, PhotographLimitations: should be avoided for big datasets (more than 15 time points or 1GB+).

1. Lowe D (2004), "Distinctive Image Features from Scale-Invariant Keypoints", *International Journal of Computer Vision* **60**: 91-110, ↩︎

Other pages and tools for Registration in ImageJ

See Category:Registration for other ImageJ pages and tools about image registration.