algorithms.registration.polyaffine

Module: algorithms.registration.polyaffine

Inheritance diagram for nipy.algorithms.registration.polyaffine:

Inheritance diagram of nipy.algorithms.registration.polyaffine

PolyAffine

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

Bases: nipy.algorithms.registration.transform.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)