class astropy.coordinates.AffineTransform(transform_func, fromsys, tosys, priority=1, register_graph=None)[source]#

Bases: BaseAffineTransform

A coordinate transformation specified as a function that yields a 3 x 3 cartesian transformation matrix and a tuple of displacement vectors.

See Galactocentric for an example.


A callable that has the signature transform_func(fromcoord, toframe) and returns: a (3, 3) matrix that operates on fromcoord in a Cartesian representation, and a CartesianRepresentation with (optionally) an attached velocity CartesianDifferential to represent a translation and offset in velocity to apply after the matrix operation.


The coordinate frame class to start from.


The coordinate frame class to transform into.

priorityfloat or int

The priority if this transform when finding the shortest coordinate transform path - large numbers are lower priorities.

register_graphTransformGraph or None

A graph to register this transformation with on creation, or None to leave it unregistered.


If transform_func is not callable