# labs.datasets.transforms.affine_utils

## Module: `labs.datasets.transforms.affine_utils`

Functions working with affine transformation matrices.

## Functions

nipy.labs.datasets.transforms.affine_utils.apply_affine(x, y, z, affine)

  Apply the affine matrix to the given coordinate.

  Parameters:
    x: number or ndarray

      The x coordinates

    y: number or ndarray

      The y coordinates

    z: number or ndarray

      The z coordinates

    affine: 4x4 ndarray

      The affine matrix of the transformation

nipy.labs.datasets.transforms.affine_utils.from_matrix_vector(matrix, vector)

  Combine a matrix and vector into a homogeneous transform.

  Combine a rotation matrix and translation vector into a transform in homogeneous coordinates.

  Parameters:
    matrix ndarray

      An NxN array representing the rotation matrix.

    vector ndarray

      A 1xN array representing the translation.

  Returns:
    xform ndarray

      An N+1xN+1 transform matrix.

  See also

  `to_matrix_vector`

nipy.labs.datasets.transforms.affine_utils.get_bounds(shape, affine)

  Return the world-space bounds occupied by an array given an affine.

nipy.labs.datasets.transforms.affine_utils.to_matrix_vector(transform)

  Split a transform into it’s matrix and vector components.

  The transformation must be represented in homogeneous coordinates and is split into it’s rotation matrix and translation vector components.

  Parameters:
    transform ndarray

      Transform matrix in homogeneous coordinates. Example, a 4x4 transform representing rotations and translations in 3 dimensions.

  Returns:
    matrix, vector ndarray

      The matrix and vector components of the transform matrix. For an NxN transform, matrix will be N-1xN-1 and vector will be 1xN-1.

  See also

  `from_matrix_vector`