3.3.1.138. NXroot

Status:

base class, extends none

Description:

The root of a NeXus file. …

The root of a NeXus file.

NXroot defines only NeXus groups of type NXentry; a file may still have other content groups and fields at its root, which no NeXus item describes and NeXus tools do not validate. NXroot defines NeXus attributes of the root group, which annotate the content tree.

Note that NXroot is the only base class that does not inherit from the NXobject class, since the latter defines NeXus items that are not allowed at the root level.

Symbols:

No symbol table

Groups cited:

NXentry

Structure:

@file_time: (optional) NX_DATE_TIME

Date and time file was originally created

@file_name: (optional) NX_CHAR

File name of original NeXus file

@file_update_time: (optional) NX_DATE_TIME

Date and time of last file change at close

@NeXus_version: (optional) NX_CHAR

DEPRECATED: NAPI is frozen.

Version of NeXus API used in writing the file. …

Version of NeXus API used in writing the file.

Note that this is different from the version of the base class or application definition version number.

@NeXus_repository: (optional) NX_CHAR

A repository containing the application definitions …

A repository containing the application definitions used for creating this file. If the NeXus_release attribute contains a commit distance and hash, this should refer to this repository.

@NeXus_release: (optional) NX_CHAR

The version of NeXus definitions used in writing the file. This can either be …

The version of NeXus definitions used in writing the file. This can either be a date-based NeXus release (e.g., YYYY.MM), see https://github.com/nexusformat/definitions/releases or a version tag that includes additional development information, such as a commit distance and a Git hash. This is typically formatted as vYYYY.MM.post1.dev<commit-distance>-g<git-hash>, where YYYY.MM refers to the base version of the NeXus definitions. post1.dev<commit-distance> indicates that the definitions are based on a commit after the base version (post1), with <commit-distance> being the number of commits since that version. g<git-hash> is the abbreviated Git hash that identifies the specific commit of the definitions being used.

If the version includes both a commit distance and a Git hash, the NeXus_repository attribute must be included, specifying the URL of the repository containing that version.

@HDF_version: (optional) NX_CHAR

Version of HDF (version 4) library used in writing the file

@HDF5_Version: (optional) NX_CHAR

Version of HDF5 library used in writing the file. …

Version of HDF5 library used in writing the file.

Note this attribute is spelled with uppercase “V”, different than other version attributes.

@XML_version: (optional) NX_CHAR

Version of XML support library used in writing the XML file

@h5py_version: (optional) NX_CHAR

Version of h5py Python package used in writing the file

@creator: (optional) NX_CHAR

facility or program where file originated

@creator_version: (optional) NX_CHAR

Version of facility or program used in writing the file

@NX_class: (required) NX_CHAR

Type of the root NeXus group: the name of its class. …

Type of the root NeXus group: the name of its class.

Obligatory value: NXroot

@default: (optional) NX_CHAR

Declares which NXentry group contains …

Declares which NXentry group contains the data to be shown by default. It is used to resolve ambiguity when more than one NXentry group exists. The value names the default NXentry group. The value must be the name of a child of the current group. The child must be a content group (which may be a content link).

It is recommended (as of NIAC2014) to use this attribute to help define the path to the default dataset to be plotted. See https://www.nexusformat.org/2014_How_to_find_default_data.html for a summary of the discussion.

ENTRY: (optional) NXentry

entries

Attributes of every field:

NeXus attributes that any field directly in NXroot may have, whether or not …

NeXus attributes that any field directly in NXroot may have, whether or not NXroot defines that field.

A copy of the fieldAttributes of NXobject, which NXroot does not extend. Keep both the same.

A NeXus attribute of the NeXus field itself takes precedence over the one with the same name defined here.

@target: (optional) NX_CHAR

Absolute path of the target of this content field, for example …

Absolute path of the target of this content field, for example /entry/instrument/detector/data.

When the value differs from the path of this content field, this content field is a content link to the content field at that path and has the same shared content (see Links). The content field at that path is not a content link itself.

@units: (optional) NX_CHAR

Units of the field values. …

Units of the field values.

See NeXus Data Units. When the NeXus field has a units category, such as NX_LENGTH, the value of this NeXus attribute must be units of that category.

@long_name: (optional) NX_CHAR

Descriptive name of the field (may include whitespace and engineering units). …

Descriptive name of the field (may include whitespace and engineering units).

Often used as the axis label on a plot.

@interpretation: (optional) NX_CHAR

What the last dimensions of the field values are, so that plotting …

What the last dimensions of the field values are, so that plotting software can display them in a natural way.

For example, a 512 x 512 x 512 field with @interpretation set to spectrum is a 512 x 512 grid of spectra of 512 bins.

Any of these values:

  • scalar: 0-D data

  • scaler: DEPRECATED, use scalar

  • spectrum: 1-D data

  • image: 2-D data

  • rgb-image: 3-D data

  • rgba-image: 3-D data

  • hsl-image: 3-D data

  • hsla-image: 3-D data

  • cmyk-image: 3-D data

  • vertex: 3-D data

@calibration_status: (optional) NX_CHAR

Status of the field values. …

Status of the field values.

Any of these values: Nominal | Measured

@stride: (optional) NX_INT

Step between the stored values in each dimension, one value per dimension, …

Step between the stored values in each dimension, one value per dimension, when the values are not stored in C order (see Non C Storage Order). Used together with data_offset.

@data_offset: (optional) NX_INT

Position of the first stored value in each dimension, one value per …

Position of the first stored value in each dimension, one value per dimension, when the values are not stored in C order (see Non C Storage Order). Used together with stride.

@variant: (optional) NX_CHAR

Name of the field in the same group that holds an earlier value of this …

Name of the field in the same group that holds an earlier value of this field, for example beam_center_x_refined for beam_center_x (see Variants).

Hypertext Anchors

List of hypertext anchors for all NeXus groups, fields, attributes and links documented in this class.

NXDL Source:

https://github.com/nexusformat/definitions/blob/main/base_classes/NXroot.nxdl.xml