Previous topic

3.3.11. NXdata

Next topic

3.3.13. NXdetector_group

This Page

3.3.12. NXdetectorΒΆ

Status:

base class, extends NXobject, version 1.1

Description:

Template of a detector, detector bank, or multidetector.

Symbols:

These symbols will be used below to coordinate datasets with the same shape.

np: number of scan points (only present in scanning measurements)

i: number of detector pixels in the first (X, slowest) direction

j: number of detector pixels in the second (Y, faster) direction

k: number of detector pixels in the third (Z, if necessary, fastest) direction

tof: number of bins in the time-of-flight histogram

Groups cited:
NXcharacterization, NXcollection, NXdata, NXdetector_module, NXgeometry, NXnote

Structure:

time_of_flight[tof+1]: NX_FLOAT {units=NX_TIME_OF_FLIGHT}

Total time of flight

@axis: NX_POSINT

Obligatory value: 3

@primary: NX_POSINT

Obligatory value: 1

@long_name: NX_CHAR

Axis label

@link: NX_CHAR

absolute path to location in NXdetector

raw_time_of_flight[tof+1]: NX_INT {units=NX_PULSES}

In DAQ clock pulses

@frequency: NX_NUMBER

Clock frequency in Hz

detector_number[i, j]: NX_INT

Identifier for detector

data[np, i, j, tof]: NX_NUMBER {units=NX_ANY}

Data values from the detector.

@signal: NX_POSINT

Obligatory value: 1

@axes: NX_CHAR

[number of scan points,x_offset?,y_offset?,time_of_flight?]

@long_name: NX_CHAR

Title of measurement

@check_sum: NX_INT

Integral of data as check of data integrity

@link: NX_CHAR

absolute path to location in NXdetector

data_error[np, i, j, tof]: NX_NUMBER {units=NX_ANY}

The best estimate of the uncertainty in the data value. Where possible, this should be the standard deviation, which has the same units as the data.

@units: NX_CHAR

@link: NX_CHAR

absolute path to location in NXdetector

x_pixel_offset[i, j]: NX_FLOAT {units=NX_LENGTH}

Offset from the detector center in x-direction. Can be multidimensional when needed.

@axis: NX_POSINT

Obligatory value: 1

@primary: NX_POSINT

Obligatory value: 1

@long_name: NX_CHAR

Axis label

@link: NX_CHAR

absolute path to location in NXdetector

y_pixel_offset[i, j]: NX_FLOAT {units=NX_LENGTH}

Offset from the detector center in the y-direction. Can be multidimensional when different values are required for each pixel.

@axis: NX_POSINT

Obligatory value: 2

@primary: NX_POSINT

Obligatory value: 1

@long_name: NX_CHAR

Axis label

distance[np, i, j]: NX_FLOAT {units=NX_LENGTH}

TODO: need documentation

polar_angle[np, i, j]: NX_FLOAT {units=NX_ANGLE}

TODO: need documentation

azimuthal_angle[np, i, j]: NX_FLOAT {units=NX_ANGLE}

TODO: need documentation

description: NX_CHAR

name/manufacturer/model/etc. information

local_name: NX_CHAR

Local name for the detector

solid_angle[i, j]: NX_FLOAT {units=NX_SOLID_ANGLE}

Solid angle subtended by the detector at the sample

x_pixel_size[i, j]: NX_FLOAT {units=NX_LENGTH}

Size of each detector pixel. If it is scalar all pixels are the same size.

y_pixel_size[i, j]: NX_FLOAT {units=NX_LENGTH}

Size of each detector pixel. If it is scalar all pixels are the same size

dead_time[np, i, j]: NX_FLOAT {units=NX_TIME}

Detector dead time

gas_pressure[i, j]: NX_FLOAT {units=NX_PRESSURE}

Detector gas pressure

detection_gas_path: NX_FLOAT {units=NX_LENGTH}

maximum drift space dimension

crate[i, j]: NX_INT

Crate number of detector

@local_name: NX_CHAR

Equivalent local term

slot[i, j]: NX_INT

Slot number of detector

@local_name: NX_CHAR

Equivalent local term

input[i, j]: NX_INT

Input number of detector

@local_name: NX_CHAR

Equivalent local term

type: NX_CHAR

Description of type such as He3 gas cylinder, He3 PSD, scintillator, fission chamber, proportion counter, ion chamber, ccd, pixel, image plate, CMOS, ...

calibration_date: NX_DATE_TIME

date of last calibration (geometry and/or efficiency) measurements

layout: NX_CHAR

How the detector is represented

Any of these values: point | linear | area

count_time[np]: NX_NUMBER {units=NX_TIME}

Elapsed actual counting time

sequence_number[nBrightFrames]: NX_CHAR

In order to properly sort the order of the images taken in (for example) a tomography experiment, a sequence number is stored with each image.

beam_center_x: NX_FLOAT {units=NX_LENGTH}

This is the x position where the direct beam would hit the detector. This is a length, not a pixel position, and can be outside of the actual detector.

beam_center_y: NX_FLOAT {units=NX_LENGTH}

This is the y position where the direct beam would hit the detector. This is a length, not a pixel position, and can be outside of the actual detector.

frame_start_number: NX_INT

This is the start number of the first frame of a scan. In PX one often scans a couple of frames on a give sample, then does something else, then returns to the same sample and scans some more frames. Each time with a new data file. This number helps concatenating such measurements.

diameter: NX_FLOAT {units=NX_LENGTH}

The diameter of a cylindrical detector

acquisition_mode: NX_CHAR

The acquisition mode of the detector.

Any of these values:

  • gated
  • triggered
  • summed
  • event
  • histogrammed

angular_calibration_applied: NX_BOOLEAN

True when the angular calibration has been applied in the electronics, false otherwise.

angular_calibration[i, j]: NX_FLOAT

Angular calibration data.

flatfield_applied: NX_BOOLEAN

True when the flat field correction has been applied in the electronics, false otherwise.

flatfield[i, j]: NX_FLOAT

Flat field correction data.

flatfield_error[i, j]: NX_FLOAT

Errors of the flat field correction data.

pixel_mask_applied: NX_BOOLEAN

True when the pixel mask correction has been applied in the electronics, false otherwise.

pixel_mask[i, j]: NX_INT

The 32-bit pixel mask for the detector. Contains a bit field for each pixel to signal dead, blind or high or otherwise unwanted or undesirable pixels. They have the following meaning:

  • bit 0: gap (pixel with no sensor)
  • bit 1: dead
  • bit 2: under responding
  • bit 3: over responding
  • bit 4: noisy
  • bit 5: -undefined-
  • bit 6: pixel is part of a cluster of problematic pixels (bit set in addition to others)
  • bit 7: -undefined-
  • bit 8: user defined mask (e.g. around beamstop)
  • bits 9-30: -undefined-
  • bit 31: virtual pixel (corner pixel with interpolated value)

The normal data analysis software would not take pixels into account when a bit in (mask & 0x00FF) is set. Tag bit in the upper two bytes would indicate special pixel properties that normally would not be a sole reason to reject the intensity value (unless lower bits are set as well of course).

countrate_correction__applied: NX_BOOLEAN

True when a count-rate correction has already been applied in the electronics, false otherwise.

bit_depth_readout: NX_INT

How many bits the electronics reads per pixel. With CCD’s and single photon counting detectors, this must not align with traditional integer sizes. This can be 4, 8, 12, 14, 16, ...

detector_readout_time: NX_FLOAT {units=NX_TIME}

Time it takes to read the detector (typically milliseconds). This is important to know for time resolved experiments.

trigger_delay_time: NX_FLOAT {units=NX_TIME}

Time it takes to start exposure after a trigger signal has been received. This is important to know for time resolved experiments.

trigger_dead_time: NX_FLOAT {units=NX_TIME}

Time during which no new trigger signal can be accepted. Typically this is the trigger_delay_time + exposure_time + readout_time. This is important to know for time resolved experiments.

frame_time[NP]: NX_FLOAT {units=NX_TIME}

This is time for each frame. This is exposure_time + readout time.

gain_setting: NX_CHAR

The gain setting of the detector. This influences background etc.

Any of these values: high | standard | fast | auto

saturation_value: NX_INT

The value at which the detector goes into saturation. Especially common to CCD detectors, the data is known to be invalid above this value.

number_of_cycles: NX_INT

CCD images are sometimes constructed by summing together multiple short exposures in the electronics. This reduces background etc. This is the number of short exposures used to sum images for an image.

sensor_material: NX_CHAR

At times, radiation is not directly sensed by the detector. Rather, the detector might sense the output from some converter like a scintillator. This is the name of this converter material.

sensor_thickness: NX_FLOAT {units=NX_LENGTH}

At times, radiation is not directly sensed by the detector. Rather, the detector might sense the output from some converter like a scintillator. This is the thickness of this converter material.

threshold_energy: NX_FLOAT {units=NX_ENERGY}

Single photon counter detectors can be adjusted for a certain energy range in which they work optimally. This is the energy setting for this.

(geometry): NXgeometry

Position and orientation of detector

efficiency: NXdata

Spectral efficiency of detector with respect to e.g. wavelength

efficiency[i, j, k]: NX_FLOAT {units=NX_DIMENSIONLESS}

efficiency of the detector

wavelength[i, j, k]: NX_FLOAT {units=NX_WAVELENGTH}

TODO: need documentation

start_time[np]: NX_FLOAT {units=NX_TIME}

start time for each frame, with the start attribute as absolute reference

@start: NX_DATE_TIME

stop_time[np]: NX_FLOAT {units=NX_TIME}

stop time for each frame, with the start attribute as absolute reference

@start: NX_DATE_TIME

real_time[i, j, k]: NX_NUMBER {units=NX_TIME}

real-time of the exposure (use this if exposure time varies for each array element, otherwise use count_time field)

calibration_method: NXnote

summary of conversion of array data to pixels (e.g. polynomial approximations) and location of details of the calibrations

data_file: NXnote

(characterization): NXcharacterization

deprecated, use NXcollection instead

for more details, see https://github.com/nexusformat/definitions/issues/177

(collection): NXcollection

Use this group to provide other data related to this NXdetector group.

(detector_module): NXdetector_module

For use in special cases where the data in NXdetector is represented in several parts, each with a separate geometry.

Use one or more instances of the NXdetector_module group to declare regions of interest or some other subdivision of a detector.

Source:
Automatically generated from https://github.com/nexusformat/definitions/blob/master/base_classes/NXdetector.nxdl.xml