NDMeta#

class ndcube.meta.NDMeta(meta=None, key_comments=None, axes=None, data_shape=None)[source]#

Bases: dict, NDMetaABC

Attributes Summary

axes

Mapping from metadata keys to axes with which they are associated.

data_shape

The shape of the data with which the metadata is associated.

key_comments

Mapping from metadata keys to associated comments.

original_meta

slice

A helper class which, when sliced, returns a new NDMeta with axis- and grid-aligned metadata sliced.

Methods Summary

add(name, value[, key_comment, axes, overwrite])

Add a new piece of metadata to instance.

rebin(bin_shape)

Adjusts axis-aware metadata to stay consistent with a rebinned NDCube.

Attributes Documentation

axes#
data_shape#
key_comments#
original_meta#
slice#

Methods Documentation

add(name, value, key_comment=None, axes=None, overwrite=False)[source]#

Add a new piece of metadata to instance.

Parameters:
  • name (str) – The name/label of the metadata.

  • value (Any) – The value of the metadata. If axes input is not None, this must have the same length/shape as those axes as defined by self.data_shape.

  • key_comment (str or None) – Any comment associated with this metadata. Set to None if no comment desired.

  • axes (int, iterable of int, or None) – The axis/axes with which the metadata is linked. If not associated with any axis, set this to None.

  • overwrite (bool, optional) – If True, overwrites the entry of the name name if already present.

rebin(bin_shape)[source]#

Adjusts axis-aware metadata to stay consistent with a rebinned NDCube.

This is done by simply removing the axis-awareness of metadata associated with rebinned axes. The metadata itself is not changed or removed. This operation does not remove axis-awareness from metadata only associated with non-rebinned axes, i.e. axes whose corresponding entries in bin_shape are 1.

Parameters:

bin_shape (array-like) – The number of pixels in a bin in each dimension.