# 3.3.2.18. NXstxm¶

Status:

application definition, extends NXobject

Description:

Application definition for a STXM instrument.

The interferometer position measurements, monochromator photon energy values and detector measurements are all treated as NXdetectors and stored within the NXinstrument group as lists of values stored in chronological order. The NXdata group then holds another version of the data in a regular 3D array (NumE by NumY by NumX, for a total of NumP points in a sample image stack type scan). The former data values should be stored with a minimum loss of precision, while the latter values can be simplified and/or approximated in order to fit the constraints of a regular 3D array. ‘Line scans’ and ‘point spectra’ are just sample_image scan types with reduced dimensions in the same way as single images have reduced E dimensions compared to image ‘stacks’.

Symbols:

These symbols will be used below to coordinate the shapes of the datasets.

numP: total number of scan points

numE: number of photon energies scanned

numY: number of pixels in Y direction

numX: number of pixels in X direction

Groups cited:
NXdata, NXdetector, NXentry, NXinstrument, NXmonitor, NXmonochromator, NXsample, NXsource

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: NXstxm

(instrument): (required) NXinstrument

(source): (required) NXsource

type: (required) NX_CHAR

name: (required) NX_CHAR

probe: (required) NX_CHAR

monochromator: (required) NXmonochromator

energy[NumP]: (required) NX_CHAR

(detector): (required) NXdetector

data[NumP]: (required) NX_NUMBER

sample_x: (optional) NXdetector

Measurements of the sample position from the x-axis interferometer.

data[NumP]: (required) NX_FLOAT

sample_y: (optional) NXdetector

Measurements of the sample position from the y-axis interferometer.

data[NumP]: (required) NX_FLOAT

sample_z: (optional) NXdetector

Measurements of the sample position from the z-axis interferometer.

data[NumP]: (required) NX_FLOAT

(sample): (required) NXsample

rotation_angle: (required) NX_FLOAT

(data): (required) NXdata

stxm_scan_type: (required) NX_CHAR

Label for typical scan types as a convenience for humans.

Each label corresponds to a specific set of axes being scanned to produce a data array of shape:

• sample point spectrum: (photon_energy,)
• sample line spectrum: (photon_energy, sample_y/sample_x)
• sample image: (sample_y, sample_x)
• sample image stack: (photon_energy, sample_y, sample_x)
• sample focus: (zoneplate_z, sample_y/sample_x)
• osa image: (osa_y, osa_x)
• osa focus: (zoneplate_z, osa_y/osa_x)
• detector image: (detector_y, detector_x)

The “generic scan” string is to be used when none of the other choices are appropriate.

Any of these values:

• sample point spectrum
• sample line spectrum
• sample image
• sample image stack
• sample focus
• osa image
• osa focus
• detector image
• generic scan

data: (required) NX_NUMBER

Detectors that provide more than one value per scan point should be summarised

to a single value per scan point for this array in order to simplify plotting.

Note that ‘Line scans’ and focus type scans measure along one spatial dimension but are not restricted to being parallel to the X or Y axes. Such scans should therefore use a single dimension for the positions along the spatial line. The ‘sample_x’ and ‘sample_y’ fields should then contain lists of the x- and y-positions and should both have the ‘axis’ attribute pointing to the same dimension.

energy[NumE]: (required) NX_FLOAT

List of photon energies of the X-ray beam. If scanned through multiple values,
then an ‘axis’ attribute will be required to link the field to the appropriate data array dimension.

sample_y[NumY]: (required) NX_FLOAT

List of Y positions on the sample. If scanned through multiple values,
then an ‘axis’ attribute will be required to link the field to the appropriate data array dimension.

sample_x[NumX]: (required) NX_FLOAT

List of X positions on the sample. If scanned through multiple values,
then an ‘axis’ attribute will be required to link the field to the appropriate data array dimension.

control: (optional) NXmonitor

data: (required) NX_FLOAT

Values to use to normalise for time-variations in photon flux. Typically, the synchrotron storage ring
electron beam current is used as a proxy for the X-ray beam intensity. Array must have same shape as the NXdata groups.
NXDL Source:
https://github.com/nexusformat/definitions/blob/master/applications/NXstxm.nxdl.xml