# 3.3.2.15. 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:

No symbol table
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[NP, xdim, ydim]: (required) NX_INT

(sample): (required) NXsample

rotation_angle[NP]: (required) NX_FLOAT

(monitor): (required) NXmonitor

data[NP]: (required) NX_INT

(data): (required) NXdata

data –> /NXentry/NXinstrument/NXdetector/data

rotation_angle –> /NXentry/NXsample/rotation_angle

NXDL Source:
https://github.com/nexusformat/definitions/blob/master/applications/NXscan.nxdl.xml