scippnexus.NXdata#

class scippnexus.NXdata(attrs, children, fallback_dims=None, fallback_signal_name=None)[source]#
__init__(attrs, children, fallback_dims=None, fallback_signal_name=None)[source]#

Subclasses should call this in their __init__ method, or ensure that they initialize the fields in children with the correct sizes and dtypes.

Methods

__init__(attrs, children[, fallback_dims, ...])

Subclasses should call this in their __init__ method, or ensure that they initialize the fields in children with the correct sizes and dtypes.

assemble(dg)

When a Group is indexed, this method is called to assemble the read children into the result object.

convert_label_index_to_positional(sel)

index_child(child, sel)

Same as NXobject.index_child but also handles bin edges.

read_children(sel)

When a Group is indexed, this method is called to read all children.

Attributes

sizes

unit

assemble(dg)[source]#

When a Group is indexed, this method is called to assemble the read children into the result object.

The default implementation simply returns the DataGroup.

Subclasses of NXobject, in particular NXdata, override this method to return an object with more semantics such as a DataArray or Dataset.

Return type:

DataGroup | DataArray | Dataset

index_child(child, sel)[source]#

Same as NXobject.index_child but also handles bin edges.

Return type:

EllipsisType | int | tuple | slice | tuple[str, int | slice] | dict[str, int | slice]

read_children(sel)[source]#

When a Group is indexed, this method is called to read all children.

The default implementation simply calls index_child on each child and returns the result as a DataGroup.

Subclasses of NXobject, in particular NXevent_data, override this method to to implement special logic for reading children with interdependencies, i.e., where reading each child in isolation is not possible.

Return type:

DataGroup