Basic Tree Structure#

The basic tree structure of the NeXus HDF5 file is shown below:

1 FILE_NAME:NXroot
2     @default="S{SCAN_N}"
3     S{SCAN_N}:NXentry
4         @default="data"
5         data:NXdata
6             @axes={AXIS}
7             @signal={SIGNAL}
8             {AXIS}:NX_NUMBER[n] = ... data ...
9             {SIGNAL}:NX_NUMBER[n] = ... data ...

The root level of the file uses the structure of the NeXus NXroot 6 base class.

The @default attribute points the way to the default plottable data. See the NeXus documentation 3 for more details.

Note

Here, the @ character is used symbolically to identify this name is for an attribute. Do not include the actual @ symbol in the actual name of the attribute.

Note

AXIS and SIGNAL are the names of the first and last columns, respectively, of the scan and SCAN_N is the scan number from the scan’s #S control line 1 2 in the data file.

A NeXus NXentry 5 group (described symbolically as /SCAN) will be created for each scan to be written. See section Scan below for more details.

The scan data will be placed in a NXdata 4 group named data below the NXentry group. See section Scan Data below for more details.

Other information from the scan will be written as described in the sections below. There are variations on the tree structure as the complexity of a scan increases. Examples of such variation include:

  • multi-axis scans (such as a2scan, a3scan, a4scan)

  • multi-channel detectors

  • 2-D and higher dimensionality scans (such as mesh, hklmesh, MCA)

  • custom metadata

  • comments

1

SPEC Standard Data-File Format : https://certif.com/spec_manual/mac_3_13.html

2

See Supplied spec plugin modules for a full list of the supported control lines provided with spec2nexus.

3

Used to identify the default plottable data in a NeXus HDF5 file. https://manual.nexusformat.org/datarules.html#version-3

NeXus base classes

4

NXdata: https://manual.nexusformat.org/classes/base_classes/NXdata.html

5

NXentry: https://manual.nexusformat.org/classes/base_classes/NXentry.html

6(1,2)

NXroot: https://manual.nexusformat.org/classes/base_classes/NXroot.html