Medical Image Registration ToolKit (MIRTK)

The MIRTK is a research-focused image processing toolkit, developed at the BioMedIA research group. It provides a collection of libraries and command-line tools to assist in processing and analyzing imaging data. The main application of the MIRTK is in adult and neonatal brain MR image registration as well as the reconstruction of cortical surface meshes. The modular project organization of the MIRTK enables the installation of selected modules.

In the event you found the MIRTK useful, please consider giving appropriate credit to the software with a citation of the research article(s) describing the implemented algorithm(s). See the list of publications for suitable references.


Module Brief Description
Common Base classes and common functions. (required)
Numerics Utility types such as matrices and functions for numerical optimization.
Image Image containers, interpolators, and basic image processing filters.
I/O I/O functions such as image and point set file readers and writers.
Point Set VTK point set/surface filters. Required for point set/surface registration.
Transformation Image and point set transformation types and regularization terms.
Registration Image and point set registration library.
Deformable Library for Euler integration of deformable meshes such as cortical surfaces.
Mapping Filters for the mapping of brain surfaces and volumes.
Scripting Collection of auxiliary modules for scripting languages such as Python.
Draw-EM Structural and tissue segmentation of neonatal brain MR images.


aggregate-images average-dofs average-images average-measure
average-overlap bisect-dof blend-surface calculate-boundary-map
calculate-distance-map calculate-element-wise calculate-exponential-map calculate-filtering
calculate-gradients calculate-lie-bracket calculate-logarithmic-map calculate-surface-attributes
calculate-surface-map calculate-surface-spectrum calculate-volume-map change-label
close-image close-scalars combine-images compose-dofs
compose-maps construct-atlas convert-dof convert-image
convert-pointset copy-pointset-attributes cut-brain decimate-surface
deform-mesh delete-pointset-attributes detect-edges dilate-image
dilate-scalars downsample-image draw-em edit-dof
edit-image em em-hard-segmentation erode-image
erode-scalars evaluate-atlas evaluate-cardiac-motion evaluate-distance
evaluate-distortion evaluate-dof evaluate-jacobian evaluate-overlap
evaluate-similarity evaluate-surface-map evaluate-surface-mesh evaluate-surface-overlap
evaluate-volume-map extract-connected-components extract-connected-points extract-image-region
extract-image-slice extract-image-volume extract-pointset-cells extract-pointset-surface
extract-surface fill-holes fill-holes-nn-based flip-image
help-rst info init-dof invert-dof
kmeans match-histogram match-points measure-volume
merge-surfaces normalize offset-surface open-image
open-scalars project-onto-surface recon-neonatal-cortex reflect-image
register remesh-surface resample-image smooth-image
smooth-surface split-labels subdivide-brain-image transform-image


Parts of the Common, Numerics, Image, Transformation, and Registration modules and command-line tools of the MIRTK originated from the IRTK written by Daniel Rueckert and Julia Schnabel. All of the transformation and registration code of the IRTK was rewritten from scratch by Andreas Schuh during his PhD studies, with a new modular and extended registration framework. Additional modules and commands for the reconstruction and inflation of cortical surface meshes, the registration of surface meshes, and the harmonic mapping of brain volumes were subsequently added to the MIRTK.