AffineTransform

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

Bases: astropy.coordinates.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.

Parameters:
transform_func : callable

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.

fromsys : class

The coordinate frame class to start from.

tosys : class

The coordinate frame class to transform into.

priority : number

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

register_graph : TransformGraph or None

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

Raises:
TypeError

If transform_func is not callable

Methods Summary

__call__(self, fromcoord, toframe) Does the actual coordinate transformation from the fromsys class to the tosys class.

Methods Documentation

__call__(self, fromcoord, toframe)[source]

Does the actual coordinate transformation from the fromsys class to the tosys class.

Parameters:
fromcoord : fromsys object

An object of class matching fromsys that is to be transformed.

toframe : object

An object that has the attributes necessary to fully specify the frame. That is, it must have attributes with names that match the keys of the dictionary that tosys.get_frame_attr_names() returns. Typically this is of class tosys, but it might be some other class as long as it has the appropriate attributes.

Returns:
tocoord : tosys object

The new coordinate after the transform has been applied.