-
Notifications
You must be signed in to change notification settings - Fork 70
Registration Configurations
Note: Throughout, the terms "configuration option" and "parameter" are used interchangeably.
The MIRTK registration command is a generic tool for finding a spatial (spatio-temporal) transformation from one domain to another. The registration problem is hereby formulated as a function minimization problem. The energy function is a weighted sum of individual data terms and regularization terms. A particular choice of energy terms, transformation model, and optimizer, results in different, either well known or otherwise custom, registration algorithms.
The energy function of the registration problem is defined by the "Energy function" parameter. The value of this parameter follows a simple grammar, where individual energy terms are concatenated using a +
character. The following defines the grammar of the energy function in Extended Backus-Naur Form, but we simply recommend a look at some of the examples given below.
energy = term | term, "+", energy.
term = [ weight, [ "*" ] ], term id, [ "[", term prefix, "]" ], "(", term args, ")".
weight = number.
term id = letter, { letter | digit | "_" }.
image id = "I", digit | "I", "(", digit, { digit }, ")".
pset id = "P", digit | "P", "(", digit, { digit }, ")".
term prefix = { letter | digit | " " | "_" | "-" }.
term name = term prefix.
term args = image similarity args | pset distance args | constraint args.
image similarity args = image id, [ "o", transformation ], ",", image id, [ "o", transformation ].
pset distance args = [ transformation, "o" ], pset id, ",", [ transformation, "o" ], pset id.
constraint args = "T".
transformation = "T", [ "^", number ].
number = [ "-" ], { digit }, [ ".", digit, { digit } ].
The term id
is commonly an acronym in all uppercase letters which corresponds to an enumeration value of the C++ class which implements the respective energy term (e.g., NMI
). The term prefix
or term name
is used as prefix for other configuration options associated with this particular energy term. For example, given an energy term named "Cortical surface distance", the "weight" parameter of this term can be set using the configuration option "Cortical surface distance weight". A number of energy terms share some generic configuration option prefixes as alternatives. For example, any of the following configuration options will set the weight of all image dissimilarity terms to the specified value: "Image dissimilarity weight", "Image (dis-)similarity weight", "Image similarity weight".
Data terms can be pairwise image (dis-)similarity terms which measure how dissimilar two given images are after transformation. The lower the value, the more similar the images are according to the used image similarity measure. In MR brain image registration and inter-modality registration, the most commonly used metric is Normalized Mutual Information (NMI). Other data terms measure a certain distance between two given point sets such as corresponding fiducial markers or triangulated surface meshes. Groupwise data terms are currently not supported.
Image (dis-)similarity terms:
-
SSD
: Sum of Squared Differences -
NMI
: Normalized Mutual Information -
LNCC
: Local normalized cross correlation
Point set distance terms:
-
FRE
: Fiducial Registration Error -
PCD
: Point Correspondence Distance
The PCD
point set distance measure is a generic data term which measures the distance of corresponding points between two given point clouds or surface meshes, where point correspondences are established at each iteration of the registration process by an internal auxiliary function. The point correspondence function can be chosen using the "Point set distance correspondence" option:
-
CP
|Closest point
: Find closest point in other point set -
RCP
|Robust closest point
: Find closest point, but ignore pairs of points which are more thann
times the standard deviation of all pairwise point distances apart from each other -
CSP
|Closest surface point
: Find closest cell (e.g., triangular surface element) point -
RPM
|Robust point match
: Soft assignment of point correspondences -
SM
|Spectral match
: Corresponding point obtained by interpolation of nearest points in the spectral domain. Requires a previous spectral matching of the two given surface meshes.
Defines target image domain over which to integrate the dissimilarity measure.
This option can take the following (case insensitive) values:
-
Domain
,Incl. background
Evaluate dissimilarity over the entire finite image domain defined by the rectilinear sampling grid of the discrete image, i.e., all voxels.
-
Mask
When a target
-mask
is given as argument of theregister
command, evaluate dissimilarity only for those voxels with non-zero mask value. Otherwise, same asDomain
foreground region, i.e., all voxels. -
Target
,Target foreground
,Excl. target background
When both images that are compared by the dissimilarity term are being transformed, e.g., by a symmetric or inverse consistent energy, or none of the images is transformed (not meaningful for registration), then evaluate dissimilarity for
Union
of their foreground regions. Otherwise, evaluate dissimilarity for all voxels which are part of foreground region of the (untransformed) target image. -
Overlap
,Intersection
,Excl. background
(default)Evaluate dissimilarity measure for intersection of foreground regions, i.e., only for voxels which belong to foreground of both input images.
-
Union
Evaluate dissimilarity measure for union of foreground regions, i.e., all voxels which belong to foreground region of either image or both. Only voxels which are background in both images are excluded.