# algorithms.registration.chain_transform

## Module: `algorithms.registration.chain_transform`

Inheritance diagram for `nipy.algorithms.registration.chain_transform`:

Chain transforms

## `ChainTransform`

class nipy.algorithms.registration.chain_transform.ChainTransform(optimizable, pre=None, post=None)

  Bases: `object`

  __init__(optimizable, pre=None, post=None)

    Create chain transform instance

    Parameters:
      optimizable array or Transform

        Transform that we are optimizing. If this is an array, then assume it’s an affine matrix.

      pre None or array or Transform, optional

        If not None, a transform that should be applied to points before applying the optimizable transform. If an array, then assume it’s an affine matrix.

      post None or Transform, optional

        If not None, a transform that should be applied to points after applying any pre transform, and then the optimizable transform. If an array, assume it’s an affine matrix

  apply(pts)

    Apply full transformation to points pts

    If there are N points, then pts will be N by 3

    Parameters:
      pts array-like

        array of points

    Returns:
      transformed_pts array

        N by 3 array of transformed points

  property param

    get/set param