gwcs.coordinate_frames.CoordinateFrameProtocol

class gwcs.coordinate_frames.CoordinateFrameProtocol(*args, **kwargs)

Bases: _LegacyCoordinateFrameProtocol, Protocol

API Definition for a Coordinate frame

Attributes

axes_names

Names describing the axes of the frame.

axes_order

The position of the axes in the frame in the transform.

axes_type

An upcase string (or tuple of strings) describing the type of the axis.

axis_physical_types

The UCD 1+ physical types for the axes, in frame order.

name

The name of the coordinate frame.

naxes

The number of axes described by this frame.

reference_frame

The reference frame of the coordinates described by this frame.

unit

The units of the axes in this frame.

world_axis_object_classes

The APE 14 object classes for this frame.

world_axis_object_components

The APE 14 object components for this frame.

abstract property CoordinateFrameProtocol.axes_names: tuple[str, ...]

Names describing the axes of the frame.

abstract property CoordinateFrameProtocol.axes_order: tuple[int, ...]

The position of the axes in the frame in the transform.

abstract property CoordinateFrameProtocol.axes_type: AxesType

An upcase string (or tuple of strings) describing the type of the axis.

See AxisType for the known values, but you can also use your own custom one.

abstract property CoordinateFrameProtocol.axis_physical_types: tuple[str | None, ...]

The UCD 1+ physical types for the axes, in frame order.

abstract property CoordinateFrameProtocol.name: str

The name of the coordinate frame.

abstract property CoordinateFrameProtocol.naxes: int

The number of axes described by this frame.

abstract property CoordinateFrameProtocol.reference_frame: AstropyBuiltInFrame | None

The reference frame of the coordinates described by this frame.

This is usually an Astropy object such as SkyCoord or Time.

abstract property CoordinateFrameProtocol.unit: tuple[Unit | None, ...]

The units of the axes in this frame.

abstract property CoordinateFrameProtocol.world_axis_object_classes: WorldAxisObjectClasses

The APE 14 object classes for this frame.

abstract property CoordinateFrameProtocol.world_axis_object_components: list[WorldAxisObjectComponent]

The APE 14 object components for this frame.

Methods

add_units(arrays)

Add units to the arrays

from_high_level_coordinates(*high_level_coords)

Convert high level coordinate objects to "values" as described by this frame.

is_high_level(*args)

Return True if the input coordinates are already high level objects described by this frame.

remove_units(arrays)

Remove units from the input arrays

to_high_level_coordinates(*values[, correct_1d])

Convert "values" to high level coordinate objects described by this frame.

CoordinateFrameProtocol.add_units(arrays)

Add units to the arrays

Parameters:

arrays (tuple[LowLevelInput, ...] | LowLevelInput)

Return type:

tuple[LowLevelInput, ...]

CoordinateFrameProtocol.from_high_level_coordinates(*high_level_coords, correct_1d=True)

Convert high level coordinate objects to “values” as described by this frame.

“values” are the coordinates in array or scalar form, and high level objects are things such as SkyCoord or Quantity. See Shared Python Interface for World Coordinate Systems for details.

Parameters:

high_level_coordinates – One (or more) high level object describing the coordinate.

Returns:

values – naxis number of coordinates as scalars or arrays.

Return type:

numbers.Number or numpy.ndarray

CoordinateFrameProtocol.is_high_level(*args)

Return True if the input coordinates are already high level objects described by this frame.

This is used by the low level WCS API in Astropy to determine whether to call to_high_level_coordinates or not.

Return type:

bool

CoordinateFrameProtocol.remove_units(arrays)

Remove units from the input arrays

Parameters:

arrays (tuple[LowLevelInput, ...] | LowLevelInput)

Return type:

tuple[LowLevelArray, ...]

CoordinateFrameProtocol.to_high_level_coordinates(*values, correct_1d=True)

Convert “values” to high level coordinate objects described by this frame.

“values” are the coordinates in array or scalar form, and high level objects are things such as SkyCoord or Quantity. See Shared Python Interface for World Coordinate Systems for details.

Parameters:

values (numbers.Number, numpy.ndarray, or Quantity) – naxis number of coordinates as scalars or arrays.

Returns:

high_level_coordinates – One (or more) high level object describing the coordinate.

Return type:

object