FunctionTransform

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

Bases: astropy.coordinates.CoordinateTransform

A coordinate transformation defined by a function that accepts a coordinate object and returns the transformed coordinate object.

Parameters:
func : callable

The transformation function. Should have a call signature func(formcoord, toframe). Note that, unlike CoordinateTransform.__call__, toframe is assumed to be of type tosys for this function.

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 func is not callable.

ValueError

If func cannot accept two arguments.

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.