# algorithms.registration.polyaffine

## Module: `algorithms.registration.polyaffine`

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

## `PolyAffine`

class nipy.algorithms.registration.polyaffine.PolyAffine(centers, affines, sigma, glob_affine=None)

  Bases: `Transform`

  __init__(centers, affines, sigma, glob_affine=None)

    centers: N times 3 array

    We are given a set of affine transforms T_i with centers x_i, all in homogeneous coordinates. The polyaffine transform is defined, up to a right composition with a global affine, as:

    T(x) = sum_i w_i(x) T_i x

    where w_i(x) = g(x-x_i)/Z(x) are normalized Gaussian weights that sum up to one for every x.

  affine(i)
  affines()
  apply(xyz)

    xyz is an (N, 3) array

  compose(other)

    Compose this transform onto another

    Parameters:
      other Transform

        transform that we compose onto

    Returns:
      composed_transform Transform

        a transform implementing the composition of self on other

  left_compose(other)
  property param