# register¶

## Synopsis¶

register -images <images.lst> [options]
register -image <image1> [-dof <dof1>] -image <image2> [-dof <dof2>]... [options]
register -image <image1> <image2>... [options]
register <image1> <image2>... [options]
register <image_sequence> [options]
register -pset <pointset1> [-dof <dof1>] -pset <pointset2> [-dof <dof2>]... [options]
register <dataset1> <dataset2>... [options]
register -pset <pointset1> <pointset2>... [options]
register -image <image1> -points <pointset1> [-dof <dof1>]... [options]


## Description¶

Registers a set of images, polygonal surface meshes, and/or point clouds (e.g. fiducial markers). The set of input images can be comprised of multiple channels (e.g., acquired with different imaging modalities) at different time points. For longitudinal data, the temporal origin in the NIfTI header identifies the time point that each input image belongs to. How all input images and polydata sets are registered with one another is determined by an energy function. This energy function is formulated in a simplified math expression using MATLAB-style indexing for the individual input files, i.e.,

Energy function =      SIM[Image dissimilarity](I(1), I(2:end) o T)
+      PDM[Point set distance](T o P(1), P(2:end))
+ 1e-3 BE [Bending energy](T)
+    0 VP [Volume preservation](T)
+    0 JAC[Jacobian penalty](T)
+    0 Sparsity(T)


where only energy terms with non-zero weights are active during the registration. The image dissimilarity term is only added if at least two input images are given. Similarly, only with at least two input polydata sets, the PDM term is added. These energy terms are referenced in the configuration file using their respective identifier in square brackets. For example, to change the weight of the bending energy smoothness term, add “Bending energy weight = 0.01” to the configuration file or use the -par option on the command-line. To enable volume preservation, set the parameter “Volume preservation weight” to a positive value.

## Arguments¶

-dofout <file>

Write transformation to specified file.

## Command options¶

-model <m1>[+<m2>...]

Transformation model(s). (default: Rigid+Affine+FFD) Alternatively, use “-par ‘Transformation model’ <name>” (see -par).

-image <file>...

Input image to be registered. The order in which the images are given on the command-line corresponds to the image indices used in the registration energy formulation. The first input image has index 1 and is denoted by the symbol I(1) in the image similarity term.

-pset <file>...

Input points, curve(s), surface(s), or other simplicial complex(es). The order in which the point set files are given on the command-line corresponds to the point set indices used in the registration energy formulation. The first input point set has index 1 and is denoted by the symbol P(1), C(1), or S(1), respectively, in the point set distance measure (PDM) term.

-dof <file>

Specifies a pre-computed affine transformation to be applied to the preceeding image and/or polydata. Note the difference to -dofin, which specifies an initial estimate of the -dofout transformation. (default: none)

-dof_i <file>

Specifies a pre-computed affine transformation whose inverse is to be applied to the preceeding image and/or polydata (see -dof). (default: none)

-images <file>

Text file with N lines containing the file names of each 2D/3D input image, optionally followed by a space character and the associated (relative) acquisition time (in ms). If no acquisition time is given, the temporal offset of the image header is used. Images specified as positional arguments are read before the images named in this (then optional) text file and the index of the images given in the text file are offset by the number of images named as positional arguments or using -image, respectively.

-psets <file>

Equivalent to -images, but for point sets (-pset).

-dofs <file>

Read names of affine transformations of input images from specified text file. The affine transformations are set as if the images had been transformed by these before. Hence, these transformations are not part of the output transformation. The text file must contain on each line the basename of the input image followed by the corresponding affine transformation file. Input images not included are assumed to not be further pre-transformed. (default: none)

Reference mask which defines the domain within which to evaluate the energy function (i.e. image similarity). The registered images will thus be resampled within the corresponding domain of the world system. By default, the foreground of the target image defines this domain.

-dofins <file>

Read pairwise transformations from the files specified in the given text file which lists for each pair-wise transformation the corresponding target image, followed by the source image and the name of the transformation file. Note that the target and source image names must be listed in the -images list file. (default: none)

-dofin <file>

Read initial transformation from file if -dofins not specified. Otherwise, writes the initial transformation obtained by approximating the pairwise transformations to the named file. If the given transformation cannot be used directly as starting point of the registration, it will be approximated by an instance of the chosen transformation model at the initial resolution level. The input transformation may thus be of different type than the output transformation of the registration. (default: none)

-par <name> <value>

Specify parameter value directly as command argument.

-parin <file>

Read parameters from configuration file. If “stdin” or “cin”, the parameters are read from standard input instead. (default: none)

-parout <file>

Write parameters to the named configuration file. Note that after initializaton of the registration, an interim configuration file is written. This file is overwritten once the registration finished with final configuration used during the course of the registration. (default: none)

## Standard options¶

-v, -verbose [n]

Increase/Set verbosity of output messages. (default: 1)

-debug [level]

Increase/Set debug level for output of intermediate results. (default: 0)

-version [major.minor]

Print version and exit or set version to emulate.

-revision

Print revision (or version) number only and exit.

-h, -help

Print help and exit.

## Terminal options¶

-color, -nocolor

Enable/disable colored output. (default: off)