Skip to main content
`Ctrl`+`K`

# CompoundLowLevelWCS

class ndcube.wcs.wrappers.CompoundLowLevelWCS(*wcs, mapping=None, pixel_atol=1e-08)

  Bases: `BaseWCSWrapper`

  A wrapper that takes multiple low level WCS objects and makes a compound WCS that combines them.

  Parameters:

    - *wcs (`BaseLowLevelWCS`) – The WCSes to combine

    - mapping (`tuple`) – The pixel dimension mapping between the input pixel dimensions and the input pixel dimensions to the underlying WCSes. This should have length equal to the total number of pixel dimensions in all input WCSes and have a maximum of the number of input pixel dimensions to the resulting compound WCS -1 (counts from 0). For example `(0, 1, 2, 1)` would end up with the second and fourth pixel dimensions in the input WCSes being shared, so the compound WCS would have 3 pixel dimensions `(2 + 1)`. See compound-model-mappings for more examples of this input format.

    - pixel_atol (`float`) – A tolerance used to check that the resulting pixel coordinates from `world_to_pixel` are the same from all WCSes.

  Attributes Summary

  `axis_correlation_matrix` | Returns an (`world_n_dim`, `pixel_n_dim`) matrix that indicates using booleans whether a given world coordinate depends on a given pixel coordinate.
  `pixel_axis_names` | An iterable of strings describing the name for each pixel axis.
  `pixel_bounds` | The bounds (in pixel coordinates) inside which the WCS is defined, as a list with `pixel_n_dim` `(min, max)` tuples.
  `pixel_n_dim` | The number of axes in the pixel coordinate system.
  `pixel_shape` | The shape of the data that the WCS applies to as a tuple of length `pixel_n_dim` in `(x, y)` order (where for an image, `x` is the horizontal coordinate and `y` is the vertical coordinate).
  `serialized_classes` | Indicates whether Python objects are given in serialized form or as actual Python objects.
  `world_axis_names` | An iterable of strings describing the name for each world axis.
  `world_axis_object_classes` | A dictionary giving information on constructing high-level objects for the world coordinates.
  `world_axis_object_components` | A list with `world_n_dim` elements giving information on constructing high-level objects for the world coordinates.
  `world_axis_physical_types` | An iterable of strings describing the physical type for each world axis.
  `world_axis_units` | An iterable of strings given the units of the world coordinates for each axis.
  `world_n_dim` | The number of axes in the world coordinate system.

  Methods Summary

  `pixel_to_world_values`(*pixel_arrays) | Convert pixel coordinates to world coordinates.
  `world_to_pixel_values`(*world_arrays) | Convert world coordinates to pixel coordinates.

  Attributes Documentation

  axis_correlation_matrix
  pixel_axis_names
  pixel_bounds
  pixel_n_dim
  pixel_shape
  serialized_classes
  world_axis_names
  world_axis_object_classes
  world_axis_object_components
  world_axis_physical_types
  world_axis_units
  world_n_dim

  Methods Documentation

  pixel_to_world_values(*pixel_arrays)

    Convert pixel coordinates to world coordinates.

    This method takes `pixel_n_dim` scalars or arrays as input, and pixel coordinates should be zero-based. Returns `world_n_dim` scalars or arrays in units given by `world_axis_units`. Note that pixel coordinates are assumed to be 0 at the center of the first pixel in each dimension. If a pixel is in a region where the WCS is not defined, NaN should be returned. The coordinates should be specified in the `(x, y)` order, where for an image, `x` is the horizontal coordinate and `y` is the vertical coordinate.

    If `world_n_dim` is `1`, this method returns a single scalar or array, otherwise a tuple of scalars or arrays is returned.

  world_to_pixel_values(*world_arrays)

    Convert world coordinates to pixel coordinates.

    This method takes `world_n_dim` scalars or arrays as input in units given by `world_axis_units`. Returns `pixel_n_dim` scalars or arrays. Note that pixel coordinates are assumed to be 0 at the center of the first pixel in each dimension. If a world coordinate does not have a matching pixel coordinate, NaN should be returned. The coordinates should be returned in the `(x, y)` order, where for an image, `x` is the horizontal coordinate and `y` is the vertical coordinate.

    If `pixel_n_dim` is `1`, this method returns a single scalar or array, otherwise a tuple of scalars or arrays is returned.