Learn R Programming

RNiftyReg (version 2.0.0)

niftyreg: Two and three dimensional image registration

Description

The niftyreg function performs linear or nonlinear registration for two and three dimensional images. 4D images may also be registered volumewise to a 3D image, or 3D images slicewise to a 2D image. This function is a common wrapper for niftyreg.linear and niftyreg.nonlinear.

Usage

niftyreg(source, target, scope = c("affine", "rigid", "nonlinear"),
  init = NULL, sourceMask = NULL, targetMask = NULL, symmetric = TRUE,
  estimateOnly = FALSE, ...)

## S3 method for class 'niftyreg': as.array(x, ...)

Arguments

source
The source image, an object of class "nifti" or "internalImage", or a plain array, or a NIfTI-1 filename. Must have 2, 3 or 4 dimensions.
target
The target image, an object of class "nifti" or "internalImage", or a plain array, or a NIfTI-1 filename. Must have 2 or 3 dimensions.
scope
A string describing the scope, or number of degrees of freedom (DOF), of the registration. The currently supported values are "affine" (12 DOF), "rigid" (6 DOF) or "nonlinear" (high DOF, with the exact number dependi
init
Transformation(s) to be used for initialisation, which may be NULL, for no initialisation, or an affine matrix or control point image (nonlinear only). For multiple registration, where the source image has one more dimension than the target,
sourceMask
An optional mask image in source space, whose nonzero region will be taken as the region of interest for the registration. Ignored when symmetric is FALSE.
targetMask
An optional mask image in target space, whose nonzero region will be taken as the region of interest for the registration.
symmetric
Logical value. Should forward and reverse transformations be estimated simultaneously?
estimateOnly
Logical value: if TRUE, transformations will be estimated, but images will not be resampled.
...
Further arguments to niftyreg.linear or niftyreg.nonlinear.
x
A "niftyreg" object.

Value

  • A list of class "niftyreg" with components:
  • imageAn array representing the registered and resampled source image in the space of the target image. This element is NULL if the estimateOnly parameter is TRUE.
  • forwardTransformsA list of (linear or nonlinear) transformations from source to target space.
  • reverseTransformsA list of (linear or nonlinear) transformations from target to source space.
  • iterationsA list of integer vectors, giving the number of iterations completed at each ``level'' of the algorithm. Note that for the first level of the linear algorithm specifically, twice the specified number of iterations is allowed.
  • sourceAn internal representation of the source image for each registration.
  • targetAn internal representation of the target image.
  • The as.array method for this class returns the image element.

References

Please see niftyreg.linear or niftyreg.nonlinear for references relating to each type of registration.

See Also

niftyreg.linear and niftyreg.nonlinear, which do most of the work. Also, forward and reverse to extract transformations, and applyTransform to apply them to new images or points.

Examples

Run this code
source <- readNifti(system.file("extdata", "epi_t2.nii.gz",
  package="RNiftyReg"))
target <- readNifti(system.file("extdata", "flash_t1.nii.gz",
  package="RNiftyReg"))

result <- niftyreg(source, target, scope="affine")

Run the code above in your browser using DataLab