The core modules are always included in the MIRTK source tree.
The Common module of the Medical Image Registration ToolKit (MIRTK) defines the base classes from which other MIRTK classes are derived. It further contains common auxiliary functions and a simple command-line parsing library.
The Numerics module of the Medical Image Registration ToolKit (MIRTK) provides basic support for linear algebra computations. It further defines an abstract interface for objective functions to be minimized by one of the available iterative optimizers.
The Image module of the Medical Image Registration ToolKit (MIRTK) provides containers and basic filters for imaging data sampled on a uniform grid. It contains image interpolation functions which enable the evaluation of these finite discrete images in an infinite continuous domain. This is in particular needed for the deformation of an image during and after registration.
The I/O module of the Medical Image Registration ToolKit (MIRTK) enables the reading and writing of image and point set files. Supported file formats are GIPL, PGM, and the NIfTI file format. Image slices can further be written to PNG image files when the MIRTK was built WITH_PNG.
The Point Set module of the Medical Image Registration ToolKit (MIRTK) adds support for general point sets such as fidicual markers, surface meshes, and volumetric tetrahedral meshes. It defines different auxiliary types used to establish point correspondences between two given point sets/surface meshes. These correpondences can be utilized by the Registration module to find a transformation that aligns two given point sets.
The Transformation module of the Medical Image Registration ToolKit (MIRTK) defines the different transformation models supported by the Registration module. These include linear homogeneous transformation types and non-rigid free-form deformations. The Transformation module further includes a number of transformation constraint terms which can be used to regularize the registration problem.
The Registration module of the Medical Image Registration ToolKit (MIRTK) provides the generic framework used to register images and point sets. This framework expresses the registration problem as configurable function minimization problem. The object function, referred to as registration energy in this context, is put together using the various energy terms. An energy term can be either an image (dis-)similarity measure, a transformation constraint, or a point set/surface constraint.
Additional modules which are developed and maintained separate from the core modules in their own respective repository are referred to as external packages. These are either loosely bound optional modules or modules contributed by users.
The Deformable module of the Medical Image Registration ToolKit (MIRTK) is a library for the Euler integration of deformable meshes such as cortical surfaces. The deform-mesh command can be used to deform an initial mesh such as the convex hull of an input segmentation or a bounding sphere based on internal and external point set/surface forces. The integration is stopped when a suitable stopping criterion is fullfilled such as a fixed number of iterations, target objective function value, or surface smoothness (e.g., for cortical surface inflation). The internal forces can further be utilized by the Registration module to constrain the transformation, for example, to constrain the cortical surface to remain smooth after transformation.