Scan Data#

Consider the SPEC scan data shown in section Scan above. The #L, #N, #M, #T, and data lines (those with no # at the start of the line) are written to /SCAN/data (a NXdata 1 group):

 1data:NXdata
 2  @NX_class = "NXdata"
 3  @Two_Theta_indices = [0]
 4  @axes = "Two_Theta"
 5  @description = "SPEC scan data"
 6  @signal = "winCZT"
 7  Epoch:NX_FLOAT64[13] = [75.0, 76.0, 78.0, '...', 92.0]
 8    @spec_name = "Epoch"
 9  Seconds:NX_FLOAT64[13] = [1.0, 1.0, 1.0, '...', 1.0]
10    @spec_name = "Seconds"
11  Two_Theta:NX_FLOAT64[13] = [-0.70000003, -0.69812503, -0.69612503, '...', -0.67625003]
12    @spec_name = "Two Theta"
13  ic0:NX_FLOAT64[13] = [340592.0, 340979.0, 341782.0, '...', 343733.0]
14    @spec_name = "ic0"
15  winCZT:NX_FLOAT64[13] = [1.0, 1.0, 1.0, '...', 0.0]
16    @spec_name = "winCZT"

A field 2 is created for each column of data. Generally, data rows for a scan do not start with a # sign and are provided after the data labels in the #L row. (The #N row tells how many columns are provided in the scan.) The name of each column is converted (via clean_name()) to a field name that conforms to the NeXus standard. 3 The original column name is provided by the @spec_name attribute.

1

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

2

A NeXus field is the same as an HDF5 dataset. The rename is due to historical reasons in NeXus when XML was used as a back-end data file storage format.

3

https://manual.nexusformat.org/datarules.html#naming-conventions