scipp.Masks#
- class scipp.Masks#
dict-like collection of masks.
Returned by
DataArray.masks()- __init__(*args, **kwargs)#
Methods
__init__(*args, **kwargs)clear(self)copy(self[, deep])Return a (by default deep) copy.
Get the value associated with the provided key or the default value.
is_edges(self, key[, dim])Return True if the given key contains bin-edges in the given dim.
items(self)view on self's items
keys(self)view on self's keys
Remove and return an element.
popitem(self)update(self[, other])Update items from dict-like or iterable.
values(self)view on self's values
- __getitem__(self: scipp._scipp.core.Masks, arg0: str) scipp._scipp.core.Variable#
- clear(self: scipp._scipp.core.Masks) None#
- copy(self: scipp._scipp.core.Masks, deep: bool = True) scipp._scipp.core.Masks#
Return a (by default deep) copy.
If deep=True (the default), a deep copy is made. Otherwise, a shallow copy is made, and the returned data (and meta data) values are new views of the data and meta data values of this object.
- get()#
Get the value associated with the provided key or the default value.
Examples
Access a coordinate with a default value:
>>> import scipp as sc >>> da = sc.DataArray(sc.array(dims=['x'], values=[1, 2, 3])) >>> da.coords.get('x') # returns None if 'x' does not exist >>> da.coords['x'] = sc.arange('x', 3) >>> da.coords.get('x') <scipp.Variable> (x: 3) int64 [dimensionless] [0, 1, 2]
Access a Dataset item with a default value:
>>> ds = sc.Dataset({'a': sc.array(dims=['x'], values=[1, 2, 3])}) >>> ds.get('b', sc.DataArray(sc.zeros(dims=['x'], shape=[3]))) <scipp.DataArray> Dimensions: Sizes[x:3, ] Data: float64 [dimensionless] (x) [0, 0, 0]
- is_edges(self: scipp._scipp.core.Masks, key: str, dim: str | None = None) bool#
Return True if the given key contains bin-edges in the given dim.
Bin-edge coordinates have one more element than the corresponding dimension size. They define the boundaries of histogram bins.
- Parameters:
key – Name of the coordinate to check.
dim – Dimension to check against. If not provided, checks the coordinate’s single dimension.
- Returns:
True if the coordinate is a bin-edge coordinate.
Examples
>>> import scipp as sc >>> da = sc.DataArray( ... sc.array(dims=['x'], values=[1.0, 2.0, 3.0]), ... coords={'x': sc.array(dims=['x'], values=[0.0, 1.0, 2.0, 3.0])} ... ) >>> da.coords.is_edges('x') True
Point coordinates have the same size as the dimension:
>>> da2 = sc.DataArray( ... sc.array(dims=['x'], values=[1.0, 2.0, 3.0]), ... coords={'x': sc.array(dims=['x'], values=[0.5, 1.5, 2.5])} ... ) >>> da2.coords.is_edges('x') False
- items(self: scipp._scipp.core.Masks) scipp._scipp.core.Masks_items_view#
view on self’s items
- keys(self: scipp._scipp.core.Masks) scipp._scipp.core.Masks_keys_view#
view on self’s keys
- pop()#
Remove and return an element.
If key is not found, default is returned if given, otherwise KeyError is raised.
Examples
Remove a coordinate from a DataArray:
>>> import scipp as sc >>> da = sc.DataArray( ... sc.array(dims=['x'], values=[1.0, 2.0, 3.0]), ... coords={'x': sc.arange('x', 3), 'y': sc.arange('x', 3) * 10} ... ) >>> da.coords.pop('y') <scipp.Variable> (x: 3) int64 [dimensionless] [0, 10, 20] >>> 'y' in da.coords False
Pop with default value for missing key:
>>> da.coords.pop('z', sc.scalar(0)) <scipp.Variable> () int64 [dimensionless] 0
Remove an item from a Dataset:
>>> ds = sc.Dataset({'a': sc.array(dims=['x'], values=[1, 2, 3]), ... 'b': sc.array(dims=['x'], values=[4, 5, 6])}) >>> ds.pop('b') <scipp.DataArray> ... >>> list(ds.keys()) ['a']
- popitem(self: scipp._scipp.core.Masks) tuple[str, scipp._scipp.core.Variable]#
- update(self: scipp._scipp.core.Masks, other: object = None, /, **kwargs) None#
Update items from dict-like or iterable.
If
otherhas a .keys() method, then update does:for k in other.keys(): self[k] = other[k].If
otheris given but does not have a .keys() method, then update does:for k, v in other: self[k] = v.In either case, this is followed by:
for k in kwargs: self[k] = kwargs[k].See also
- values(self: scipp._scipp.core.Masks) scipp._scipp.core.Masks_values_view#
view on self’s values