Introduction

Image registration aims at finding the optimal transform that best aligns structures in two input (2D) or volume data (3D) images. It is an important part of image analysis and used in several disciplines. In the medical field, image registration is a key component in several areas including the fusion of morphologic and functional images [1]; image subtraction [2]; intervention planning [3]; computer-aided diagnosis (CAD) and treatment follow-up [4]; intervention simulations [5]; atlas building [68]; radiation therapy [9]; model-based segmentation [10]; and computational model building [11].

Medical image registration methods in general have been reviewed by several authors [1215], most recently by Oliveira & Tavares [16]. Indeed, most reviews focus on algorithms, modalities involved, and the characteristics of the registration task. Hence, they provide a broad picture of the rapidly evolving registration methods.

Penney et al. have compared similarity measures used in registration methods [17]. The comprehensive review by Sotiras has focused on deformable medical image registration methods [18] classifying methods on the basis of the core registration components: (i) deformation models, (ii) matching criteria, and (iii) optimization. Holden has reviewed non-rigid geometric transformation models [19]. Other authors have drawn attention to specific anatomic regions, for example, cardiac image registration [20], or on techniques used for specific purposes, such as brain functional image localization [21], optical breast imaging [22], minimally invasive surgical procedures [23], and coronary heart disease [24]. Image registration in the computational intelligence framework has been reviewed by Ramirez et al. [25], while others emphasize high-performance computing (HPC) [26], metaheuristics such as evolutionary algorithms [27], and implementations on the graphical processing units [28, 29]. Several textbooks also provide extensive discussion on the topic of medical image registration [3034].

However, none of these valuable sources refer to the accessibility of tools. Freely available software fosters research in medical image analysis [35]. They are essential but need clarity regarding pros and cons in features as well as in appropriateness for certain registration tasks. Many software solutions have been developed for special purposes and applications, and there is a variety of toolkits, frameworks, and coding packages already available for medical image registration.

This survey aims at narrowing the gap between the literature, which is mainly dealing with algorithms, and the available tools, which are usually described via their implementations. Scientific literature, so far, has not compared implementation issues, which, however, are highly important to compose medical image analysis pipelines. This paper reviews available software solutions for non-rigid medical image registration to facilitate users’ choice.

Classification Scheme

With respect to previous papers and according to important parameters for software, a classification scheme is proposed. We consider (i) access and technology, (ii) interfaces and application, (iii) living community, (iv) image formats, (v) types of registration, and (vi) similarity measures.

Access and technology

The following items are assigned to all the toolkits:

  • Name: All toolkits are referred to by their names or acronyms. If such a name has not been identified, we name the package by the author providing the code.

  • Reference: For each tool, a scientific paper is identified that best describes the package and its use. This reference might be selected from a larger number of publications, which we do not aim to list comprehensively.

  • Website: We provide the Internet address where the tool can be obtained from.

  • Open source: The availability of the source code is often a major issue. “Yes” and “No” characterize the free availability of sources.

  • Licensing type: The licensing model characterizes the restrictions imposed on the users when using the software. In particular for product development, the licensing model is important. We differentiate three types.

    1. 1.

      Use: The tools are allowed to be used freely for research and academic purposes.

    2. 2.

      Distribute: Such tools come with a license permitting the distribution while requiring that the same rights be preserved in modified versions of the tool (copyleft type licenses).

    3. 3.

      Modify: Tools of this group have minimal restrictions on redistribution conditions (Permissive free license such as BSD licenses) [http://copyfree.org/standard].

  • Programming language: With respect to software integration and source code alterations, the tools programming language is important. The languages in use are C, C++, MATLAB, or Java. We list all that applies.

  • Operating system: The tools were characterized with respect to restriction of use on particular operating systems. Tools may be restricted to Linux, Mac, Windows or combinations of these operating systems.

Interfaces and application

A couple of parameters are important to characterize the coding nature of a toolkit:

  • Graphical User interface (GUI): Medical image registration is often semi-automatic and appropriate GUIs are required. Hence, some tools provide their own GUI for parameterization, performing the registration, or visualization of the result. “Yes” and “No” characterize the availability of a tool-specific GUI.

  • Software platform: There are several platforms in use for medical image processing, and some registration toolkits are particularly designed in such toolkits. Then, it becomes hard to use the toolkit without using the platform. Such platforms are the Insight Segmentation and Registration Toolkit (ITK) [http://www.itk.org], the Simulation Open-Framework Architecture (SOFA) [http://www.sofa-framework.org/], and MATLAB.

  • GPU support: “Yes”, “No”, or “Partial”, when only some modules support GPU use.

  • Multiple application field: “Yes” and “No” based on published use of the tools.

Living Community

  • First Release: The date of initial availability of the tool is recorded. If this date is not available, publication year of the methodology is identified.

  • Last Update: The date of the last update is extracted from websites or documentations of the tools.

  • Active development: “Yes” and “No”, depending on whether there was active development within the last year.

  • Active support: “Yes” and “No”, depending on the availability of user support in the form of an active forum or mailing list.

Image Formats

  • There is a variety of standard image file formats in use for (medical) image processing, and libraries such as OpenCV [http://opencv.org/] and ImageMagick [http://www.imagemagick.org/] allow easy interchange between them. It may, however, be an important criterion that the registration tool natively supports a required format. Hence, we list all supported file formats.

Registration Type

Registration methods handled by each tool are classified by the following criteria based on a subset of possible classifications originally described by Maintz & Viergever [13] and Lehmann et al. [2]:

  • Multiple methods: The tools are distinguished according to whether they include one or more non-rigid registration algorithms.

  • Image dimension: Based on the spatial dimension of the input data, the methods were grouped as two-dimensional (2D), three-dimensional (3D), and 2D and 3D if the tool is capable to process both types of input data.

  • Features: Methods can be classified according to the properties obtained from parts of, or the entire image, which are called features. Based on the classification of Hawkes [36], we distinguish

    1. 1.

      Point: Anatomical (intrinsic) landmark or external fiducials (such as screws) are used as geometrical reference structures to guide the registration process. They are extracted from the images.

    2. 2.

      Line: Lines (in 2D) or surfaces (in 3D) are also used to minimize the distance between corresponding structures in both datasets.

    3. 3.

      Intensity: Intensity-based methods rely on the definition range of pixels/voxels. They are also referred to as area-based methods [37] or iconic methods [38].

  • Elasticity: This criterion is based on the nature of the geometric transform used to map features in the source image into the corresponding location in the target image. We classify elasticity of transform across the spectrum of simple to more complex transforms based on the increasing number of parameters used to describe its degrees of freedom:

    1. 1.

      Rigid: Transforms that can be described by translations and rotations are referred to as rigid since they describe the movement of a rigid body. In 3D, a rigid transform is described by six parameters: 3 rotational and 3 translational degrees of freedom.

    2. 2.

      Affine: The affine transform includes translation, rotation, scaling, and shear. In 3D, it is described by 12 parameters.

    3. 3.

      Curved: Curved methodologies, which are also referred to as deformable, non-rigid, or non-affine methods [36], use higher-order transforms that map lines onto curves.

    4. 4.

      Elastic: If deformable or non-rigid transforms are not curved, they can be modeled using a non-parametric approaches [39]. This category includes elastic methods that do not use any parametric mapping function.

  • Invertibility: A desirable property of registration methods is that each point in image A is mapped only to one point in image B and vice versa. In several non-rigid registration techniques, the estimated transformation from one image to the other does not equal the inverse of the estimated reverse transform [40]. Accordingly, tools were classified with “Yes” and “No.”

  • Modality: Some registration methods, such as template matching, require both of the images to be of the same nature. However, the diversity in medical imaging modalities on morphological as well as functional imaging provides more fields of applications. Based on the sensors and technique used to acquire the images, we distinguish

    1. 1.

      Monomodal: The registration method performs well on images acquired with the same modality (e.g., computed tomography (CT) to CT, magnetic resonance imaging (MRI) to MRI, or positron emission tomography (PET) to PET).

    2. 2.

      Multimodal: The methods may be used with images from two different modalities.

Similarity Measures

Since performance and capability of the similarity measures in use with image registration strongly impact the registration accuracy and speed, the similarity and distance measures implemented in each tool are described. In the following, A and B denote a pair of images, each represented as a set of intensities on N pixels/voxels, the similarity measure is applied to. During the registration process, the similarity measures are evaluated on the image A and a deformed version of the image B. For the sake of consistency, all measures are phrased such that a higher value means a higher similarity. Thus, measures that are naturally phrased such that a lower value means a higher similarity have an additional minus in front, e.g., SSD.

  • CC: The cross correlation is the scalar product of A, and B, each interpreted as long vector of intensities with voxel locations x, i.e.

$$ CC=\frac{1}{N}{\displaystyle \sum_xA(x)B(x)} $$
(1)
  • CCGIP: Convex combination of normalized correlation coefficient (see NCC below) and sum of gradient inner products (see GRAD below), where the convex weighting factor controls the influence of the two terms

  • CR: The correlation ratio is defined as

$$ CR=\frac{1}{Var(B)}{\displaystyle {\sum}_k\frac{n_k}{N}Var\left({B}_k\right)} $$
(2)

where B k is the k th iso-set defined as the set of intensities in image B at positions where the intensity in A is in the k th intensity bin; n k is the number of elements in the set B k such that \( N={\displaystyle \sum_k}{n}_k \) [41], where N is the total number of voxels.

  • ECC: The entropy correlation coefficient is a measure of mutual dependence based on entropy [42]

$$ ECC=\sqrt{2\left(1-\frac{H\left(A,B\right)}{H(A)+H(B)}\right)} $$
(3)

H(A) and H(B) are the Shannon-Wiener entropy of images A, and B

$$ \begin{array}{c}\hfill H(A)=-{\displaystyle \sum_c{P}_A(c) \log {P}_A(c)}\hfill \\ {}\hfill H(B)=-{\displaystyle \sum_c{P}_B(c) \log {p}_B(c)}\hfill \end{array} $$
(4)

where p A (c) is the probability that a voxel in image A has intensity c. H(A,B) is the joint entropy defined as

$$ H\left(A,B\right)=-{\displaystyle \sum_c{\displaystyle \sum_d{p}_{A,B}\left(c,d\right) \log {p}_{A,B}\left(c,d\right)}} $$
(5)

where p A,B (c,d) is the probability that a voxel in the joint image (A,B) has intensity (c,d). See also NMI.

  • GMI: In order to incorporate information on the local anatomic structure in the neighborhood of a voxel, geometric moment rotation invariants [43, 44] are used together with voxel intensities as a similarity measure. At a particular scale, rotation invariant quantities are identified in a specific spherical neighborhood of each voxel. GMI are usually evaluated at different neighborhood sizes.

  • GRAD: The sum of gradient inner products [45]

$$ GRAD=\frac{1}{N}{\displaystyle \sum_x\left|\frac{\nabla A(x)}{\left|\nabla A(x)\right|}\cdot \frac{\nabla B(x)}{\left|\nabla B(x)\right|}\right|} $$
(6)
  • HD: The Hellinger distance is used to quantify the similarity of two probability distributions. Here, the histogram of an image is the probability distribution of the image

$$ HD=-\frac{1}{\sqrt{2}}\sqrt{{\displaystyle \sum_c{\left(\sqrt{p_A(c)}\kern0.5em -\sqrt{p_B(c)}\right)}^2}} $$
(7)
  • JHCT: Jensen-Havrda-Charvat-Tsallis divergence is a generalized entropy-based point-set similarity measure between K point sets determined based on a prior segmentation procedure [46]

$$ JHCT=HC{T}_a\left({\displaystyle \sum_{k=1}^K{\gamma}_k{P}_k\left({X}_k\right)}\right)-{\displaystyle \sum_{k=1}^K{\gamma}_kHC{T}_{\alpha}\left({P}_k\left({X}_k\right)\right)} $$
(8)

where γk are prior weights on the point sets such that γk ≥ 0 and \( {\displaystyle \sum_{k=1}^K}{\gamma}_k=1 \). HCT is the Havrda-Charvat-Tsallis entropy defined as

$$ HC{T}_{\alpha}\left(P(X)\right) = \frac{1}{1-\alpha}\left[{\displaystyle \int }{\left[P(X)\right]}^{\alpha }dx-1\right] $$
(9)

JRD: The Jensen-Renyi divergence is an entropy-based measure introduced by He et al. [47] defined as

$$ JR{D}_{\alpha \omega}\left({p}_1,\cdots, {p}_n\right) = {R}_{\alpha}\left({\displaystyle \sum_i}{\omega}_i{p}_i\right) - {\displaystyle \sum_i}{\omega}_i{R}_{\alpha}\left({p}_i\right) $$
(10)

where R α (p) is the Rényi entropy, α > 0, and α ≠ 1, and p i is the probability distribution of the intensity of the image B under the condition that image A takes the i-th intensity value out of n possible intensity values.

DC: The Dice coefficient can be used as a feature-based similarity measure for registering binary images.

$$ DC=\frac{2\ c\left(A{\displaystyle \cap }B\right)}{c(A)+c(B)} $$
(11)

where the c() operator counts the number of non-zero voxels in a binary image.

MI: Mutual information [48] is a measure of statistical dependency and it is particularly suited for registration methods for multimodal images

$$ MI=H(A)+H(B)-H\left(A,B\right) $$
(12)

NCC: The normalized cross correlation [49] is the cross correlation (CC) applied after first normalizing the images to zero mean and variance one:

$$ NCC = \frac{{\displaystyle {\sum}_x}\left(A(x)-\overset{-}{A}\right)\cdot \left(B(x)-\overset{-}{B}\right)}{\sqrt{{\displaystyle {\sum}_x}{\left(A(x)-\overset{-}{A}\right)}^2\cdot {\displaystyle {\sum}_x}{\left(B(x)-\overset{-}{B}\right)}^2}} $$
(13)

NGF: The normalized gradient fields measure the angle between the image gradients in both images [34].

$$ NGF = -{\displaystyle \int }1-{\left(n(B)(x) \cdot n(A)(x)\right)}^2\ dx $$
(14)

where \( n(A)(x) = \frac{\nabla A(x)}{\sqrt{{\left|\nabla A(x)\right|}^2 + {\eta}^2}} \) for an image A and edge parameter η.

NMI: The normalized mutual information

$$ NMI = \frac{H(A) + H(B)}{H\left(A,B\right)} $$
(15)

ECC and NMI are equivalent in the sense that \( ECC=\sqrt{2\ \left(NMI-1\right)} \)

PSE: The point-set expectation is a point/landmark-based similarity measure [50]. For point sets r and s

$$ PSE\left(r,s\right)=-\frac{1}{\left|s\right|}{\displaystyle \sum_{i=1}^{\left|s\right|}}{\left|\left|{s}_i-\frac{1}{\left|r\right|}{\displaystyle \sum_{j=1}^{\left|r\right|}}G\left({s}_i;{r}_j,{\sigma}_r\right){r}_j\right|\right|}^2 $$
(16)

where | ⋅ | denotes cardinality, and G(s i ; r j , σ r ) is a normalized Gaussian with mean r j and standard deviation σ r .

RIU: The ratio image uniformity is a voxel similarity measure based on the standard deviation of the ratio image, which is calculated as the voxel-by-voxel ratio of two images [51]

$$ RIU= - \frac{\sqrt{\frac{1}{N}{\displaystyle \sum }{\left(R(x)-\overset{-}{R}\right)}^2}}{\overset{-}{R}} $$
(17)

where \( R(x) = \frac{A(x)}{B(x)} \)

RMS: The root mean square measure is a similarity measure based on the squared distance of point features. For two point sets r and s

$$ RMS=-\sqrt{{\displaystyle \sum_i}\left||{r}_i-{s}_i\right|{|}^2} $$
(18)
  • SAD: The sum of absolute differences [49] is a voxel-based similarity measure which is less sensitive to large voxel intensity differences between two images than the sum of squared differences (see SSD below)

$$ SAD = - \frac{1}{N}{\displaystyle \sum_x}\left|A(x) - B(x)\right| $$
(19)
  • SADG: Convex combination of the sum of absolute differences (SAD) and sum of gradient inner products (GRAD)

  • SART: The inter-subject registration algorithm [52] uses the similarity metric

$$ SART = \frac{A^TCB}{\sqrt{B^TCB}} $$
(20)

where C is an idempotent symmetric centering matrix defined so that it removes the mean of the vector it premultiplies.

  • SLS: The scaled least-squared difference [53] is calculated as

$$ SLS = -{\displaystyle \sum_p}{\omega}_p^2\ {\displaystyle \sum_{r_p}}\left(1-\frac{B\left({r}_p\right)}{{\overset{-}{B}}_p}\right) $$
(21)

where p partitions are created based on the intensities in image A, as in CR, and r p represent all voxels in partition p, and B(r p ) represent intensities in partition p. ω p is a weighting function.

  • SSD: The sum of squared differences [49]:

$$ SSD = - \frac{1}{N}{\displaystyle \sum_x}{\left(A(x) - B(x)\right)}^2 $$
(22)

Selection and Evaluation of Tools

Medical image registration tools are identified using a non-systematic search in Pubmed, Web of Science, IEEE Xplore® Digital Library, Google Scholar, combining the following search terms: “medical”, “image”, “registration”, “alignment”, “normalization”, “software”, “tools”; and subsequently through search in references in identified sources published between 1999 and 2014. Software tools were excluded if they did not provide any non-rigid registration method or if they were not freely available for research purposes.

The tools were characterized and classified by the same person based on (i) the reference articles, (ii) tool documentation, and (iii) information available on the websites of the tools

Results

A total of 22 registration tools were identified that were published between 1999 and 2012 (Fig. 1). A tool developed by the The Oxford Centre for Functional Magnetic Resonance Imaging of the Brain (FMRIB) was excluded as it does not provide non-rigid registration methods (FMRIB’s Linear Image Registration Tool). A tool developed by Schwarz [54], the Fast and Flexible Image Registration Toolbox, developed by the SAFIR research group at the University of Lübeck [55], and the Large Deformation Diffeomorphic Metric Mapping (LDDMM) [56] tool, developed by the Center for Imaging Science (CIS) at Johns Hopkins University, were excluded because of unavailability. Thus, there were 18 tools remaining.

Fig. 1
figure 1

Selection of tools

Registration Tools

Automated Image Registration (AIR)

AIR is distributed and copyrighted by the Laboratory of Neuro Imaging at the University of Southern California, Los Angeles, USA, and designed for intra- and inter-modality (MRI, PET) rigid and non-rigid registration of brain images [51]. It is open-source software written in C and distributed as source code. Separate programs are available for 2D and 3D image registration tasks. For non-rigid registration, polynomial transformations up to fifth order are included.

Advanced Normalization Tools (ANTS)

ANTS is a software package developed by the Pennsylvania Penn Image Computing and Science Lab, Philadelphia, USA. It is an open-source tool released under a copyleft style license. ANTS includes a variety of transformations ranging from rigid, affine, and elastic to diffeomorphic transformation models. The most flexible transformation is a symmetric diffeomorphic transformation based on optimizing and integrating a time-varying velocity field [57]. Comparative image registration algorithm assessments using brain MRI [58] and chest CT [59] have shown that the Symmetric Normalization transformation implemented in ANTS performed consistently among the top of the tested registration algorithms.

ART 3dwarper

The 3dwarper program is part of the Automatic Registration Toolbox (ART) [http://www.nitrc.org/projects/art]. It was developed by Babak Ardekani at the Center for Advanced Brain Imaging, The Nathan S. Kline Institute for Psychiatric Research, Orangeburg, USA, and it is released under a “Free For Non-Commercial Use Only” license. It provides a non-parametric curved image registration method for inter-subject 3D MRI brain image registration [52].

bUnwarpJ

bUnwarpJ is written by Ignacio Arganda-Carreras at the Biocomputing Unit, National Centre of Biotechnology, Universidad Autónoma de Madrid, Spain, for consistent and elastic image registration of histological sections [60]. It is released under the terms of GNU General Public License. It is included in ImageJ [http://imagej.nih.gov/ij/] as a plugin and handles 2D images. The registration method is based on B-spline model to describe the deformation field and vector-spline regularization [61].

DRAMMS

This tool was developed by the Section for Biomedical Image Analysis at the University of Pennsylvania, Philadelphia, USA, and it is available under a BSD-style open-source license. The tool implements the Deformable Registration via Attribute Matching and Mutual-Saliency Weighting (DRAMMS) [62] algorithm for mono- and multimodality, 2D and 3D image registration tasks. It is distributed as source code, and it is a fully automatic command-line tool.

Drop

The Drop software was written by Ben Glocker and Nikos Komodakis for deformable image registration using discrete optimization [63]. The copyright is held by Mathématiques Appliquées aux Systèmes, Ecole Centrale de Paris, France, but the software is freely available for research purposes. Binaries are available for Linux and Windows operating systems. It supports both intensity and feature-based registration, includes several similarity measures, and uses transformation model based on cubic B-splines.

Elastix

Elastix [64] was developed at the Image Sciences Institute, University Medical Center Utrecht, The Netherlands, by Stefan Klein, Marius Staring, and Josien Pluim. It is an open-source tool released under Apache 2.0 license. It is built on the ITK framework implementing several intensity-based medical image registration methods. The tool supports rigid, affine, and non-rigid transformation models. For non-rigid transformations B-spline representations [65], thin-plate spline [66] and the elastic body spline models [67] have been implemented. The program provides the ability to concatenate a number of geometric transformations and supports a linear combination of cost functions in addition to the choice of several cost functions. It has been used in several research projects and the software is actively developed.

Flexible Algorithms for Image Registration (FAIR)

The FAIR package by Jan Modersitzki is a copyrighted software intended and freely available for academic and teaching purposes [34]. It supports rigid, affine, and parametric non-rigid spline-based registration. The tool is written in MATLAB and allows exploration of various existing techniques and invention of new features with the possibility of integration of individual add-ons, which allow the fine tuning and individualization of the toolbox for specific applications.

FMRIB’s Non-Linear Image Registration Tool (FNIRT)

This tool was developed by the FMRIB Analysis Group, University of Oxford, UK, for the non-rigid registration of brain images [68]. Its copyright is held by the University of Oxford, but the software is freely available for research purposes. Binaries are available for Linux and Mac operating systems, and Windows is supported with a Linux Virtual Machine. The tool provides non-rigid image registration using linear combinations of basis functions represented by quadratic or cubic B-splines.

Tool of Gilles

This open-source tool provides a non-rigid registration method written by Benjamin Gilles, Sensorimotor Systems Lab, University of British Columbia, Vancouver, Canada. It is released under the GNU General Public License. The tool is implemented within the Simulation Open-Framework Architecture (SOFA) [http://www.sofa-framework.org] and is meant to register a combination of a mesh and a corresponding volumetric 3D image on a target (e.g., MRI). Gilles et al. have developed a non-rigid registration method based on blending rigid transforms of overlapping mesh regions [69]. For each region, a goal position is calculated iteratively regarding intensity profiles. To prevent noise and aperture problems, shape matching deformations are applied.

Hierarchical attribute matching mechanism for elastic registration (HAMMER)

This tool was developed by The Section for Biomedical Image Analysis at the University of Pennsylvania, Philadelphia, USA (SBIA). The software is licensed by SBIA, and it is freely available for research purposes. Binaries are available for Windows and Linux operating systems. It implements the HAMMER method for non-rigid registration of 3D brain volumes, as described by Shen & Davatzikos in 2002 [44]. It is a feature-based method using an attribute vector, defined on each voxel, which reflects the underlying anatomy. The tool has been extensively used in clinical research studies for brain image registration. Its strengths include emphasis on determining anatomical correspondences and inverse consistency. The tool requires pre-segmented brain images and a further limitation is computational cost.

The Medical Image Registration Toolkit (MIRTK)

This image registration software was written by Daniel Rueckert, Department of Computing, Imperial College London, UK, and recently re-written by Andreas Schuh. It is intended for image, landmark, and surface registration tasks of 2D and 3D images. The software is released under the Apache License Version 2. Binaries are available for Windows, Linux, and Mac operating systems. The tool supports rigid, affine [70], and non-rigid transformations methods [65, 71].

Tool of Kroon

This is an open-source tool written by Dirk-Jan Kroon [72] and released under the BSD license. It is a MATLAB implementation based on the demon registration [73], a non-rigid registration of 2D and 3D images. It also supports registration of multiple MRI modalities with the help of a modality transform function.

NiftyReg

NiftyReg was developed by the Translational Imaging Group with the Centre for Medical Image Computing at University College London, UK, and is distributed under a non-restrictive license. The tool implements the Fast Free-Form Deformation algorithm [74] and offers a substantially decreased computational time compared to the classical Free-Form Deformation (FFD) algorithm [65].

Plastimatch

This software package, developed by the Plastimatch development team, is licensed under the BSD license. It includes several intensity-based and feature-based non-rigid registration methods intended for automated medical image registration tasks. Depending on the registration method, four implementations are currently available: ITK, single core, multi-core, or GPU. The package has been used in radiotherapy planning studies.

Symmetric Log-Domain Diffeomorphic Image Registration (SLDIR)

This tool was written by Florence Dru, Asclepios Research Group, INRIA Sophia Antipolis, France, and Tom Vercauteren, Mauna Kea Technologies, France [75]. It is the ITK implementation of the symmetric log-domain diffeomorphic image algorithm described by Vercauteren et al. in 2008 [76]. It is an open-source tool released under the BSD license. The tool implementation follows the style of the Insight Toolkit dividing the algorithm into meaningful and reusable classes. An implementation for performing a prior affine registration before non-rigid registration is also provided.

Statistical Parametric Mapping (SPM)

The SPM tool is a collaborative work by the Wellcome Trust Centre for Neuroimaging and is developed for the analysis of brain imaging data sequences [77]. It is distributed under the terms of the GNU General Public License. It is a collection of MATLAB functions and subroutines implementing the theoretical concepts of Statistical Parametric Mapping [78] in a complete analysis package designed for the analysis of brain imaging data sequences. The package includes rigid, curved, and elastic registration algorithms [79, 80]. It has been extensively used in the neuroimaging community.

3D Slicer

3D Slicer is an open-source software package built on ITK for medical image computing and visualization [35]. It is distributed under a BSD-style open-source license that contains no restrictions on use of the software. It provides versatile visualizations and advanced functionalities, including automated segmentation and image registration. Slicer is flexible in terms of available registration methods: it includes more than 10 modules for various different registration tasks including rigid/non-rigid, image-based/feature-based methods, various choices of cost functions in selected modules, robust versus fast, and interactive vs. automated methods. 3D slicer has been applied in a variety of clinical and pre-clinical research projects.

General Characteristics of the Tools

Four, one, and two of the reviewed tools are based on the Insight Segmentation and Registration Toolkit (ITK), the Simulation Open-Framework Architecture (SOFA), and MATLAB, respectively (Table 1). In total, 12 tools are open source. Eight tools are released under permissive free licenses, which impose the least restriction on the use and further development of the tool. The 3D Slicer tool supports the largest selection of image formats, while Anlyze, DICOM, and NifTi image formats are supported by most of the tools (Table 2.).

Table 1 Summary of registration software tools. AIR: Automate Image Registration, ANTS: Advanced Normalization Tools, ART: Automatic Registration Toolbox, BSD: BSD type license, DRAMMS: Deformable Registration via Attribute Matching and Mutual-Saliency Weighting, FAIR: Flexible Algorithms for Image Registration, FNIRT: FMRIB’s Non-linear Image Registration Tool, GUI: graphical user interface, GNU: GNU General Public License, HAMMER: hierarchical attribute matching mechanism for elastic registration, M IRTK: The Medical Image Registration Toolkit, ITK: Insight ToolKit, SLDIR: symmetric log-domain diffeomorphic image registration, SOFA: Simulation Open-Framework Architecture, SPM: Statistical Parametric Mapping
Table 2 Supported image formats in registration software tools. AIR: Automate Image Registration, ANTS: Advanced Normalization Tools, ART: Automatic Registration Toolbox, DRAMMS: Deformable Registration via Attribute Matching and Mutual-Saliency Weighting, FAIR: Flexible Algorithms for Image Registration, FNIRT: FMRIB’s Non-linear Image Registration Tool, GUI: graphical user interface, HAMMER: hierarchical attribute matching mechanism for elastic registration, MIRTK: The Medical Image Registration Toolkit, SLDIR: symmetric log-domain diffeomorphic image registration, SPM: Statistical Parametric Mapping

Characteristics of Implemented Methods

All of the tools include implementation of some type of curved or elastic registration method (Tables 3 and 4). Only one of the tools (bUnwarpJ), which was developed for the registration of images of histological sections, is appropriate exclusively for 2D images. Five tools (ANTS, FAIR, Plastimatch, SPM, and 3D Slicer) implement both curved and elastic image registration methods, and 6 tools provide landmark-based registration methods. SSD- and MI-based similarity metrics are supported by most of the tools. The Drop tool provides the largest choice of similarity metrics.

Table 3 Characteristics of methodology used in the registration software tools
Table 4 Similarity metrics and methods used in the registration software tools. CC: cross correlation, CCGIP: Normalized Correlation Coefficient plus Sum of Gradient Inner Products, CR: correlation ratio, DC: Dice coefficient, ECC: Entropy Correlation Coefficient, GRAD: Sum of Gradient Inner Products, HD: Hellinger Distance, ICP: Iterative Closest Point, JE: joint entropy, JHCT: Jensen-Havrda-Charvat-Tsallis divergence, JRD: Jensen-Renyi Divergence, MI: mutual information, MSD: mean squared difference, NCC: normalized correlation, NGF: normalized gradient fields, GMI: geometric moment invariants, NMI: normalized mutual information, PSE: point-set expectation, RIU: Ratio Image Uniformity, RMS: root mean square average, SAD: Sum of Absolute Differences, SADG: Sum of Absolute Differences plus Sum of Gradient Inner Products, SART: similarity metric in the automatic registration toolkit, SLS: scaled least-squared difference image, SSD: sum of squared differences

Discussion

This paper presents a review of publicly available software tools for non-rigid image registration. There are a large number of software tools for medical image registration ranging from stand-alone tools providing a single registration method to software packages providing several utilities including various registration methodologies. Some of the tools, especially the larger ones are open source (ANTS, Elastix, SPM, 3D Slicer). They are actively supported and further developed.

Most of the reviewed tools were established for brain image registrations, but many of the registration algorithms used in these tools were applied successfully to other registration tasks, for example, the registration of thoracic CT [59].

In recent years, the use of intensity-based registration methods has been growing compared to the feature-based methods [16], and this trend can be seen in the methods implemented in the tools reviewed in this paper. However, the most recent developments and the newer registration methods may not always be implemented in publicly available tools. For example, the method using direct registration of intensity images that generalizes the HAMMER algorithm [85] is not included in the HAMMER registration tool. Several methods, reviewed by Sotaris (2013), that offer a unified approach benefiting from the advantages of both intensity-based and landmark approaches are not available in the reviewed tools. The gap between publication of algorithms and toolbox availability may span years.

As a desirable property, some tools (e.g., Elastix, ANTS, 3D Slicer) are designed in a modular fashion, allowing users and those evaluating the tools to easily choose, alter, and improve the individual registration components and make it suitable for specific image registration tasks.

In our view, the most important factors that, in general, may favor a tool over another are the versatility of provided registration methods, the availability of other utilities within a tool, availability of user support and efficiency. Since only limited information on implementation efficiency was available for the reviewed software tools, we were unable to make useful comparisons in this respect. Based on the evaluated characteristics, Elastics and Plastimatch are chosen as recommended tools.

In summary, there is a broad selection of freely available image registration tools that can be employed for a variety of medical image registration tasks. This review may help researchers to identify the appropriate tool for their needs. However, the choice is task specific and cannot be unequivocally answered in this paper.