isAffine returns a logical value indicating whether its argument is, or resembles, a 4x4 affine matrix. asAffine converts a suitable matrix to the affine class, attaching the source and target images as attributes. Affine transformations are a class of linear transformations which preserve points, straight lines and planes, and may consist of a combination of rotation, translation, scale and skew operations.

isAffine(object, strict = FALSE)

asAffine(object, source = NULL, target = NULL)

# S3 method for affine
print(x, ...)

Arguments

object

An R object.

strict

If TRUE, this function just tests whether the object is of class "affine". Otherwise it also tests for an affine-like 4x4 matrix.

source, target

Source and target images for the transformation.

x

An "affine" object.

...

Additional parameters to methods. Currently unused.

Value

A logical value, which is TRUE if object appears to be an affine matrix.

Details

NiftyReg's convention is for affine matrices to transform world coordinates (in the sense of voxelToWorld) from TARGET to SOURCE space, although transforms are logically applied the other way.

Note

2D affines are a subset of 3D affines, and are stored in a 4x4 matrix for internal consistency, even though a 3x3 matrix would suffice.

Author

Jon Clayden <code@clayden.org>