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_funccallable

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.

fromsysclass

The coordinate frame class to start from.

tosysclass

The coordinate frame class to transform into.

prioritynumber

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.

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
fromcoordfromsys object

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

toframeobject

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
tocoordtosys object

The new coordinate after the transform has been applied.