.. auto-generated by dev_tools.docs.nxdl from the NXDL source base_classes/NXdetector.nxdl.xml -- DO NOT EDIT .. index:: ! NXdetector (base class) ! detector (base class) see: detector (base class); NXdetector .. _NXdetector: ========== NXdetector ========== .. Contributors List .. |contrib_name| replace:: Peter Chang|PeterC-DLS|https://avatars.githubusercontent.com/u/1381719?v=4|2022-06-20 .. |contrib_name| replace:: Aaron Brewster|phyy-nx|https://avatars.githubusercontent.com/u/13471434?v=4|2022-06-15 .. |contrib_name| replace:: Pete R Jemian|prjemian|https://avatars.githubusercontent.com/u/2279984?v=4|2022-06-13 .. |contrib_name| replace:: Tobias Richter|zjttoefs|https://avatars.githubusercontent.com/u/856440?v=4|2022-03-02 .. |contrib_name| replace:: Sophie Hotz|soph-dec|https://avatars.githubusercontent.com/u/73243774?v=4|2022-02-03 **Status**: base class, extends :ref:`NXobject` **Description**: A detector, detector bank, or multidetector. **Symbols**: .. collapse:: These symbols will be used below to illustrate the coordination of the rank and ... These symbols will be used below to illustrate the coordination of the rank and sizes of datasets and the preferred ordering of the dimensions. Each of these are optional (so the rank of the datasets will vary according to the situation) and the general ordering principle is slowest to fastest. The type of each dimension should follow the order of scan points, detector output (e.g. pixels), then time-of-flight (i.e. spectroscopy, spectrometry). Note that the output of a detector is not limited to single values (0D), lists (1D) and images (2), but three or higher dimensional arrays can be produced by a detector at each trigger. **nP**: number of scan points (only present in scanning measurements) **i**: number of detector pixels in the first (slowest) direction **j**: number of detector pixels in the second (faster) direction **tof**: number of bins in the time-of-flight histogram **Groups cited**: :ref:`NXcollection`, :ref:`NXcylindrical_geometry`, :ref:`NXdata`, :ref:`NXdetector_channel`, :ref:`NXdetector_module`, :ref:`NXgeometry`, :ref:`NXnote`, :ref:`NXoff_geometry`, :ref:`NXtransformations` .. index:: NXgeometry (base class); used in base class, NXdetector_channel (base class); used in base class, NXdata (base class); used in base class, NXnote (base class); used in base class, NXcollection (base class); used in base class, NXdetector_module (base class); used in base class, NXoff_geometry (base class); used in base class, NXcylindrical_geometry (base class); used in base class, NXtransformations (base class); used in base class **Structure**: .. _/NXdetector@default-attribute: .. index:: default (file attribute) **@default**: (optional) :ref:`NX_CHAR ` .. collapse:: Declares which child group contains a path leading ... .. index:: plotting Declares which child group contains a path leading to a :ref:`NXdata` group. It is recommended (as of NIAC2014) to use this attribute to help define the path to the default dataset to be plotted. See https://www.nexusformat.org/2014_How_to_find_default_data.html for a summary of the discussion. .. _/NXdetector/time_of_flight-field: .. index:: time_of_flight (field) **time_of_flight**: (optional) :ref:`NX_FLOAT ` (Rank: 1, Dimensions: [tof+1]) {units=\ :ref:`NX_TIME_OF_FLIGHT `} Total time of flight .. _/NXdetector/time_of_flight@axis-attribute: .. index:: axis (field attribute) **@axis**: (optional) :ref:`NX_POSINT ` Obligatory value: ``3`` .. _/NXdetector/time_of_flight@primary-attribute: .. index:: primary (field attribute) **@primary**: (optional) :ref:`NX_POSINT ` Obligatory value: ``1`` .. _/NXdetector/time_of_flight@long_name-attribute: .. index:: long_name (field attribute) **@long_name**: (optional) :ref:`NX_CHAR ` Total time of flight .. _/NXdetector/raw_time_of_flight-field: .. index:: raw_time_of_flight (field) **raw_time_of_flight**: (optional) :ref:`NX_INT ` (Rank: 1, Dimensions: [tof+1]) {units=\ :ref:`NX_PULSES `} In DAQ clock pulses .. _/NXdetector/raw_time_of_flight@frequency-attribute: .. index:: frequency (field attribute) **@frequency**: (optional) :ref:`NX_NUMBER ` Clock frequency in Hz .. _/NXdetector/detector_number-field: .. index:: detector_number (field) **detector_number**: (optional) :ref:`NX_INT ` .. collapse:: Identifier for detector (pixels) ... Identifier for detector (pixels) Can be multidimensional, if needed .. _/NXdetector/data-field: .. index:: data (field) **data**: (optional) :ref:`NX_NUMBER ` (Rank: 4, Dimensions: [nP, i, j, tof]) {units=\ :ref:`NX_ANY `} .. collapse:: Data values from the detector. The rank and dimension ordering should follow a ... Data values from the detector. The rank and dimension ordering should follow a principle of slowest to fastest measurement axes and may be explicitly specified in application definitions. Mechanical scanning of objects (e.g. sample position/angle, incident beam energy, etc) tends to be the slowest part of an experiment and so any such scan axes should be allocated to the first dimensions of the array. Note that in some cases it may be useful to represent a 2D set of scan points as a single scan-axis in the data array, especially if the scan pattern doesn't fit a rectangular array nicely. Repetition of an experiment in a time series tends to be used similar to a slow scan axis and so will often be in the first dimension of the data array. The next fastest axes are typically the readout of the detector. A point detector will not add any dimensions (as it is just a single value per scan point) to the data array, a strip detector will add one dimension, an imaging detector will add two dimensions (e.g. X, Y axes) and detectors outputting higher dimensional data will add the corresponding number of dimensions. Note that the detector dimensions don't necessarily have to be written in order of the actual readout speeds - the slowest to fastest rule principle is only a guide. Finally, detectors that operate in a time-of-flight mode, such as a neutron spectrometer or a silicon drift detector (used for X-ray fluorescence) tend to have their dimension(s) added to the last dimensions in the data array. The type of each dimension should should follow the order of scan points, detector pixels, then time-of-flight (i.e. spectroscopy, spectrometry). The rank and dimension sizes (see symbol list) shown here are merely illustrative of coordination between related datasets. .. _/NXdetector/data@long_name-attribute: .. index:: long_name (field attribute) **@long_name**: (optional) :ref:`NX_CHAR ` Title of measurement .. _/NXdetector/data@check_sum-attribute: .. index:: check_sum (field attribute) **@check_sum**: (optional) :ref:`NX_INT ` Integral of data as check of data integrity .. _/NXdetector/data_errors-field: .. index:: data_errors (field) **data_errors**: (optional) :ref:`NX_NUMBER ` (Rank: 4, Dimensions: [nP, i, j, tof]) {units=\ :ref:`NX_ANY `} .. collapse:: The best estimate of the uncertainty in the data value (array size should matc ... The best estimate of the uncertainty in the data value (array size should match the data field). Where possible, this should be the standard deviation, which has the same units as the data. The form data_error is deprecated. .. _/NXdetector/x_pixel_offset-field: .. index:: x_pixel_offset (field) **x_pixel_offset**: (optional) :ref:`NX_FLOAT ` (Rank: 2, Dimensions: [i, j]) {units=\ :ref:`NX_LENGTH `} .. collapse:: Offset from the detector center in x-direction. ... Offset from the detector center in x-direction. Can be multidimensional when needed. .. _/NXdetector/x_pixel_offset@axis-attribute: .. index:: axis (field attribute) **@axis**: (optional) :ref:`NX_POSINT ` Obligatory value: ``1`` .. _/NXdetector/x_pixel_offset@primary-attribute: .. index:: primary (field attribute) **@primary**: (optional) :ref:`NX_POSINT ` Obligatory value: ``1`` .. _/NXdetector/x_pixel_offset@long_name-attribute: .. index:: long_name (field attribute) **@long_name**: (optional) :ref:`NX_CHAR ` x-axis offset from detector center .. _/NXdetector/y_pixel_offset-field: .. index:: y_pixel_offset (field) **y_pixel_offset**: (optional) :ref:`NX_FLOAT ` (Rank: 2, Dimensions: [i, j]) {units=\ :ref:`NX_LENGTH `} .. collapse:: Offset from the detector center in the y-direction. ... Offset from the detector center in the y-direction. Can be multidimensional when different values are required for each pixel. .. _/NXdetector/y_pixel_offset@axis-attribute: .. index:: axis (field attribute) **@axis**: (optional) :ref:`NX_POSINT ` Obligatory value: ``2`` .. _/NXdetector/y_pixel_offset@primary-attribute: .. index:: primary (field attribute) **@primary**: (optional) :ref:`NX_POSINT ` Obligatory value: ``1`` .. _/NXdetector/y_pixel_offset@long_name-attribute: .. index:: long_name (field attribute) **@long_name**: (optional) :ref:`NX_CHAR ` y-axis offset from detector center .. _/NXdetector/z_pixel_offset-field: .. index:: z_pixel_offset (field) **z_pixel_offset**: (optional) :ref:`NX_FLOAT ` (Rank: 2, Dimensions: [i, j]) {units=\ :ref:`NX_LENGTH `} .. collapse:: Offset from the detector center in the z-direction. ... Offset from the detector center in the z-direction. Can be multidimensional when different values are required for each pixel. .. _/NXdetector/z_pixel_offset@axis-attribute: .. index:: axis (field attribute) **@axis**: (optional) :ref:`NX_POSINT ` Obligatory value: ``3`` .. _/NXdetector/z_pixel_offset@primary-attribute: .. index:: primary (field attribute) **@primary**: (optional) :ref:`NX_POSINT ` Obligatory value: ``1`` .. _/NXdetector/z_pixel_offset@long_name-attribute: .. index:: long_name (field attribute) **@long_name**: (optional) :ref:`NX_CHAR ` y-axis offset from detector center .. _/NXdetector/distance-field: .. index:: distance (field) **distance**: (optional) :ref:`NX_FLOAT ` (Rank: 3, Dimensions: [nP, i, j]) {units=\ :ref:`NX_LENGTH `} .. collapse:: This is the distance to the previous component in the ... This is the distance to the previous component in the instrument; most often the sample. The usage depends on the nature of the detector: Most often it is the distance of the detector assembly. But there are irregular detectors. In this case the distance must be specified for each detector pixel. Note, it is recommended to use NXtransformations instead. .. _/NXdetector/polar_angle-field: .. index:: polar_angle (field) **polar_angle**: (optional) :ref:`NX_FLOAT ` (Rank: 3, Dimensions: [nP, i, j]) {units=\ :ref:`NX_ANGLE `} .. collapse:: This is the polar angle of the detector towards the previous ... This is the polar angle of the detector towards the previous component in the instrument; most often the sample. The usage depends on the nature of the detector. Most often it is the polar_angle of the detector assembly. But there are irregular detectors. In this case, the polar_angle must be specified for each detector pixel. Note, it is recommended to use NXtransformations instead. .. _/NXdetector/azimuthal_angle-field: .. index:: azimuthal_angle (field) **azimuthal_angle**: (optional) :ref:`NX_FLOAT ` (Rank: 3, Dimensions: [nP, i, j]) {units=\ :ref:`NX_ANGLE `} .. collapse:: This is the azimuthal angle angle of the detector towards ... This is the azimuthal angle angle of the detector towards the previous component in the instrument; most often the sample. The usage depends on the nature of the detector. Most often it is the azimuthal_angle of the detector assembly. But there are irregular detectors. In this case, the azimuthal_angle must be specified for each detector pixel. Note, it is recommended to use NXtransformations instead. .. _/NXdetector/description-field: .. index:: description (field) **description**: (optional) :ref:`NX_CHAR ` name/manufacturer/model/etc. information .. _/NXdetector/serial_number-field: .. index:: serial_number (field) **serial_number**: (optional) :ref:`NX_CHAR ` Serial number for the detector .. _/NXdetector/local_name-field: .. index:: local_name (field) **local_name**: (optional) :ref:`NX_CHAR ` Local name for the detector .. _/NXdetector/solid_angle-field: .. index:: solid_angle (field) **solid_angle**: (optional) :ref:`NX_FLOAT ` (Rank: 2, Dimensions: [i, j]) {units=\ :ref:`NX_SOLID_ANGLE `} Solid angle subtended by the detector at the sample .. _/NXdetector/x_pixel_size-field: .. index:: x_pixel_size (field) **x_pixel_size**: (optional) :ref:`NX_FLOAT ` (Rank: 2, Dimensions: [i, j]) {units=\ :ref:`NX_LENGTH `} Size of each detector pixel. If it is scalar all pixels are the same size. .. _/NXdetector/y_pixel_size-field: .. index:: y_pixel_size (field) **y_pixel_size**: (optional) :ref:`NX_FLOAT ` (Rank: 2, Dimensions: [i, j]) {units=\ :ref:`NX_LENGTH `} Size of each detector pixel. If it is scalar all pixels are the same size .. _/NXdetector/dead_time-field: .. index:: dead_time (field) **dead_time**: (optional) :ref:`NX_FLOAT ` (Rank: 3, Dimensions: [nP, i, j]) {units=\ :ref:`NX_TIME `} Detector dead time .. _/NXdetector/gas_pressure-field: .. index:: gas_pressure (field) **gas_pressure**: (optional) :ref:`NX_FLOAT ` (Rank: 2, Dimensions: [i, j]) {units=\ :ref:`NX_PRESSURE `} Detector gas pressure .. _/NXdetector/detection_gas_path-field: .. index:: detection_gas_path (field) **detection_gas_path**: (optional) :ref:`NX_FLOAT ` {units=\ :ref:`NX_LENGTH `} maximum drift space dimension .. _/NXdetector/crate-field: .. index:: crate (field) **crate**: (optional) :ref:`NX_INT ` (Rank: 2, Dimensions: [i, j]) Crate number of detector .. _/NXdetector/crate@local_name-attribute: .. index:: local_name (field attribute) **@local_name**: (optional) :ref:`NX_CHAR ` Equivalent local term .. _/NXdetector/slot-field: .. index:: slot (field) **slot**: (optional) :ref:`NX_INT ` (Rank: 2, Dimensions: [i, j]) Slot number of detector .. _/NXdetector/slot@local_name-attribute: .. index:: local_name (field attribute) **@local_name**: (optional) :ref:`NX_CHAR ` Equivalent local term .. _/NXdetector/input-field: .. index:: input (field) **input**: (optional) :ref:`NX_INT ` (Rank: 2, Dimensions: [i, j]) Input number of detector .. _/NXdetector/input@local_name-attribute: .. index:: local_name (field attribute) **@local_name**: (optional) :ref:`NX_CHAR ` Equivalent local term .. _/NXdetector/type-field: .. index:: type (field) **type**: (optional) :ref:`NX_CHAR ` .. collapse:: Description of type such as He3 gas cylinder, He3 PSD, scintillator, ... Description of type such as He3 gas cylinder, He3 PSD, scintillator, fission chamber, proportion counter, ion chamber, ccd, pixel, image plate, CMOS, ... .. _/NXdetector/real_time-field: .. index:: real_time (field) **real_time**: (optional) :ref:`NX_NUMBER ` (Rank: 3, Dimensions: [nP, i, j]) {units=\ :ref:`NX_TIME `} .. collapse:: Real-time of the exposure (use this if exposure time varies for ... Real-time of the exposure (use this if exposure time varies for each array element, otherwise use ``count_time`` field). Most often there is a single real time value that is constant across an entire image frame. In such cases, only a 1-D array is needed. But there are detectors in which the real time changes per pixel. In that case, more than one dimension is needed. Therefore the rank of this field should be less than or equal to (detector rank + 1). .. _/NXdetector/start_time-field: .. index:: start_time (field) **start_time**: (optional) :ref:`NX_FLOAT ` (Rank: 1, Dimensions: [nP]) {units=\ :ref:`NX_TIME `} start time for each frame, with the ``start`` attribute as absolute reference .. _/NXdetector/start_time@start-attribute: .. index:: start (field attribute) **@start**: (optional) :ref:`NX_DATE_TIME ` .. _/NXdetector/stop_time-field: .. index:: stop_time (field) **stop_time**: (optional) :ref:`NX_FLOAT ` (Rank: 1, Dimensions: [nP]) {units=\ :ref:`NX_TIME `} stop time for each frame, with the ``start`` attribute as absolute reference .. _/NXdetector/stop_time@start-attribute: .. index:: start (field attribute) **@start**: (optional) :ref:`NX_DATE_TIME ` .. _/NXdetector/calibration_date-field: .. index:: calibration_date (field) **calibration_date**: (optional) :ref:`NX_DATE_TIME ` date of last calibration (geometry and/or efficiency) measurements .. _/NXdetector/layout-field: .. index:: layout (field) **layout**: (optional) :ref:`NX_CHAR ` .. collapse:: How the detector is represented ... How the detector is represented Any of these values: ``point`` | ``linear`` | ``area`` .. _/NXdetector/count_time-field: .. index:: count_time (field) **count_time**: (optional) :ref:`NX_NUMBER ` (Rank: 1, Dimensions: [nP]) {units=\ :ref:`NX_TIME `} Elapsed actual counting time .. _/NXdetector/sequence_number-field: .. index:: sequence_number (field) **sequence_number**: (optional) :ref:`NX_INT ` (Rank: 1, Dimensions: [nP]) .. collapse:: In order to properly sort the order of the images taken in (for ... 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. .. _/NXdetector/beam_center_x-field: .. index:: beam_center_x (field) **beam_center_x**: (optional) :ref:`NX_FLOAT ` {units=\ :ref:`NX_LENGTH `} .. collapse:: This is the x position where the direct beam would hit the detector. ... This is the x position where the direct beam would hit the detector. This is a length and can be outside of the actual detector. The length can be in physical units or pixels as documented by the units attribute. .. _/NXdetector/beam_center_y-field: .. index:: beam_center_y (field) **beam_center_y**: (optional) :ref:`NX_FLOAT ` {units=\ :ref:`NX_LENGTH `} .. collapse:: This is the y position where the direct beam would hit the detector. ... This is the y position where the direct beam would hit the detector. This is a length and can be outside of the actual detector. The length can be in physical units or pixels as documented by the units attribute. .. _/NXdetector/frame_start_number-field: .. index:: frame_start_number (field) **frame_start_number**: (optional) :ref:`NX_INT ` .. collapse:: This is the start number of the first frame of a scan. In protein crystallogra ... This is the start number of the first frame of a scan. In protein crystallography measurements 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. .. _/NXdetector/diameter-field: .. index:: diameter (field) **diameter**: (optional) :ref:`NX_FLOAT ` {units=\ :ref:`NX_LENGTH `} The diameter of a cylindrical detector .. _/NXdetector/acquisition_mode-field: .. index:: acquisition_mode (field) **acquisition_mode**: (optional) :ref:`NX_CHAR ` .. collapse:: The acquisition mode of the detector. ... The acquisition mode of the detector. Any of these values: * ``gated`` * ``triggered`` * ``summed`` * ``event`` * ``histogrammed`` * ``decimated`` .. _/NXdetector/angular_calibration_applied-field: .. index:: angular_calibration_applied (field) **angular_calibration_applied**: (optional) :ref:`NX_BOOLEAN ` .. collapse:: True when the angular calibration has been applied in the ... True when the angular calibration has been applied in the electronics, false otherwise. .. _/NXdetector/angular_calibration-field: .. index:: angular_calibration (field) **angular_calibration**: (optional) :ref:`NX_FLOAT ` (Rank: 2, Dimensions: [i, j]) Angular calibration data. .. _/NXdetector/flatfield_applied-field: .. index:: flatfield_applied (field) **flatfield_applied**: (optional) :ref:`NX_BOOLEAN ` .. collapse:: True when the flat field correction has been applied in the ... True when the flat field correction has been applied in the electronics, false otherwise. .. _/NXdetector/flatfield-field: .. index:: flatfield (field) **flatfield**: (optional) :ref:`NX_FLOAT ` (Rank: 2, Dimensions: [i, j]) Flat field correction data. .. _/NXdetector/flatfield_errors-field: .. index:: flatfield_errors (field) **flatfield_errors**: (optional) :ref:`NX_FLOAT ` (Rank: 2, Dimensions: [i, j]) .. collapse:: Errors of the flat field correction data. ... Errors of the flat field correction data. The form flatfield_error is deprecated. .. _/NXdetector/pixel_mask_applied-field: .. index:: pixel_mask_applied (field) **pixel_mask_applied**: (optional) :ref:`NX_BOOLEAN ` .. collapse:: True when the pixel mask correction has been applied in the ... True when the pixel mask correction has been applied in the electronics, false otherwise. .. _/NXdetector/pixel_mask-field: .. index:: pixel_mask (field) **pixel_mask**: (optional) :ref:`NX_INT ` (Rank: 2, Dimensions: [i, j]) .. collapse:: The 32-bit pixel mask for the detector. Can be either one mask ... The 32-bit pixel mask for the detector. Can be either one mask for the whole dataset (i.e. an array with indices i, j) or each frame can have its own mask (in which case it would be an array with indices np, i, j). Contains a bit field for each pixel to signal dead, blind or high or otherwise unwanted or undesirable pixels. They have the following meaning: .. can't make a table here, a bullet list will have to do for now * 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) Normal data analysis software would not take pixels into account when a bit in (mask & 0x0000FFFF) 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. If the full bit depths is not required, providing a mask with fewer bits is permissible. If needed, additional pixel masks can be specified by including additional entries named pixel_mask_N, where N is an integer. For example, a general bad pixel mask could be specified in pixel_mask that indicates noisy and dead pixels, and an additional pixel mask from experiment-specific shadowing could be specified in pixel_mask_2. The cumulative mask is the bitwise OR of pixel_mask and any pixel_mask_N entries. .. _/NXdetector/image_key-field: .. index:: image_key (field) **image_key**: (optional) :ref:`NX_INT ` (Rank: 1, Dimensions: [np]) .. collapse:: This field allow to distinguish different types of exposure to the same detect ... This field allow to distinguish different types of exposure to the same detector "data" field. Some techniques require frequent (re-)calibration inbetween measuremnts and this way of recording the different measurements preserves the chronological order with is important for correct processing. This is used for example in tomography (`:ref:`NXtomo`) sample projections, dark and flat images, a magic number is recorded per frame. The key is as follows: * projection (sample) = 0 * flat field = 1 * dark field = 2 * invalid = 3 * background (no sample, but buffer where applicable) = 4 In cases where the data is of type :ref:`NXlog` this can also be an NXlog. .. _/NXdetector/countrate_correction_applied-field: .. index:: countrate_correction_applied (field) **countrate_correction_applied**: (optional) :ref:`NX_BOOLEAN ` .. collapse:: Counting detectors usually are not able to measure all incoming particles, ... Counting detectors usually are not able to measure all incoming particles, especially at higher count-rates. Count-rate correction is applied to account for these errors. True when count-rate correction has been applied, false otherwise. .. _/NXdetector/countrate_correction_lookup_table-field: .. index:: countrate_correction_lookup_table (field) **countrate_correction_lookup_table**: (optional) :ref:`NX_NUMBER ` (Rank: 1, Dimensions: [m]) .. collapse:: The countrate_correction_lookup_table defines the LUT used for count-rate ... The countrate_correction_lookup_table defines the LUT used for count-rate correction. It maps a measured count :math:`c` to its corrected value :math:`countrate\_correction\_lookup\_table[c]`. :math:`m` denotes the length of the table. .. _/NXdetector/virtual_pixel_interpolation_applied-field: .. index:: virtual_pixel_interpolation_applied (field) **virtual_pixel_interpolation_applied**: (optional) :ref:`NX_BOOLEAN ` .. collapse:: True when virtual pixel interpolation has been applied, false otherwise. ... True when virtual pixel interpolation has been applied, false otherwise. When virtual pixel interpolation is applied, values of some pixels may contain interpolated values. For example, to account for space between readout chips on a module, physical pixels on edges and corners between chips may have larger sensor areas and counts may be distributed between their logical pixels. .. _/NXdetector/bit_depth_readout-field: .. index:: bit_depth_readout (field) **bit_depth_readout**: (optional) :ref:`NX_INT ` .. collapse:: How many bits the electronics reads per pixel. ... 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, ... .. _/NXdetector/detector_readout_time-field: .. index:: detector_readout_time (field) **detector_readout_time**: (optional) :ref:`NX_FLOAT ` {units=\ :ref:`NX_TIME `} .. collapse:: Time it takes to read the detector (typically milliseconds). ... Time it takes to read the detector (typically milliseconds). This is important to know for time resolved experiments. .. _/NXdetector/trigger_delay_time-field: .. index:: trigger_delay_time (field) **trigger_delay_time**: (optional) :ref:`NX_FLOAT ` {units=\ :ref:`NX_TIME `} .. collapse:: Time it takes to start exposure after a trigger signal has been received. ... Time it takes to start exposure after a trigger signal has been received. This is the reaction time of the detector firmware after receiving the trigger signal to when the detector starts to acquire the exposure, including any user set delay.. This is important to know for time resolved experiments. .. _/NXdetector/trigger_delay_time_set-field: .. index:: trigger_delay_time_set (field) **trigger_delay_time_set**: (optional) :ref:`NX_FLOAT ` {units=\ :ref:`NX_TIME `} User-specified trigger delay. .. _/NXdetector/trigger_internal_delay_time-field: .. index:: trigger_internal_delay_time (field) **trigger_internal_delay_time**: (optional) :ref:`NX_FLOAT ` {units=\ :ref:`NX_TIME `} .. collapse:: Time it takes to start exposure after a trigger signal has been received. ... Time it takes to start exposure after a trigger signal has been received. This is the reaction time of the detector hardware after receiving the trigger signal to when the detector starts to acquire the exposure. It forms the lower boundary of the trigger_delay_time when the user does not request an additional delay. .. _/NXdetector/trigger_dead_time-field: .. index:: trigger_dead_time (field) **trigger_dead_time**: (optional) :ref:`NX_FLOAT ` {units=\ :ref:`NX_TIME `} .. collapse:: Time during which no new trigger signal can be accepted. ... 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. .. _/NXdetector/frame_time-field: .. index:: frame_time (field) **frame_time**: (optional) :ref:`NX_FLOAT ` (Rank: 1, Dimensions: [nP]) {units=\ :ref:`NX_TIME `} This is time for each frame. This is exposure_time + readout time. .. _/NXdetector/gain_setting-field: .. index:: gain_setting (field) **gain_setting**: (optional) :ref:`NX_CHAR ` .. collapse:: The gain setting of the detector. This is a detector-specific value ... The gain setting of the detector. This is a detector-specific value meant to document the gain setting of the detector during data collection, for detectors with multiple available gain settings. Examples of gain settings include: * ``standard`` * ``fast`` * ``auto`` * ``high`` * ``medium`` * ``low`` * ``mixed high to medium`` * ``mixed medium to low`` Developers are encouraged to use one of these terms, or to submit additional terms to add to the list. .. _/NXdetector/saturation_value-field: .. index:: saturation_value (field) **saturation_value**: (optional) :ref:`NX_NUMBER ` .. collapse:: The value at which the detector goes into saturation. ... The value at which the detector goes into saturation. Especially common to CCD detectors, the data is known to be invalid above this value. For example, given a saturation_value and an underload_value, the valid pixels are those less than or equal to the saturation_value and greater than or equal to the underload_value. The precise type should match the type of the data. .. _/NXdetector/underload_value-field: .. index:: underload_value (field) **underload_value**: (optional) :ref:`NX_NUMBER ` .. collapse:: The lowest value at which pixels for this detector would be reasonably ... The lowest value at which pixels for this detector would be reasonably measured. The data is known to be invalid below this value. For example, given a saturation_value and an underload_value, the valid pixels are those less than or equal to the saturation_value and greater than or equal to the underload_value. The precise type should match the type of the data. .. _/NXdetector/number_of_cycles-field: .. index:: number_of_cycles (field) **number_of_cycles**: (optional) :ref:`NX_INT ` .. collapse:: CCD images are sometimes constructed by summing ... 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. .. _/NXdetector/sensor_material-field: .. index:: sensor_material (field) **sensor_material**: (optional) :ref:`NX_CHAR ` .. collapse:: At times, radiation is not directly sensed by the detector. ... 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. .. _/NXdetector/sensor_thickness-field: .. index:: sensor_thickness (field) **sensor_thickness**: (optional) :ref:`NX_FLOAT ` {units=\ :ref:`NX_LENGTH `} .. collapse:: At times, radiation is not directly sensed by the detector. ... 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. .. _/NXdetector/threshold_energy-field: .. index:: threshold_energy (field) **threshold_energy**: (optional) :ref:`NX_FLOAT ` {units=\ :ref:`NX_ENERGY `} .. collapse:: Single photon counter detectors can be adjusted ... Single photon counter detectors can be adjusted for a certain energy range in which they work optimally. This is the energy setting for this. .. _/NXdetector/depends_on-field: .. index:: depends_on (field) **depends_on**: (optional) :ref:`NX_CHAR ` .. collapse:: NeXus positions components by applying a set of translations and rotations ... NeXus positions components by applying a set of translations and rotations to apply to the component starting from 0, 0, 0. The order of these operations is critical and forms what NeXus calls a dependency chain. The depends_on field defines the path to the top most operation of the dependency chain or the string "." if located in the origin. Usually these operations are stored in a NXtransformations group. But NeXus allows them to be stored anywhere. The reference point of the detector is the center of the first pixel. In complex geometries the NXoff_geometry groups can be used to provide an unambiguous reference. .. _/NXdetector/GEOMETRY-group: **GEOMETRY**: (optional) :ref:`NXgeometry` .. index:: deprecated **DEPRECATED**: Use the field `depends_on` and :ref:`NXtransformations` to position the detector and NXoff_geometry to describe its shape instead Position and orientation of detector .. _/NXdetector/CHANNELNAME_channel-group: **CHANNELNAME_channel**: (optional) :ref:`NXdetector_channel` .. collapse:: Group containing the description and metadata for a single channel from a mult ... Group containing the description and metadata for a single channel from a multi-channel detector. Given an :ref:`NXdata` group linked as part of an NXdetector group that has an axis with named channels (see the example in :ref:`NXdata `), the NXdetector will have a series of NXdetector_channel groups, one for each channel, named CHANNELNAME_channel. .. _/NXdetector/efficiency-group: **efficiency**: (optional) :ref:`NXdata` Spectral efficiency of detector with respect to e.g. wavelength .. _/NXdetector/efficiency@signal-attribute: .. index:: signal (group attribute) **@signal**: (optional) :ref:`NX_CHAR ` :ref:`⤆ ` Obligatory value: ``efficiency`` .. _/NXdetector/efficiency@axes-attribute: .. index:: axes (group attribute) **@axes**: (optional) :ref:`NX_CHAR ` :ref:`⤆ ` Any of these values: ``.`` | ``. .`` | ``. . .`` | ``. . . .`` | ``wavelength`` .. _/NXdetector/efficiency@wavelength_indices-attribute: .. index:: wavelength_indices (group attribute) **@wavelength_indices**: (optional) :ref:`NX_CHAR ` Obligatory value: ``0`` .. _/NXdetector/efficiency/efficiency-field: .. index:: efficiency (field) **efficiency**: (optional) :ref:`NX_FLOAT ` (Rank: 2, Dimensions: [i, j]) {units=\ :ref:`NX_DIMENSIONLESS `} efficiency of the detector .. _/NXdetector/efficiency/wavelength-field: .. index:: wavelength (field) **wavelength**: (optional) :ref:`NX_FLOAT ` (Rank: 2, Dimensions: [i, j]) {units=\ :ref:`NX_WAVELENGTH `} .. collapse:: This field can be two things: ... This field can be two things: #. For a pixel detector it provides the nominal wavelength for which the detector has been calibrated. #. For other detectors this field has to be seen together with the efficiency field above. For some detectors, the efficiency is wavelength dependent. Thus this field provides the wavelength axis for the efficiency field. In this use case, the efficiency and wavelength arrays must have the same dimensionality. .. _/NXdetector/calibration_method-group: **calibration_method**: (optional) :ref:`NXnote` .. collapse:: summary of conversion of array data to pixels (e.g. polynomial ... summary of conversion of array data to pixels (e.g. polynomial approximations) and location of details of the calibrations .. _/NXdetector/data_file-group: **data_file**: (optional) :ref:`NXnote` .. _/NXdetector/COLLECTION-group: **COLLECTION**: (optional) :ref:`NXcollection` Use this group to provide other data related to this NXdetector group. .. _/NXdetector/DETECTOR_MODULE-group: **DETECTOR_MODULE**: (optional) :ref:`NXdetector_module` .. collapse:: For use in special cases where the data in NXdetector ... For use in special cases where the data in NXdetector is represented in several parts, each with a separate geometry. .. _/NXdetector/TRANSFORMATIONS-group: **TRANSFORMATIONS**: (optional) :ref:`NXtransformations` .. collapse:: This is the group recommended for holding the chain of translation ... This is the group recommended for holding the chain of translation and rotation operations necessary to position the component within the instrument. The dependency chain may however traverse similar groups in other component groups. Hypertext Anchors ----------------- List of hypertext anchors for all groups, fields, attributes, and links defined in this class. * :ref:`/NXdetector/acquisition_mode-field ` * :ref:`/NXdetector/angular_calibration-field ` * :ref:`/NXdetector/angular_calibration_applied-field ` * :ref:`/NXdetector/azimuthal_angle-field ` * :ref:`/NXdetector/beam_center_x-field ` * :ref:`/NXdetector/beam_center_y-field ` * :ref:`/NXdetector/bit_depth_readout-field ` * :ref:`/NXdetector/calibration_date-field ` * :ref:`/NXdetector/calibration_method-group ` * :ref:`/NXdetector/CHANNELNAME_channel-group ` * :ref:`/NXdetector/COLLECTION-group ` * :ref:`/NXdetector/count_time-field ` * :ref:`/NXdetector/countrate_correction_applied-field ` * :ref:`/NXdetector/countrate_correction_lookup_table-field ` * :ref:`/NXdetector/crate-field ` * :ref:`/NXdetector/crate@local_name-attribute ` * :ref:`/NXdetector/data-field ` * :ref:`/NXdetector/data@check_sum-attribute ` * :ref:`/NXdetector/data@long_name-attribute ` * :ref:`/NXdetector/data_errors-field ` * :ref:`/NXdetector/data_file-group ` * :ref:`/NXdetector/dead_time-field ` * :ref:`/NXdetector/depends_on-field ` * :ref:`/NXdetector/description-field ` * :ref:`/NXdetector/detection_gas_path-field ` * :ref:`/NXdetector/DETECTOR_MODULE-group ` * :ref:`/NXdetector/detector_number-field ` * :ref:`/NXdetector/detector_readout_time-field ` * :ref:`/NXdetector/diameter-field ` * :ref:`/NXdetector/distance-field ` * :ref:`/NXdetector/efficiency-group ` * :ref:`/NXdetector/efficiency/efficiency-field ` * :ref:`/NXdetector/efficiency/wavelength-field ` * :ref:`/NXdetector/efficiency@axes-attribute ` * :ref:`/NXdetector/efficiency@signal-attribute ` * :ref:`/NXdetector/efficiency@wavelength_indices-attribute ` * :ref:`/NXdetector/flatfield-field ` * :ref:`/NXdetector/flatfield_applied-field ` * :ref:`/NXdetector/flatfield_errors-field ` * :ref:`/NXdetector/frame_start_number-field ` * :ref:`/NXdetector/frame_time-field ` * :ref:`/NXdetector/gain_setting-field ` * :ref:`/NXdetector/gas_pressure-field ` * :ref:`/NXdetector/GEOMETRY-group ` * :ref:`/NXdetector/image_key-field ` * :ref:`/NXdetector/input-field ` * :ref:`/NXdetector/input@local_name-attribute ` * :ref:`/NXdetector/layout-field ` * :ref:`/NXdetector/local_name-field ` * :ref:`/NXdetector/number_of_cycles-field ` * :ref:`/NXdetector/pixel_mask-field ` * :ref:`/NXdetector/pixel_mask_applied-field ` * :ref:`/NXdetector/polar_angle-field ` * :ref:`/NXdetector/raw_time_of_flight-field ` * :ref:`/NXdetector/raw_time_of_flight@frequency-attribute ` * :ref:`/NXdetector/real_time-field ` * :ref:`/NXdetector/saturation_value-field ` * :ref:`/NXdetector/sensor_material-field ` * :ref:`/NXdetector/sensor_thickness-field ` * :ref:`/NXdetector/sequence_number-field ` * :ref:`/NXdetector/serial_number-field ` * :ref:`/NXdetector/slot-field ` * :ref:`/NXdetector/slot@local_name-attribute ` * :ref:`/NXdetector/solid_angle-field ` * :ref:`/NXdetector/start_time-field ` * :ref:`/NXdetector/start_time@start-attribute ` * :ref:`/NXdetector/stop_time-field ` * :ref:`/NXdetector/stop_time@start-attribute ` * :ref:`/NXdetector/threshold_energy-field ` * :ref:`/NXdetector/time_of_flight-field ` * :ref:`/NXdetector/time_of_flight@axis-attribute ` * :ref:`/NXdetector/time_of_flight@long_name-attribute ` * :ref:`/NXdetector/time_of_flight@primary-attribute ` * :ref:`/NXdetector/TRANSFORMATIONS-group ` * :ref:`/NXdetector/trigger_dead_time-field ` * :ref:`/NXdetector/trigger_delay_time-field ` * :ref:`/NXdetector/trigger_delay_time_set-field ` * :ref:`/NXdetector/trigger_internal_delay_time-field ` * :ref:`/NXdetector/type-field ` * :ref:`/NXdetector/underload_value-field ` * :ref:`/NXdetector/virtual_pixel_interpolation_applied-field ` * :ref:`/NXdetector/x_pixel_offset-field ` * :ref:`/NXdetector/x_pixel_offset@axis-attribute ` * :ref:`/NXdetector/x_pixel_offset@long_name-attribute ` * :ref:`/NXdetector/x_pixel_offset@primary-attribute ` * :ref:`/NXdetector/x_pixel_size-field ` * :ref:`/NXdetector/y_pixel_offset-field ` * :ref:`/NXdetector/y_pixel_offset@axis-attribute ` * :ref:`/NXdetector/y_pixel_offset@long_name-attribute ` * :ref:`/NXdetector/y_pixel_offset@primary-attribute ` * :ref:`/NXdetector/y_pixel_size-field ` * :ref:`/NXdetector/z_pixel_offset-field ` * :ref:`/NXdetector/z_pixel_offset@axis-attribute ` * :ref:`/NXdetector/z_pixel_offset@long_name-attribute ` * :ref:`/NXdetector/z_pixel_offset@primary-attribute ` * :ref:`/NXdetector@default-attribute ` **NXDL Source**: https://github.com/nexusformat/definitions/blob/main/base_classes/NXdetector.nxdl.xml