ExtraCoords

class ndcube.ExtraCoords(ndcube=None)[source]

Bases: ndcube.extra_coords.extra_coords.ExtraCoordsABC

A representation of additional world coordinates associated with pixel axes.

ExtraCoords can be initialised by either specifying a LowLevelWCS object and a mapping, or it can be built up by specifying one or more lookup tables.

Parameters
  • wcs – The WCS specifying the extra coordinates.

  • mapping – The mapping between the array dimensions and pixel dimensions in the extra coords object. This is an iterable of (array_dimension, pixel_dimension) pairs of length equal to the number of pixel dimensions in the extra coords.

Attributes Summary

cube_wcs

Produce a WCS that describes the associated NDCube with just the extra coords.

dropped_world_dimensions

Return an APE-14 like representation of any sliced out world dimensions.

mapping

The mapping between the array dimensions and pixel dimensions.

wcs

A WCS object representing the world coordinates described by this ExtraCoords.

Methods Summary

add(name, array_dimension, lookup_table[, ...])

Add a coordinate to this ExtraCoords based on a lookup table.

from_lookup_tables(names, pixel_dimensions, ...)

Construct a new ExtraCoords instance from lookup tables.

keys()

The world axis names for all the coordinates in the extra coords.

Attributes Documentation

cube_wcs

Produce a WCS that describes the associated NDCube with just the extra coords.

For NDCube pixel axes without any extra coord, dummy axes are inserted.

dropped_world_dimensions

Return an APE-14 like representation of any sliced out world dimensions.

mapping
wcs

Methods Documentation

add(name, array_dimension, lookup_table, physical_types=None, **kwargs)[source]

Add a coordinate to this ExtraCoords based on a lookup table.

Parameters
  • name (str or sequence of str) – The name(s) for these world coordinate(s).

  • array_dimension (int or tuple of int) – The pixel dimension(s), in the array, to which this lookup table corresponds.

  • lookup_table (object or sequence of object) – The lookup table. A BaseTableCoordinate subclass or anything that can instantiate one, i.e. currently a Time, SkyCoord, or a (sequence of) Quantity.

  • physical_types (str or iterable of str, optional) – Descriptor(s) of the physical type associated with each axis; length must match the number of dimensions in lookup_table.

classmethod from_lookup_tables(names, pixel_dimensions, lookup_tables, physical_types=None)[source]

Construct a new ExtraCoords instance from lookup tables.

This is a convience wrapper around add which does not expose all the options available in that method.

Parameters
  • names (tuple of str) – The names of the world coordinates.

  • pixel_dimensions (tuple of int) – The pixel dimensions (in the array) to which the lookup_tables apply. Must be the same length as lookup_tables.

  • lookup_tables (iterable of object) – The lookup tables which specify the world coordinates for the pixel_dimensions. Must be BaseTableCoordinate subclass instances or objects from which to instantiate them (see ExtraCoords.add).

  • physical_types (sequence of str or of sequences of str, optional) – Descriptors of the physical types associated with each axis in the tables. Must be the same length as lookup_tables; and length of each element must match the number of dimensions in corresponding lookup_tables[i].

Returns

Return type

ndcube.extra_coords.ExtraCoords

keys()[source]

The world axis names for all the coordinates in the extra coords.