.. auto-generated by script ../../../../utils/nxdl2rst.py from the NXDL source NXmx.nxdl.xml

.. index::
    ! NXmx (application definition)
    ! mx (application definition)
    see: mx (application definition); NXmx

.. _NXmx:

====
NXmx
====

**Status**:

  application definition, extends :ref:`NXobject`

**Description**:

  functional application definition for macromolecular crystallography

**Symbols**:

  These symbols will be used below to coordinate datasets
  with the same shape.  Most MX x-ray detectors will produce
  two-dimensional images.  Some will produce three-dimensional
  images, using one of the indices to select a detector module.

  **dataRank**: Rank of the ``data`` field

  **nP**: Number of scan points

  **i**: Number of detector pixels in the slowest direction

  **j**: Number of detector pixels in the second slowest direction

  **k**: Number of detector pixels in the third slowest direction

  **m**: Number of channels in the incident beam spectrum, if known

  **groupIndex**: An array of the hierarchical levels of the parents of detector elements or groupings of detector elements. A top-level element or grouping has parent level -1.

**Groups cited**:
  :ref:`NXattenuator`, :ref:`NXbeam`, :ref:`NXcollection`, :ref:`NXdata`, :ref:`NXdetector_group`, :ref:`NXdetector_module`, :ref:`NXdetector`, :ref:`NXentry`, :ref:`NXinstrument`, :ref:`NXsample`, :ref:`NXsource`, :ref:`NXtransformations`

.. index:: NXentry (base class); used in application definition, NXdata (base class); used in application definition, NXsample (base class); used in application definition, NXtransformations (base class); used in application definition, NXinstrument (base class); used in application definition, NXattenuator (base class); used in application definition, NXdetector_group (base class); used in application definition, NXdetector (base class); used in application definition, NXcollection (base class); used in application definition, NXdetector_module (base class); used in application definition, NXbeam (base class); used in application definition, NXsource (base class); used in application definition

**Structure**:

  .. _/NXmx/ENTRY-group:

  **ENTRY**: (required) :ref:`NXentry`

    Note, it is recommended that ``file_name`` and ``file_time`` are included
    as attributes at the root of a file that includes  :ref:`NXmx`. See
    :ref:`NXroot`.

    .. _/NXmx/ENTRY@version-attribute:

    .. index:: version (group attribute)

    **@version**: (optional) :ref:`NX_CHAR <NX_CHAR>`

      Describes the version of the NXmx definition used to write this data.
      This must be a text (not numerical) representation. Such as::

      @version="1.0"

      Obligatory value: ``1.0``

    .. _/NXmx/ENTRY/title-field:

    .. index:: title (field)

    **title**: (optional) :ref:`NX_CHAR <NX_CHAR>`


    .. _/NXmx/ENTRY/start_time-field:

    .. index:: start_time (field)

    **start_time**: (required) :ref:`NX_DATE_TIME <NX_DATE_TIME>`

      ISO 8601 time/date of the first data point collected in UTC,
      using the Z suffix to avoid confusion with local time.
      Note that the time zone of the beamline should be provided in
      NXentry/NXinstrument/time_zone.

    .. _/NXmx/ENTRY/end_time-field:

    .. index:: end_time (field)

    **end_time**: (optional) :ref:`NX_DATE_TIME <NX_DATE_TIME>`

      ISO 8601 time/date of the last data point collected in UTC,
      using the Z suffix to avoid confusion with local time.
      Note that the time zone of the beamline should be provided in
      NXentry/NXinstrument/time_zone. This field should only be
      filled when the value is accurately observed. If the data
      collection aborts or otherwise prevents accurate recording of
      the end_time, this field should be omitted.

    .. _/NXmx/ENTRY/end_time_estimated-field:

    .. index:: end_time_estimated (field)

    **end_time_estimated**: (required) :ref:`NX_DATE_TIME <NX_DATE_TIME>`

      ISO 8601 time/date of the last data point collected in UTC,
      using the Z suffix to avoid confusion with local time.
      Note that the time zone of the beamline should be provided in
      NXentry/NXinstrument/time_zone.  This field may be filled
      with a value estimated before an observed value is available.

    .. _/NXmx/ENTRY/definition-field:

    .. index:: definition (field)

    **definition**: (required) :ref:`NX_CHAR <NX_CHAR>`

      NeXus NXDL schema to which this file conforms

      Obligatory value: ``NXmx``

    .. _/NXmx/ENTRY/DATA-group:

    **DATA**: (required) :ref:`NXdata`


      .. _/NXmx/ENTRY/DATA/data-field:

      .. index:: data (field)

      **data[nP, i, j, k]**: (recommended) :ref:`NX_NUMBER <NX_NUMBER>`

        For a dimension-2 detector, the rank of the data array will be 3.
        For a dimension-3 detector, the rank of the data array will be 4.
        This allows for the introduction of the frame number as the
        first index.

    .. _/NXmx/ENTRY/SAMPLE-group:

    **SAMPLE**: (required) :ref:`NXsample`


      .. _/NXmx/ENTRY/SAMPLE/name-field:

      .. index:: name (field)

      **name**: (required) :ref:`NX_CHAR <NX_CHAR>`

        Descriptive name of sample

      .. _/NXmx/ENTRY/SAMPLE/depends_on-field:

      .. index:: depends_on (field)

      **depends_on**: (required) :ref:`NX_CHAR <NX_CHAR>`

        This is a requirement to describe for any scan experiment.

        The axis on which the sample position depends may be stored
        anywhere, but is normally stored in the NXtransformations
        group within the NXsample group.

        If there is no goniometer, e.g. with a jet, depends_on
        should be set to "."

      .. _/NXmx/ENTRY/SAMPLE/temperature-field:

      .. index:: temperature (field)

      **temperature**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` {units=\ :ref:`NX_TEMPERATURE <NX_TEMPERATURE>`}


      .. _/NXmx/ENTRY/SAMPLE/TRANSFORMATIONS-group:

      **TRANSFORMATIONS**: (optional) :ref:`NXtransformations`

        This is the recommended location for sample goniometer
        and other related axes.

        This is a requirement to describe for any scan experiment.
        The reason it is optional is mainly to accommodate XFEL
        single shot exposures.

        Use of the depends_on field and the NXtransformations group is
        strongly recommended.  As noted above this should be an absolute
        requirement to have for any scan experiment.

        The reason it is optional is mainly to accommodate XFEL
        single shot exposures.

    .. _/NXmx/ENTRY/INSTRUMENT-group:

    **INSTRUMENT**: (required) :ref:`NXinstrument`


      .. _/NXmx/ENTRY/INSTRUMENT/name-field:

      .. index:: name (field)

      **name**: (required) :ref:`NX_CHAR <NX_CHAR>`

        Name of instrument.  Consistency with the controlled
        vocabulary beamline naming in
        https://mmcif.wwpdb.org/dictionaries/mmcif_pdbx_v50.dic/Items/_diffrn_source.pdbx_synchrotron_beamline.html
        and
        https://mmcif.wwpdb.org/dictionaries/mmcif_pdbx_v50.dic/Items/_diffrn_source.type.html
        is highly recommended.

        .. _/NXmx/ENTRY/INSTRUMENT/name@short_name-attribute:

        .. index:: short_name (field attribute)

        **@short_name**: (required) :ref:`NX_CHAR <NX_CHAR>`

          Short name for instrument, perhaps the acronym.

      .. _/NXmx/ENTRY/INSTRUMENT/time_zone-field:

      .. index:: time_zone (field)

      **time_zone**: (recommended) :ref:`NX_DATE_TIME <NX_DATE_TIME>`

        ISO 8601 time_zone offset from UTC.

      .. _/NXmx/ENTRY/INSTRUMENT/ATTENUATOR-group:

      **ATTENUATOR**: (optional) :ref:`NXattenuator`


        .. _/NXmx/ENTRY/INSTRUMENT/ATTENUATOR/attenuator_transmission-field:

        .. index:: attenuator_transmission (field)

        **attenuator_transmission**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` {units=\ :ref:`NX_UNITLESS <NX_UNITLESS>`}


      .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR_GROUP-group:

      **DETECTOR_GROUP**: (recommended) :ref:`NXdetector_group`

        Optional logical grouping of detectors.

        Each detector is represented as an NXdetector
        with its own detector data array.  Each detector data array
        may be further decomposed into array sections by use of
        NXdetector_module groups.  Detectors can be grouped logically
        together using NXdetector_group. Groups can be further grouped
        hierarchically in a single NXdetector_group (for example, if
        there are multiple detectors at an endstation or multiple
        endstations at a facility).  Alternatively, multiple
        NXdetector_groups can be provided.

        The groups are defined hierarchically, with names given
        in the group_names field, unique identifying indices given
        in the field group_index, and the level in the hierarchy
        given in the group_parent field.  For example if an x-ray
        detector group, DET, consists of four detectors in a
        rectangular array::

        		 DTL	DTR
        		 DLL	DLR

        We could have::

        	group_names: ["DET", "DTL", "DTR", "DLL", "DLR"]
         	group_index: [1, 2, 3, 4, 5]
         	group_parent:  [-1, 1, 1, 1, 1]


        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR_GROUP/group_names-field:

        .. index:: group_names (field)

        **group_names**: (required) :ref:`NX_CHAR <NX_CHAR>`

          An array of the names of the detectors or the names of
          hierarchical groupings of detectors.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR_GROUP/group_index-field:

        .. index:: group_index (field)

        **group_index[i]**: (required) :ref:`NX_INT <NX_INT>`

          An array of unique identifiers for detectors or groupings
          of detectors.

          Each ID is a unique ID for the corresponding detector or group
          named in the field group_names.  The IDs are positive integers
          starting with 1.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR_GROUP/group_parent-field:

        .. index:: group_parent (field)

        **group_parent[groupIndex]**: (required) :ref:`NX_INT <NX_INT>`

          An array of the hierarchical levels of the parents of detectors
          or groupings of detectors.

          A top-level grouping has parent level -1.

      .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR-group:

      **DETECTOR**: (required) :ref:`NXdetector`

        Normally the detector group will have the name ``detector``.
        However, in the case of multiple detectors, each detector
        needs a uniquely named NXdetector.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/depends_on-field:

        .. index:: depends_on (field)

        **depends_on**: (optional) :ref:`NX_CHAR <NX_CHAR>`

          NeXus path to the detector positioner axis that most directly
          supports the detector.  In the case of a single-module
          detector, the detector axis chain may start here.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/data-field:

        .. index:: data (field)

        **data[nP, i, j, k]**: (recommended) :ref:`NX_NUMBER <NX_NUMBER>`

          For a dimension-2 detector, the rank of the data array will be 3.
          For a dimension-3 detector, the rank of the data array will be 4.
          This allows for the introduction of the frame number as the
          first index.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/description-field:

        .. index:: description (field)

        **description**: (recommended) :ref:`NX_CHAR <NX_CHAR>`

          name/manufacturer/model/etc. information.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/time_per_channel-field:

        .. index:: time_per_channel (field)

        **time_per_channel**: (optional) :ref:`NX_CHAR <NX_CHAR>` {units=\ :ref:`NX_TIME <NX_TIME>`}

          For a time-of-flight detector this is the scaling
          factor to convert from the numeric value reported to
          the flight time for a given measurement.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/distance-field:

        .. index:: distance (field)

        **distance**: (recommended) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

          Distance from the sample to the beam center.
          Normally this value is for guidance only, the proper
          geometry can be found following the depends_on axis chain,
          But in appropriate cases where the dectector distance
          to the sample is observable independent of the axis
          chain, that may take precedence over the axis chain
          calculation.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/distance_derived-field:

        .. index:: distance_derived (field)

        **distance_derived**: (recommended) :ref:`NX_BOOLEAN <NX_BOOLEAN>`

          Boolean to indicate if the distance is a derived, rather than
          a primary observation.  If distance_derived true or is not specified,
          the distance is assumed to be derived from delector axis
          specifications.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/dead_time-field:

        .. index:: dead_time (field)

        **dead_time**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_TIME <NX_TIME>`}

          Detector dead time.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/count_time-field:

        .. index:: count_time (field)

        **count_time**: (recommended) :ref:`NX_NUMBER <NX_NUMBER>` {units=\ :ref:`NX_TIME <NX_TIME>`}

          Elapsed actual counting time.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/beam_center_derived-field:

        .. index:: beam_center_derived (field)

        **beam_center_derived**: (optional) :ref:`NX_BOOLEAN <NX_BOOLEAN>`

          Boolean to indicate if the distance is a derived, rather than
          a primary observation.  If true or not provided, that value of
          beam_center_derived is assumed to be true.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/beam_center_x-field:

        .. index:: beam_center_x (field)

        **beam_center_x**: (recommended) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

          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.  Normally, this should
          be derived from the axis chain, but the direct specification
          may take precedence if it is not a derived quantity.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/beam_center_y-field:

        .. index:: beam_center_y (field)

        **beam_center_y**: (recommended) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

          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.  Normally, this should
          be derived from the axis chain, but the direct specification
          may take precedence if it is not a derived quantity.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/angular_calibration_applied-field:

        .. index:: angular_calibration_applied (field)

        **angular_calibration_applied**: (optional) :ref:`NX_BOOLEAN <NX_BOOLEAN>`

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

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/angular_calibration-field:

        .. index:: angular_calibration (field)

        **angular_calibration[i, j, k]**: (optional) :ref:`NX_FLOAT <NX_FLOAT>`

          Angular calibration data.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/flatfield_applied-field:

        .. index:: flatfield_applied (field)

        **flatfield_applied**: (optional) :ref:`NX_BOOLEAN <NX_BOOLEAN>`

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

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/flatfield-field:

        .. index:: flatfield (field)

        **flatfield[i, j, k]**: (optional) :ref:`NX_NUMBER <NX_NUMBER>`

          Flat field correction data.  If provided, it is recommended
          that it be compressed.


        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/flatfield_error-field:

        .. index:: flatfield_error (field)

        **flatfield_error[i, j, k]**: (optional) :ref:`NX_NUMBER <NX_NUMBER>`

          *** Deprecated form.  Use plural form ***
          Errors of the flat field correction data.  If provided, it is recommended
          that it be compressed.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/flatfield_errors-field:

        .. index:: flatfield_errors (field)

        **flatfield_errors[i, j, k]**: (optional) :ref:`NX_NUMBER <NX_NUMBER>`

          Errors of the flat field correction data.  If provided, it is recommended
          that it be compressed.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/pixel_mask_applied-field:

        .. index:: pixel_mask_applied (field)

        **pixel_mask_applied**: (optional) :ref:`NX_BOOLEAN <NX_BOOLEAN>`

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

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/pixel_mask-field:

        .. index:: pixel_mask (field)

        **pixel_mask[i, j]**: (recommended) :ref:`NX_INT <NX_INT>`

          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, 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)

          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.

          If provided, it is recommended that it be compressed.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/countrate_correction_applied-field:

        .. index:: countrate_correction_applied (field)

        **countrate_correction_applied**: (optional) :ref:`NX_BOOLEAN <NX_BOOLEAN>`

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

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/bit_depth_readout-field:

        .. index:: bit_depth_readout (field)

        **bit_depth_readout**: (recommended) :ref:`NX_INT <NX_INT>`

          How many bits the electronics record per pixel.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/detector_readout_time-field:

        .. index:: detector_readout_time (field)

        **detector_readout_time**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_TIME <NX_TIME>`}

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

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/frame_time-field:

        .. index:: frame_time (field)

        **frame_time**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_TIME <NX_TIME>`}

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

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/gain_setting-field:

        .. index:: gain_setting (field)

        **gain_setting**: (optional) :ref:`NX_CHAR <NX_CHAR>`

          The gain setting of the detector. This influences background.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/saturation_value-field:

        .. index:: saturation_value (field)

        **saturation_value**: (optional) :ref:`NX_INT <NX_INT>`

          The value at which the detector goes into saturation.
          Data above this value is known to be invalid.

          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.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/underload_value-field:

        .. index:: underload_value (field)

        **underload_value**: (optional) :ref:`NX_INT <NX_INT>`

          The lowest value at which pixels for this detector
          would be reasonably be measured.

          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.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/sensor_material-field:

        .. index:: sensor_material (field)

        **sensor_material**: (required) :ref:`NX_CHAR <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.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/sensor_thickness-field:

        .. index:: sensor_thickness (field)

        **sensor_thickness**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <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.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/threshold_energy-field:

        .. index:: threshold_energy (field)

        **threshold_energy**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_ENERGY <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.  If the detector supports multiple thresholds,
          this is an array.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/type-field:

        .. index:: type (field)

        **type**: (optional) :ref:`NX_CHAR <NX_CHAR>`

          Description of type such as scintillator,
          ccd, pixel, image
          plate, CMOS, ...

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/TRANSFORMATIONS-group:

        **TRANSFORMATIONS**: (optional) :ref:`NXtransformations`

          Location for axes (transformations) to do with the
          detector.  In the case of a single-module detector, the
          axes of the detector axis chain may be stored here.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/COLLECTION-group:

        **COLLECTION**: (optional) :ref:`NXcollection`

          Suggested container for detailed non-standard detector
          information like corrections applied automatically or
          performance settings.

        .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE-group:

        **DETECTOR_MODULE**: (required) :ref:`NXdetector_module`

          Many detectors consist of multiple smaller modules that are
          operated in sync and store their data in a common dataset.
          To allow consistent parsing of the experimental geometry,
          this application definiton requires all detectors to
          define a detector module, even if there is only one.

          This group specifies the hyperslab of data in the data
          array associated with the detector that contains the
          data for this module.  If the module is associated with
          a full data array, rather than with a hyperslab within
          a larger array, then a single module should be defined,
          spanning the entire array.

          .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/data_origin-field:

          .. index:: data_origin (field)

          **data_origin**: (required) :ref:`NX_INT <NX_INT>`

            A dimension-2 or dimension-3 field which gives the indices
            of the origin of the hyperslab of data for this module in the
            main area detector image in the parent NXdetector module.

            The data_origin is 0-based.

            The frame number dimension (nP) is omitted.  Thus the
            data_origin field for a dimension-2 dataset with indices (nP, i, j)
            will be an array with indices (i, j), and for a dimension-3
            dataset with indices (nP, i, j, k) will be an array with indices
            (i, j, k).

            The :ref:`order <Design-ArrayStorageOrder>` of indices (i, j
            or i, j, k) is slow to fast.

          .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/data_size-field:

          .. index:: data_size (field)

          **data_size**: (required) :ref:`NX_INT <NX_INT>`

            Two or three values for the size of the module in pixels in
            each direction. Dimensionality and order of indices is the
            same as for data_origin.

          .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/data_stride-field:

          .. index:: data_stride (field)

          **data_stride**: (optional) :ref:`NX_INT <NX_INT>`

            Two or three values for the stride of the module in pixels in
            each direction.  By default the stride is [1,1] or [1,1,1],
            and this is the most likely case.  This optional field is
            included for completeness.

          .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset-field:

          .. index:: module_offset (field)

          **module_offset**: (optional) :ref:`NX_NUMBER <NX_NUMBER>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

            Offset of the module in regards to the origin of the detector in an
            arbitrary direction.

            .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset@transformation_type-attribute:

            .. index:: transformation_type (field attribute)

            **@transformation_type**: (required) :ref:`NX_CHAR <NX_CHAR>`


              Obligatory value: ``translation``

            .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset@vector-attribute:

            .. index:: vector (field attribute)

            **@vector**: (required) :ref:`NX_NUMBER <NX_NUMBER>`


            .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset@offset-attribute:

            .. index:: offset (field attribute)

            **@offset**: (required) :ref:`NX_NUMBER <NX_NUMBER>`


            .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset@depends_on-attribute:

            .. index:: depends_on (field attribute)

            **@depends_on**: (required) :ref:`NX_CHAR <NX_CHAR>`


          .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction-field:

          .. index:: fast_pixel_direction (field)

          **fast_pixel_direction**: (required) :ref:`NX_NUMBER <NX_NUMBER>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

            Values along the direction of :ref:`fastest varying <Design-ArrayStorageOrder>`
            pixel direction.  The direction itself is given through the vector
            attribute.

            .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction@transformation_type-attribute:

            .. index:: transformation_type (field attribute)

            **@transformation_type**: (required) :ref:`NX_CHAR <NX_CHAR>`


              Obligatory value: ``translation``

            .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction@vector-attribute:

            .. index:: vector (field attribute)

            **@vector**: (required) :ref:`NX_NUMBER <NX_NUMBER>`


            .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction@offset-attribute:

            .. index:: offset (field attribute)

            **@offset**: (required) :ref:`NX_NUMBER <NX_NUMBER>`


            .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction@depends_on-attribute:

            .. index:: depends_on (field attribute)

            **@depends_on**: (required) :ref:`NX_CHAR <NX_CHAR>`


          .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction-field:

          .. index:: slow_pixel_direction (field)

          **slow_pixel_direction**: (required) :ref:`NX_NUMBER <NX_NUMBER>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

            Values along the direction of :ref:`slowest varying <Design-ArrayStorageOrder>`
            pixel direction. The direction itself is given through the vector
            attribute.

            .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction@transformation_type-attribute:

            .. index:: transformation_type (field attribute)

            **@transformation_type**: (required) :ref:`NX_CHAR <NX_CHAR>`


              Obligatory value: ``translation``

            .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction@vector-attribute:

            .. index:: vector (field attribute)

            **@vector**: (required) :ref:`NX_NUMBER <NX_NUMBER>`


            .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction@offset-attribute:

            .. index:: offset (field attribute)

            **@offset**: (required) :ref:`NX_NUMBER <NX_NUMBER>`


            .. _/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction@depends_on-attribute:

            .. index:: depends_on (field attribute)

            **@depends_on**: (required) :ref:`NX_CHAR <NX_CHAR>`


      .. _/NXmx/ENTRY/INSTRUMENT/BEAM-group:

      **BEAM**: (required) :ref:`NXbeam`


        .. _/NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength-field:

        .. index:: incident_wavelength (field)

        **incident_wavelength**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_WAVELENGTH <NX_WAVELENGTH>`}

          In the case of a monchromatic beam this is the scalar
          wavelength.

          Several other use cases are permitted, depending on the
          presence or absence of other incident_wavelength_X
          fields.

          In the case of a polychromatic beam this is an array of
          length **m** of wavelengths, with the relative weights
          in ``incident_wavelength_weights``.

          In the case of a monochromatic beam that varies shot-
          to-shot, this is an array of wavelengths, one for each
          recorded shot. Here, ``incident_wavelength_weights`` and
          incident_wavelength_spread are not set.

          In the case of a polychromatic beam that varies shot-to-
          shot, this is an array of length **m** with the relative
          weights in ``incident_wavelength_weights`` as a 2D array.

          In the case of a polychromatic beam that varies shot-to-
          shot and where the channels also vary, this is a 2D array
          of dimensions **nP** by **m** (slow to fast) with the
          relative weights in ``incident_wavelength_weights`` as a 2D
          array.

          Note, :ref:`variants <Design-Variants>` are a good way
          to represent several of these use cases in a single dataset,
          e.g. if a calibrated, single-value wavelength value is
          available along with the original spectrum from which it
          was calibrated.

        .. _/NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength_weight-field:

        .. index:: incident_wavelength_weight (field)

        **incident_wavelength_weight**: (optional) :ref:`NX_FLOAT <NX_FLOAT>`


          .. index:: deprecated


          **DEPRECATED**: use incident_wavelength_weights, see https://github.com/nexusformat/definitions/issues/837

          In the case of a polychromatic beam this is an array of
          length **m** of the relative weights of the corresponding
          wavelengths in incident_wavelength.

          In the case of a polychromatic beam that varies shot-to-
          shot, this is a 2D array of dimensions **nP** by **m**
          (slow to fast) of the relative weights of the
          corresponding wavelengths in incident_wavelength.

        .. _/NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength_weights-field:

        .. index:: incident_wavelength_weights (field)

        **incident_wavelength_weights**: (optional) :ref:`NX_FLOAT <NX_FLOAT>`

          In the case of a polychromatic beam this is an array of
          length **m** of the relative weights of the corresponding
          wavelengths in ``incident_wavelength``.

          In the case of a polychromatic beam that varies shot-to-
          shot, this is a 2D array of dimensions **np** by **m**
          (slow to fast) of the relative weights of the
          corresponding wavelengths in ``incident_wavelength``.

        .. _/NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength_spread-field:

        .. index:: incident_wavelength_spread (field)

        **incident_wavelength_spread**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_WAVELENGTH <NX_WAVELENGTH>`}

          The wavelength spread FWHM for the corresponding
          wavelength(s) in incident_wavelength.

          In the case of shot-to-shot variation in the wavelength
          spread, this is a 2D array of dimension **nP** by
          **m** (slow to fast) of the spreads of the
          corresponding wavelengths in incident_wavelength.

        .. _/NXmx/ENTRY/INSTRUMENT/BEAM/flux-field:

        .. index:: flux (field)

        **flux**: (optional) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_FLUX <NX_FLUX>`}

          Flux density incident on beam plane area in photons
          per second per unit area.

          In the case of a beam that varies in flux shot-to-shot,
          this is an array of values, one for each recorded shot.

        .. _/NXmx/ENTRY/INSTRUMENT/BEAM/total_flux-field:

        .. index:: total_flux (field)

        **total_flux**: (required) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_FREQUENCY <NX_FREQUENCY>`}

          Flux incident on beam plane in photons per second.

          In the case of a beam that varies in total flux shot-to-shot,
          this is an array of values, one for each recorded shot.

        .. _/NXmx/ENTRY/INSTRUMENT/BEAM/incident_beam_size-field:

        .. index:: incident_beam_size (field)

        **incident_beam_size[2]**: (recommended) :ref:`NX_FLOAT <NX_FLOAT>` {units=\ :ref:`NX_LENGTH <NX_LENGTH>`}

          Two-element array of FWHM (if Gaussian or Airy function) or
          diameters (if top hat) or widths (if rectangular) of the beam
          in the order x, y

        .. _/NXmx/ENTRY/INSTRUMENT/BEAM/profile-field:

        .. index:: profile (field)

        **profile**: (recommended) :ref:`NX_CHAR <NX_CHAR>`

          The beam profile, Gaussian, Airy function, top-hat or
          rectangular.  The profile is given in the plane of
          incidence of the beam on the sample.

          Any of these values: ``Gaussian`` | ``Airy`` | ``top-hat`` | ``rectangular``

        .. _/NXmx/ENTRY/INSTRUMENT/BEAM/incident_polarisation_stokes-field:

        .. index:: incident_polarisation_stokes (field)

        **incident_polarisation_stokes[nP, 4]**: (recommended) :ref:`NX_CHAR <NX_CHAR>`


        .. _/NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength_spectrum-group:

        **incident_wavelength_spectrum**: (optional) :ref:`NXdata`


    .. _/NXmx/ENTRY/SOURCE-group:

    **SOURCE**: (required) :ref:`NXsource`

      The neutron or x-ray storage ring/facility. Note, the NXsource base class
      has many more fields available, but at present we only require the name.

      .. _/NXmx/ENTRY/SOURCE/name-field:

      .. index:: name (field)

      **name**: (required) :ref:`NX_CHAR <NX_CHAR>`

        Name of source.  Consistency with the naming in
        https://mmcif.wwpdb.org/dictionaries/mmcif_pdbx_v50.dic/Items/_diffrn_source.pdbx_synchrotron_site.html
        controlled vocabulary is highly recommended.

        .. _/NXmx/ENTRY/SOURCE/name@short_name-attribute:

        .. index:: short_name (field attribute)

        **@short_name**: (optional) :ref:`NX_CHAR <NX_CHAR>`

          short name for source, perhaps the acronym


Hypertext Anchors
-----------------

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


============================================================================================================================================================================================================== ==============================================================================================================================================================================================================
documentation (reST source) anchor                                                                                                                                                                             web page (HTML) anchor                                                                                                                                                                                        
============================================================================================================================================================================================================== ==============================================================================================================================================================================================================
:ref:`/NXmx/ENTRY-group </NXmx/ENTRY-group>`                                                                                                                                                                   :ref:`#nxmx-entry-group </NXmx/ENTRY-group>`                                                                                                                                                                  
:ref:`/NXmx/ENTRY/DATA-group </NXmx/ENTRY/DATA-group>`                                                                                                                                                         :ref:`#nxmx-entry-data-group </NXmx/ENTRY/DATA-group>`                                                                                                                                                        
:ref:`/NXmx/ENTRY/DATA/data-field </NXmx/ENTRY/DATA/data-field>`                                                                                                                                               :ref:`#nxmx-entry-data-data-field </NXmx/ENTRY/DATA/data-field>`                                                                                                                                              
:ref:`/NXmx/ENTRY/definition-field </NXmx/ENTRY/definition-field>`                                                                                                                                             :ref:`#nxmx-entry-definition-field </NXmx/ENTRY/definition-field>`                                                                                                                                            
:ref:`/NXmx/ENTRY/end_time-field </NXmx/ENTRY/end_time-field>`                                                                                                                                                 :ref:`#nxmx-entry-end-time-field </NXmx/ENTRY/end_time-field>`                                                                                                                                                
:ref:`/NXmx/ENTRY/end_time_estimated-field </NXmx/ENTRY/end_time_estimated-field>`                                                                                                                             :ref:`#nxmx-entry-end-time-estimated-field </NXmx/ENTRY/end_time_estimated-field>`                                                                                                                            
:ref:`/NXmx/ENTRY/INSTRUMENT-group </NXmx/ENTRY/INSTRUMENT-group>`                                                                                                                                             :ref:`#nxmx-entry-instrument-group </NXmx/ENTRY/INSTRUMENT-group>`                                                                                                                                            
:ref:`/NXmx/ENTRY/INSTRUMENT/ATTENUATOR-group </NXmx/ENTRY/INSTRUMENT/ATTENUATOR-group>`                                                                                                                       :ref:`#nxmx-entry-instrument-attenuator-group </NXmx/ENTRY/INSTRUMENT/ATTENUATOR-group>`                                                                                                                      
:ref:`/NXmx/ENTRY/INSTRUMENT/ATTENUATOR/attenuator_transmission-field </NXmx/ENTRY/INSTRUMENT/ATTENUATOR/attenuator_transmission-field>`                                                                       :ref:`#nxmx-entry-instrument-attenuator-attenuator-transmission-field </NXmx/ENTRY/INSTRUMENT/ATTENUATOR/attenuator_transmission-field>`                                                                      
:ref:`/NXmx/ENTRY/INSTRUMENT/BEAM-group </NXmx/ENTRY/INSTRUMENT/BEAM-group>`                                                                                                                                   :ref:`#nxmx-entry-instrument-beam-group </NXmx/ENTRY/INSTRUMENT/BEAM-group>`                                                                                                                                  
:ref:`/NXmx/ENTRY/INSTRUMENT/BEAM/flux-field </NXmx/ENTRY/INSTRUMENT/BEAM/flux-field>`                                                                                                                         :ref:`#nxmx-entry-instrument-beam-flux-field </NXmx/ENTRY/INSTRUMENT/BEAM/flux-field>`                                                                                                                        
:ref:`/NXmx/ENTRY/INSTRUMENT/BEAM/incident_beam_size-field </NXmx/ENTRY/INSTRUMENT/BEAM/incident_beam_size-field>`                                                                                             :ref:`#nxmx-entry-instrument-beam-incident-beam-size-field </NXmx/ENTRY/INSTRUMENT/BEAM/incident_beam_size-field>`                                                                                            
:ref:`/NXmx/ENTRY/INSTRUMENT/BEAM/incident_polarisation_stokes-field </NXmx/ENTRY/INSTRUMENT/BEAM/incident_polarisation_stokes-field>`                                                                         :ref:`#nxmx-entry-instrument-beam-incident-polarisation-stokes-field </NXmx/ENTRY/INSTRUMENT/BEAM/incident_polarisation_stokes-field>`                                                                        
:ref:`/NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength-field </NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength-field>`                                                                                           :ref:`#nxmx-entry-instrument-beam-incident-wavelength-field </NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength-field>`                                                                                          
:ref:`/NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength_spectrum-group </NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength_spectrum-group>`                                                                         :ref:`#nxmx-entry-instrument-beam-incident-wavelength-spectrum-group </NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength_spectrum-group>`                                                                        
:ref:`/NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength_spread-field </NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength_spread-field>`                                                                             :ref:`#nxmx-entry-instrument-beam-incident-wavelength-spread-field </NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength_spread-field>`                                                                            
:ref:`/NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength_weight-field </NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength_weight-field>`                                                                             :ref:`#nxmx-entry-instrument-beam-incident-wavelength-weight-field </NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength_weight-field>`                                                                            
:ref:`/NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength_weights-field </NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength_weights-field>`                                                                           :ref:`#nxmx-entry-instrument-beam-incident-wavelength-weights-field </NXmx/ENTRY/INSTRUMENT/BEAM/incident_wavelength_weights-field>`                                                                          
:ref:`/NXmx/ENTRY/INSTRUMENT/BEAM/profile-field </NXmx/ENTRY/INSTRUMENT/BEAM/profile-field>`                                                                                                                   :ref:`#nxmx-entry-instrument-beam-profile-field </NXmx/ENTRY/INSTRUMENT/BEAM/profile-field>`                                                                                                                  
:ref:`/NXmx/ENTRY/INSTRUMENT/BEAM/total_flux-field </NXmx/ENTRY/INSTRUMENT/BEAM/total_flux-field>`                                                                                                             :ref:`#nxmx-entry-instrument-beam-total-flux-field </NXmx/ENTRY/INSTRUMENT/BEAM/total_flux-field>`                                                                                                            
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR-group </NXmx/ENTRY/INSTRUMENT/DETECTOR-group>`                                                                                                                           :ref:`#nxmx-entry-instrument-detector-group </NXmx/ENTRY/INSTRUMENT/DETECTOR-group>`                                                                                                                          
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/angular_calibration-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/angular_calibration-field>`                                                                                   :ref:`#nxmx-entry-instrument-detector-angular-calibration-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/angular_calibration-field>`                                                                                  
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/angular_calibration_applied-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/angular_calibration_applied-field>`                                                                   :ref:`#nxmx-entry-instrument-detector-angular-calibration-applied-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/angular_calibration_applied-field>`                                                                  
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/beam_center_derived-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/beam_center_derived-field>`                                                                                   :ref:`#nxmx-entry-instrument-detector-beam-center-derived-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/beam_center_derived-field>`                                                                                  
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/beam_center_x-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/beam_center_x-field>`                                                                                               :ref:`#nxmx-entry-instrument-detector-beam-center-x-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/beam_center_x-field>`                                                                                              
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/beam_center_y-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/beam_center_y-field>`                                                                                               :ref:`#nxmx-entry-instrument-detector-beam-center-y-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/beam_center_y-field>`                                                                                              
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/bit_depth_readout-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/bit_depth_readout-field>`                                                                                       :ref:`#nxmx-entry-instrument-detector-bit-depth-readout-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/bit_depth_readout-field>`                                                                                      
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/COLLECTION-group </NXmx/ENTRY/INSTRUMENT/DETECTOR/COLLECTION-group>`                                                                                                     :ref:`#nxmx-entry-instrument-detector-collection-group </NXmx/ENTRY/INSTRUMENT/DETECTOR/COLLECTION-group>`                                                                                                    
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/count_time-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/count_time-field>`                                                                                                     :ref:`#nxmx-entry-instrument-detector-count-time-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/count_time-field>`                                                                                                    
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/countrate_correction_applied-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/countrate_correction_applied-field>`                                                                 :ref:`#nxmx-entry-instrument-detector-countrate-correction-applied-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/countrate_correction_applied-field>`                                                                
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/data-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/data-field>`                                                                                                                 :ref:`#nxmx-entry-instrument-detector-data-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/data-field>`                                                                                                                
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/dead_time-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/dead_time-field>`                                                                                                       :ref:`#nxmx-entry-instrument-detector-dead-time-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/dead_time-field>`                                                                                                      
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/depends_on-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/depends_on-field>`                                                                                                     :ref:`#nxmx-entry-instrument-detector-depends-on-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/depends_on-field>`                                                                                                    
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/description-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/description-field>`                                                                                                   :ref:`#nxmx-entry-instrument-detector-description-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/description-field>`                                                                                                  
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE-group </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE-group>`                                                                                           :ref:`#nxmx-entry-instrument-detector-detector-module-group </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE-group>`                                                                                          
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/data_origin-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/data_origin-field>`                                                                   :ref:`#nxmx-entry-instrument-detector-detector-module-data-origin-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/data_origin-field>`                                                                  
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/data_size-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/data_size-field>`                                                                       :ref:`#nxmx-entry-instrument-detector-detector-module-data-size-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/data_size-field>`                                                                      
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/data_stride-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/data_stride-field>`                                                                   :ref:`#nxmx-entry-instrument-detector-detector-module-data-stride-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/data_stride-field>`                                                                  
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction-field>`                                                 :ref:`#nxmx-entry-instrument-detector-detector-module-fast-pixel-direction-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction-field>`                                                
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction@depends_on-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction@depends_on-attribute>`                   :ref:`#nxmx-entry-instrument-detector-detector-module-fast-pixel-direction-depends-on-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction@depends_on-attribute>`                  
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction@offset-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction@offset-attribute>`                           :ref:`#nxmx-entry-instrument-detector-detector-module-fast-pixel-direction-offset-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction@offset-attribute>`                          
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction@transformation_type-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction@transformation_type-attribute>` :ref:`#nxmx-entry-instrument-detector-detector-module-fast-pixel-direction-transformation-type-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction@transformation_type-attribute>`
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction@vector-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction@vector-attribute>`                           :ref:`#nxmx-entry-instrument-detector-detector-module-fast-pixel-direction-vector-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/fast_pixel_direction@vector-attribute>`                          
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset-field>`                                                               :ref:`#nxmx-entry-instrument-detector-detector-module-module-offset-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset-field>`                                                              
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset@depends_on-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset@depends_on-attribute>`                                 :ref:`#nxmx-entry-instrument-detector-detector-module-module-offset-depends-on-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset@depends_on-attribute>`                                
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset@offset-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset@offset-attribute>`                                         :ref:`#nxmx-entry-instrument-detector-detector-module-module-offset-offset-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset@offset-attribute>`                                        
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset@transformation_type-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset@transformation_type-attribute>`               :ref:`#nxmx-entry-instrument-detector-detector-module-module-offset-transformation-type-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset@transformation_type-attribute>`              
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset@vector-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset@vector-attribute>`                                         :ref:`#nxmx-entry-instrument-detector-detector-module-module-offset-vector-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/module_offset@vector-attribute>`                                        
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction-field>`                                                 :ref:`#nxmx-entry-instrument-detector-detector-module-slow-pixel-direction-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction-field>`                                                
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction@depends_on-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction@depends_on-attribute>`                   :ref:`#nxmx-entry-instrument-detector-detector-module-slow-pixel-direction-depends-on-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction@depends_on-attribute>`                  
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction@offset-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction@offset-attribute>`                           :ref:`#nxmx-entry-instrument-detector-detector-module-slow-pixel-direction-offset-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction@offset-attribute>`                          
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction@transformation_type-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction@transformation_type-attribute>` :ref:`#nxmx-entry-instrument-detector-detector-module-slow-pixel-direction-transformation-type-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction@transformation_type-attribute>`
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction@vector-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction@vector-attribute>`                           :ref:`#nxmx-entry-instrument-detector-detector-module-slow-pixel-direction-vector-attribute </NXmx/ENTRY/INSTRUMENT/DETECTOR/DETECTOR_MODULE/slow_pixel_direction@vector-attribute>`                          
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/detector_readout_time-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/detector_readout_time-field>`                                                                               :ref:`#nxmx-entry-instrument-detector-detector-readout-time-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/detector_readout_time-field>`                                                                              
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/distance-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/distance-field>`                                                                                                         :ref:`#nxmx-entry-instrument-detector-distance-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/distance-field>`                                                                                                        
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/distance_derived-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/distance_derived-field>`                                                                                         :ref:`#nxmx-entry-instrument-detector-distance-derived-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/distance_derived-field>`                                                                                        
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/flatfield-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/flatfield-field>`                                                                                                       :ref:`#nxmx-entry-instrument-detector-flatfield-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/flatfield-field>`                                                                                                      
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/flatfield_applied-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/flatfield_applied-field>`                                                                                       :ref:`#nxmx-entry-instrument-detector-flatfield-applied-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/flatfield_applied-field>`                                                                                      
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/flatfield_error-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/flatfield_error-field>`                                                                                           :ref:`#nxmx-entry-instrument-detector-flatfield-error-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/flatfield_error-field>`                                                                                          
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/flatfield_errors-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/flatfield_errors-field>`                                                                                         :ref:`#nxmx-entry-instrument-detector-flatfield-errors-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/flatfield_errors-field>`                                                                                        
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/frame_time-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/frame_time-field>`                                                                                                     :ref:`#nxmx-entry-instrument-detector-frame-time-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/frame_time-field>`                                                                                                    
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/gain_setting-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/gain_setting-field>`                                                                                                 :ref:`#nxmx-entry-instrument-detector-gain-setting-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/gain_setting-field>`                                                                                                
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/pixel_mask-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/pixel_mask-field>`                                                                                                     :ref:`#nxmx-entry-instrument-detector-pixel-mask-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/pixel_mask-field>`                                                                                                    
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/pixel_mask_applied-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/pixel_mask_applied-field>`                                                                                     :ref:`#nxmx-entry-instrument-detector-pixel-mask-applied-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/pixel_mask_applied-field>`                                                                                    
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/saturation_value-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/saturation_value-field>`                                                                                         :ref:`#nxmx-entry-instrument-detector-saturation-value-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/saturation_value-field>`                                                                                        
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/sensor_material-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/sensor_material-field>`                                                                                           :ref:`#nxmx-entry-instrument-detector-sensor-material-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/sensor_material-field>`                                                                                          
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/sensor_thickness-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/sensor_thickness-field>`                                                                                         :ref:`#nxmx-entry-instrument-detector-sensor-thickness-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/sensor_thickness-field>`                                                                                        
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/threshold_energy-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/threshold_energy-field>`                                                                                         :ref:`#nxmx-entry-instrument-detector-threshold-energy-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/threshold_energy-field>`                                                                                        
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/time_per_channel-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/time_per_channel-field>`                                                                                         :ref:`#nxmx-entry-instrument-detector-time-per-channel-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/time_per_channel-field>`                                                                                        
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/TRANSFORMATIONS-group </NXmx/ENTRY/INSTRUMENT/DETECTOR/TRANSFORMATIONS-group>`                                                                                           :ref:`#nxmx-entry-instrument-detector-transformations-group </NXmx/ENTRY/INSTRUMENT/DETECTOR/TRANSFORMATIONS-group>`                                                                                          
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/type-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/type-field>`                                                                                                                 :ref:`#nxmx-entry-instrument-detector-type-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/type-field>`                                                                                                                
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR/underload_value-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/underload_value-field>`                                                                                           :ref:`#nxmx-entry-instrument-detector-underload-value-field </NXmx/ENTRY/INSTRUMENT/DETECTOR/underload_value-field>`                                                                                          
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR_GROUP-group </NXmx/ENTRY/INSTRUMENT/DETECTOR_GROUP-group>`                                                                                                               :ref:`#nxmx-entry-instrument-detector-group-group </NXmx/ENTRY/INSTRUMENT/DETECTOR_GROUP-group>`                                                                                                              
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR_GROUP/group_index-field </NXmx/ENTRY/INSTRUMENT/DETECTOR_GROUP/group_index-field>`                                                                                       :ref:`#nxmx-entry-instrument-detector-group-group-index-field </NXmx/ENTRY/INSTRUMENT/DETECTOR_GROUP/group_index-field>`                                                                                      
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR_GROUP/group_names-field </NXmx/ENTRY/INSTRUMENT/DETECTOR_GROUP/group_names-field>`                                                                                       :ref:`#nxmx-entry-instrument-detector-group-group-names-field </NXmx/ENTRY/INSTRUMENT/DETECTOR_GROUP/group_names-field>`                                                                                      
:ref:`/NXmx/ENTRY/INSTRUMENT/DETECTOR_GROUP/group_parent-field </NXmx/ENTRY/INSTRUMENT/DETECTOR_GROUP/group_parent-field>`                                                                                     :ref:`#nxmx-entry-instrument-detector-group-group-parent-field </NXmx/ENTRY/INSTRUMENT/DETECTOR_GROUP/group_parent-field>`                                                                                    
:ref:`/NXmx/ENTRY/INSTRUMENT/name-field </NXmx/ENTRY/INSTRUMENT/name-field>`                                                                                                                                   :ref:`#nxmx-entry-instrument-name-field </NXmx/ENTRY/INSTRUMENT/name-field>`                                                                                                                                  
:ref:`/NXmx/ENTRY/INSTRUMENT/name@short_name-attribute </NXmx/ENTRY/INSTRUMENT/name@short_name-attribute>`                                                                                                     :ref:`#nxmx-entry-instrument-name-short-name-attribute </NXmx/ENTRY/INSTRUMENT/name@short_name-attribute>`                                                                                                    
:ref:`/NXmx/ENTRY/INSTRUMENT/time_zone-field </NXmx/ENTRY/INSTRUMENT/time_zone-field>`                                                                                                                         :ref:`#nxmx-entry-instrument-time-zone-field </NXmx/ENTRY/INSTRUMENT/time_zone-field>`                                                                                                                        
:ref:`/NXmx/ENTRY/SAMPLE-group </NXmx/ENTRY/SAMPLE-group>`                                                                                                                                                     :ref:`#nxmx-entry-sample-group </NXmx/ENTRY/SAMPLE-group>`                                                                                                                                                    
:ref:`/NXmx/ENTRY/SAMPLE/depends_on-field </NXmx/ENTRY/SAMPLE/depends_on-field>`                                                                                                                               :ref:`#nxmx-entry-sample-depends-on-field </NXmx/ENTRY/SAMPLE/depends_on-field>`                                                                                                                              
:ref:`/NXmx/ENTRY/SAMPLE/name-field </NXmx/ENTRY/SAMPLE/name-field>`                                                                                                                                           :ref:`#nxmx-entry-sample-name-field </NXmx/ENTRY/SAMPLE/name-field>`                                                                                                                                          
:ref:`/NXmx/ENTRY/SAMPLE/temperature-field </NXmx/ENTRY/SAMPLE/temperature-field>`                                                                                                                             :ref:`#nxmx-entry-sample-temperature-field </NXmx/ENTRY/SAMPLE/temperature-field>`                                                                                                                            
:ref:`/NXmx/ENTRY/SAMPLE/TRANSFORMATIONS-group </NXmx/ENTRY/SAMPLE/TRANSFORMATIONS-group>`                                                                                                                     :ref:`#nxmx-entry-sample-transformations-group </NXmx/ENTRY/SAMPLE/TRANSFORMATIONS-group>`                                                                                                                    
:ref:`/NXmx/ENTRY/SOURCE-group </NXmx/ENTRY/SOURCE-group>`                                                                                                                                                     :ref:`#nxmx-entry-source-group </NXmx/ENTRY/SOURCE-group>`                                                                                                                                                    
:ref:`/NXmx/ENTRY/SOURCE/name-field </NXmx/ENTRY/SOURCE/name-field>`                                                                                                                                           :ref:`#nxmx-entry-source-name-field </NXmx/ENTRY/SOURCE/name-field>`                                                                                                                                          
:ref:`/NXmx/ENTRY/SOURCE/name@short_name-attribute </NXmx/ENTRY/SOURCE/name@short_name-attribute>`                                                                                                             :ref:`#nxmx-entry-source-name-short-name-attribute </NXmx/ENTRY/SOURCE/name@short_name-attribute>`                                                                                                            
:ref:`/NXmx/ENTRY/start_time-field </NXmx/ENTRY/start_time-field>`                                                                                                                                             :ref:`#nxmx-entry-start-time-field </NXmx/ENTRY/start_time-field>`                                                                                                                                            
:ref:`/NXmx/ENTRY/title-field </NXmx/ENTRY/title-field>`                                                                                                                                                       :ref:`#nxmx-entry-title-field </NXmx/ENTRY/title-field>`                                                                                                                                                      
:ref:`/NXmx/ENTRY@version-attribute </NXmx/ENTRY@version-attribute>`                                                                                                                                           :ref:`#nxmx-entry-version-attribute </NXmx/ENTRY@version-attribute>`                                                                                                                                          
============================================================================================================================================================================================================== ==============================================================================================================================================================================================================


**NXDL Source**:
  https://github.com/nexusformat/definitions/blob/main/applications/NXmx.nxdl.xml