NXscan

Status:

application definition, extends NXobject

Description:

Application definition for a generic scan instrument.

This definition is more an example then a stringent definition as the content of a given NeXus scan file needs to differ for different types of scans. This example definition shows a scan like done on a rotation camera: the sample is rotated and a detector image, the rotation angle and a monitor value is stored at each step in the scan. In the following, the symbol NP is used to represent the number of scan points. These are the rules for storing scan data in NeXus files which are implemented in this example:

  • Each value varied throughout a scan is stored as an array of length NP at its respective location within the NeXus hierarchy.

  • For area detectors, NP is the first dimension, example for a detector of 256x256: data[NP,256,256]

  • The NXdata group contains links to all variables varied in the scan and the data. This to give an equivalent to the more familiar classical tabular representation of scans.

These rules exist for a reason: HDF allows the first dimension of a data set to be unlimited. This means the data can be appended too. Thus a NeXus file built according to the rules given above can be used in the following way:

  • At the start of a scan, write all the static information.

  • At each scan point, append new data from varied variables and the detector to the file.

Symbols:

The symbol(s) listed here will be used below to coordinate datasets with the same shape.

nP: Number of points

xDim: xDim description

yDim: yDim description

Groups cited:

NXdata, NXdetector, NXentry, NXinstrument, NXmonitor, NXsample

Structure:

ENTRY: (required) NXentry

title: (required) NX_CHAR

start_time: (required) NX_DATE_TIME

end_time: (required) NX_DATE_TIME

definition: (required) NX_CHAR

Official NeXus NXDL schema to which this file conforms

Obligatory value: NXscan

INSTRUMENT: (required) NXinstrument

DETECTOR: (required) NXdetector

data: (required) NX_INT (Rank: 3, Dimensions: [nP, xDim, yDim])

SAMPLE: (required) NXsample

rotation_angle: (required) NX_FLOAT (Rank: 1, Dimensions: [nP])

MONITOR: (required) NXmonitor

data: (required) NX_INT (Rank: 1, Dimensions: [nP])

DATA: (required) NXdata

data: link (suggested target: /NXentry/NXinstrument/NXdetector/data)

rotation_angle: link (suggested target: /NXentry/NXsample/rotation_angle)

Hypertext Anchors

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

NXDL Source:

https://github.com/FAIRmat-Experimental/nexus_definitions/tree/fairmat/applications/NXscan.nxdl.xml