NDMeta#
- class ndcube.NDMeta(meta=None, key_comments=None, axes=None, data_shape=None)[source]#
-
Attributes Summary
Mapping from metadata keys to axes with which they are associated.
The shape of the data with which the metadata is associated.
Mapping from metadata keys to associated comments.
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.
clear
()copy
()fromkeys
([value])Create a new dictionary with keys from iterable and values set to value.
get
(key[, default])Return the value for key if key is in the dictionary, else default.
items
()keys
()pop
(k[,d])If the key is not found, return the default if given; otherwise, raise a KeyError.
popitem
()Remove and return a (key, value) pair as a 2-tuple.
rebin
(bin_shape)Adjusts axis-aware metadata to stay consistent with a rebinned
NDCube
.setdefault
(key[, default])Insert key with a value of default if key is not in the dictionary.
update
([E, ]**F)If E is present and has a .keys() method, then does: for k in E.keys(): D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
values
()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
orNone
) – Any comment associated with this metadata. Set to None if no comment desired.axes (
int
, iterable ofint
, orNone
) – 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.
- clear() None. Remove all items from D. #
- copy() a shallow copy of D #
- fromkeys(value=None, /)#
Create a new dictionary with keys from iterable and values set to value.
- get(key, default=None, /)#
Return the value for key if key is in the dictionary, else default.
- items() a set-like object providing a view on D's items #
- keys() a set-like object providing a view on D's keys #
- pop(k[, d]) v, remove specified key and return the corresponding value. #
If the key is not found, return the default if given; otherwise, raise a KeyError.
- popitem()#
Remove and return a (key, value) pair as a 2-tuple.
Pairs are returned in LIFO (last-in, first-out) order. Raises KeyError if the dict is empty.
- 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.
- setdefault(key, default=None, /)#
Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
- update([E, ]**F) None. Update D from mapping/iterable E and F. #
If E is present and has a .keys() method, then does: for k in E.keys(): D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
- values() an object providing a view on D's values #