DynamicMatrixTransform

class astropy.coordinates.DynamicMatrixTransform(matrix_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.

This is similar to, but distinct from StaticMatrixTransform, in that the matrix for this class might depend on frame attributes.

Parameters:
matrix_func : callable

A callable that has the signature matrix_func(fromcoord, toframe) and returns a 3 x 3 matrix that converts fromcoord in a cartesian representation to the new coordinate system.

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 matrix_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.