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
NeXus base classes
NXdata: https://manual.nexusformat.org/classes/base_classes/NXdata.html
NXentry: https://manual.nexusformat.org/classes/base_classes/NXentry.html
NXroot: https://manual.nexusformat.org/classes/base_classes/NXroot.html