PX Monochromatic NeXus Mapping

Mapping of CBF data for minimal PX monchromatic NeXus Application Definition, as per section 1.4.3.3 of http://download.nexusformat.org/sphinx/applying-nexus.html#nxdl-tutorial

H. J. Bernstein, 3 December 2013

Note added 24 Feb 2014:

Tobias Richer has prepared a functional MX Nexus application definition:

http://download.nexusformat.org/doc/html/classes/contributed_definitions/NXmx.html

The mapping presented here and NXmx need to be aligned.

Each element of the mapping consists of a CBF tag and sample value, a NeXus path for storing the equivalent value and an explanation CBF tag and sample value: _diffrn.id DIFFRN_ID NeXus path: /CBF_diffrn_scan__SCANID:NXentry /CBF_diffrn_id="DIFFRN_ID" Explanation: This data item uniquely identifies a set of diffraction data. On the NeXus side, this information is preserved in a field under the NXentry CBF tag and sample value: _diffrn.crystal_id DIFFRN_CRYSTAL_ID NeXus path: /CBF_diffrn_scan__SCANID:NXentry /CBF_diffrn_crystal_id "DIFFRN_CRYSTAL_ID" Explanation: This data item identifies the particular sample used in the collection of this particular diffraction data. CBF tag and sample value: _diffrn_source.diffrn_id DIFFRN_ID NeXus path: /CBF_diffrn_scan__SCANID:NXentry /instrument:NXinstrument /source:NXsource /CBF_diffrn_source__diffrn_id --> /CBF_diffrn_scan__SCAN_ID/CBF_diffrn_id Explanation: This data item is a pointer to the _diffrn.id. On the NeXus side it becomes a link CBF tag and sample value: _diffrn_source.source synchrotron NeXus path: /CBF_diffrn_scan__SCANID:NXentry /instrument:NXinstrument /source:NXsource /type="Synchrotron X-ray Source" Explanation: This data item is the general class of the radiation source. On the NeXus side it maps most closely to one of the enumerated values listed in the NXsource/type base class definition. This may require and extension to the enumerated list on the NeXus side because on the CIF side the valid values are not, at this time enumerated. CBF tag and sample value: _diffrn_source.current 100.0 NeXus path: /CBF_diffrn_scan__SCANID:NXentry /instrument:NXinstrument /source:NXsource /current=100.0 @units="mA" Explanation: This data item is the current in milliamperes at which the radiation source was operated. CBF tag and sample value: _diffrn_source.type 'SSRL beamline 1-5' Nexus_path: /CBF_diffrn_scan__SCANID:NXentry /instrument:NXinstrument /source:NXsource /name="SSRL beamline 1-5" Explanation: This data item is the make, model or name of the source of radiation. On the NeXus side this maps most closely to the name od a beamline CBF tag and sample value: _diffrn_radiation.diffrn_id DIFFRN_ID Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn__crystal_id__DIFFRN_ID:/NXsample /beam:NXbeam /CBF_diffrn_radiation__diffrn_id --> /CBF_diffrn_scan__SCAN_ID/CBF_diffrn_id Explanation: This data item is a pointer to the _diffrn.id. On the NeXus side it becomes a link CBF tag and sample value: _diffrn_radiation.wavelength_id WAVELENGTH1 _diffrn_radiation_wavelength.id WAVELENGTH1 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn__crystal_id__DIFFRN_ID:/NXsample /beam:NXbeam /CBF_diffrn_radiation_wavelength__id="WAVELENGTH1" Explanation: This data item is an indentifier for a group of wavelength for a polychromatic source. CBF tag and sample value: _diffrn_radiation_wavelength.wt 1 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn__crystal_id__DIFFRN_ID:/NXsample /beam:NXbeam /CBF_diffrn_radiation_wavelength__wt=[1] Explanation: This data item is an the array NXFLoats of relative weights of the wavelengths of a polychromatic beam. For a monchromatic beam it is a one dimensional array with one item of value 1 CBF tag and sample value: _diffrn_radiation_wavelength.wavelength 0.98 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn__crystal_id__DIFFRN_ID:/NXsample /beam:NXbeam /incident_wavelength=[0.98] Explanation: This data item is an the wavelength of the beam incident on the sample. On the NeXus side, for a polychromatic beam it is an array of NXFloats, one per weight in CBF_diffrn_radiation_wavelength__wt. CBF tag and sample value: _diffrn_radiation.probe xray Nexus_path: /CBF_diffrn_scan__SCANID:NXentry /instrument:NXinstrument /source:NXsource /probe="x-ray" Explanation: Name of the type of radiation used. CBF tag and sample value: _diffrn_radiation.monochromator 'Si 111' Nexus_path: /CBF_diffrn_scan__SCANID:NXentry /instrument:NXinstrument /monochromator:NXmonchromator /crystal:NXCrystal type="Si 111" Explanation: The method used to obtain monochromatic radiation. If a monochromator crystal is used the material and the indices of the Bragg reflection are specified. CBF tag and sample value: _diffrn_radiation.polarizn_source_ratio 0.8 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn__crystal_id__DIFFRN_ID:/NXsample /beam:NXbeam /CBF_diffrn_radiation__polarizn_source_ratio=0.8 Explanation: (Ip-In)/(Ip+In), where Ip is the intensity (amplitude squared) of the electric vector in the plane of polarization and In is the intensity (amplitude squared) of the electric vector in the plane of the normal to the plane of polarization. In the case of an unpolarized beam, or a beam with true circular polarization, in which no single plane of polarization can be determined, the plane is to be taken as the XZ plane and the normal is parallel to the Y axis. Thus, if there was complete polarization in the plane of polarization, the value of _diffrn_radiation.polarizn_source_ratio would be 1, and for an unpolarized beam _diffrn_radiation.polarizn_source_ratio would have a value of 0. If the X axis has been chosen to lie in the plane of polarization, this definition will agree with the definition of 'MONOCHROMATOR' in the Denzo glossary, and values of near 1 should be expected for a bending-magnet source. However, if the X axis were perpendicular to the polarization plane (not a common choice), then the Denzo value would be the negative of _diffrn_radiation.polarizn_source_ratio. See http://www.hkl-xray.com for information on Denzo and Otwinowski & Minor (1997). This differs both in the choice of ratio and choice of orientation from _diffrn_radiation.polarisn_ratio, which, unlike _diffrn_radiation.polarizn_source_ratio, is unbounded. Reference: Otwinowski, Z. & Minor, W. (1997). 'Processing of X-ray diffraction data collected in oscillation mode.' Methods Enzymol. 276, 307-326. CBF tag and sample value: _diffrn_radiation.polarizn_source_norm 0.0 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn__crystal_id__DIFFRN_ID:/NXsample /beam:NXbeam /CBF_diffrn_radiation__polarizn_source_norm=0.0 @units="deg" Explanation: The angle in degrees, as viewed from the specimen, between the normal to the polarization plane and the laboratory Y axis as defined in the AXIS category. Note that this is the angle of polarization of the source photons, either directly from a synchrotron beamline or from a monochromater. This differs from the value of _diffrn_radiation.polarisn_norm in that _diffrn_radiation.polarisn_norm refers to polarization relative to the diffraction plane rather than to the laboratory axis system. In the case of an unpolarized beam, or a beam with true circular polarization, in which no single plane of polarization can be determined, the plane should be taken as the XZ plane and the angle as 0. See _diffrn_radiation.polarizn_source_ratio. Note that for on the NeXus side the value of the angle needs to be converted if the McStas Y axis differs from the CBF Y axis. CBF tag and sample value: _diffrn_radiation.div_x_source 0.08 _diffrn_radiation.div_y_source 0.01 _diffrn_radiation.div_x_y_source 0.00 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn__crystal_id__DIFFRN_ID:/NXsample /beam:NXbeam /incident_beam_divergence=[0.08,0.01] @units="deg" /CBF_diffrn_radiation__div_x_y_source=0.00 @units="deg^2" Explanation: Beam crossfire in degrees parallel to the laboratory X axis and Y axis, and the beam crossfire correlation degrees^2 between the crossfire laboratory X-axis component and the crossfire laboratory Y-axis component. When the NeXus McStas coordinate system differs from the CBF coordinate system, conversion may be necessary. This is a characteristic of the X-ray beam as it illuminates the sample (or specimen) after all monochromation and collimation. This is the standard uncertainty (e.s.d.) of the directions of photons in the XZ plane around the mean source beam direction. Note that for some synchrotrons this value is specified in milliradians, in which case a conversion is needed. To convert a value in milliradians to a value in degrees, multiply by 0.180 and divide by pi. CBF tag and sample value: _diffrn_radiation.collimation '0.20 mm x 0.20 mm' Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn__crystal_id__DIFFRN_ID:/NXsample /beam:NXbeam /CBF_diffrn_radiation__collimation="0.20 mm x 0.20 mm" Explanation: The collimation or focusing applied to the radiation. CBF tag and sample value: _diffrn_detector.diffrn_id DIFFRN_ID _diffrn_detector.id ADSCQ4 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /CBF_diffrn_id="DIFFRN_ID" /instrument:NXinstrument /CBF_diffrn_detector__ADSCQ4:NXdetector /CBF_diffrn_detector__diffrn_id --> /CBF_diffrn_scan__SCAN_ID/CBF_diffrn_id Explanation: _diffrn_detector.diffrn_id is a pointer to the _diffrn.id. On the NeXus side it becomes a link. CBF tag and sample value: _diffrn_detector.type 'ADSC QUANTUM4' Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn_detector__ADSCQ4:NXdetector /description="ADSC QUANTUM4" Explanation: The make, model or name of the detector device used. CBF tag and sample value: _diffrn_detector.details 'slow mode' Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn_detector__ADSCQ4:NXdetector /CBF_diffrn_detector__details="ADSC QUANTUM4" Explanation: A description of special aspects of the radiation detector. CBF tag and sample value: _diffrn_detector.number_of_axes 4 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn_detector__ADSCQ4:NXdetector /CBF_diffrn_detector__number_of_axes=4 Explanation: The value of _diffrn_detector.number_of_axes gives the number of axes of the positioner for the detector identified by _diffrn_detector.id. The word 'positioner' is a general term used in instrumentation design for devices that are used to change the positions of portions of apparatus by linear translation, rotation or combinations of such motions. Axes which are used to provide a coordinate system for the face of an area detetctor should not be counted for this data item. The description of each axis should be provided by entries in DIFFRN_DETECTOR_AXIS. CBF tag and sample value: _diffrn_detector_axis.detector_id ADSCQ4 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn_detector__ADSCQ4:NXdetector Explanation: This data item is a pointer to _diffrn_detector.id in the DIFFRN_DETECTOR category. CBF tag and sample value: loop_ _diffrn_detector_axis.axis_id DETECTOR_X DETECTOR_Y DETECTOR_Z DETECTOR_PITCH Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn_detector__ADSCQ4:NXdetector /CBF_axis__DETECTOR_X=[] /CBF_axis__DETECTOR_Y=[] /CBF_axis__DETECTOR_Z=[] /CBF_axis__PITCH=[] Explanation: On the NeXus side, this determines which axes should have their settings and attributes under the associated NXdetector CBF tag and sample value: _diffrn_detector_element.id ADSCQ4 _diffrn_detector_axis.axis_id ELEMENT1 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn_detector__ADSCQ4:NXdetector /CBF_diffrn_detector_element__ELEMENT1 Explanation: The elements of which a detector is composed. CBF tag and sample value: _diffrn_data_frame.id FRAME1 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn_detector__ADSCQ4:NXdetector ... see below Explanation: used to index into the arrays of this category by the ordinal of the matching ELEMENTID in _diffrn_detector.element_id for the slow index by matching FRAMEID against _diffrn_scan_frame.frame_id and using _diffrn_scan_frame.frame_number from the same row. CBF tag and sample value: _diffrn_data_frame.detector_element_id ELEMENT1 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn_detector__ADSCQ4:NXdetector ... see below Explanation: used to index into the arrays of this category by the ordinal of the matching ELEMENTID in _diffrn_detector_element.id for the fast index CBF tag and sample value: _diffrn_data_frame.array_id ARRAY1 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn_detector__ADSCQ4:NXdetector /CBF_diffrn_data_frame__section_id=[...,"ARRAY1",...] Explanation: inserts ARRAYID (if no SECTIONID is specified) into the element of the section_id array for this frame and for this detector element CBF tag and sample value: _diffrn_data_frame.binary_id 1 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn_detector__ADSCQ4:NXdetector /CBF_diffrn_data_frame__binary_id=[...,1,...] Explanation: inserts the binary_id into the element of the binary_id array for this frame and for this detector element. CBF tag and sample value: _diffrn_measurement.diffrn_id DIFFRN_ID _diffrn_measurement.id GONIOMETER Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /CBF_diffrn_id="DIFFRN_ID" /instrument:NXinstrument /CBF_diffrn_measurement__GONIOMETER:NXgoniometer /CBF_diffrn_measurement__diffrn_id --> /CBF_diffrn_scan__SCAN_ID/CBF_diffrn_id Explanation: _diffrn_measurement.diffrn_id is a pointer to the _diffrn.id. On the NeXus side it becomes a link. CBF tag and sample value: _diffrn_measurement.number_of_axes 3 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /CBF_diffrn_id="DIFFRN_ID" /instrument:NXinstrument /CBF_diffrn_measurement__GONIOMETER:NXgoniometer /number_of_axes=3 Explanation: The number of axes in the goniometer. CBF tag and sample value: _diffrn_measurement.method rotation Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /CBF_diffrn_id="DIFFRN_ID" /instrument:NXinstrument /CBF_diffrn_measurement__GONIOMETER:NXgoniometer /CBF_diffrn_measurement__method="rotation" Explanation: Method used to measure intensities. CBF tag and sample value: _diffrn_measurement.details 'i0=1.000 i1=1.000 i2=1.000 ib=1.000 beamstop=20 mm 0% attenuation' Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /CBF_diffrn_id="DIFFRN_ID" /instrument:NXinstrument /CBF_diffrn_measurement__GONIOMETER:NXgoniometer /CBF_diffrn_measurement__details= "i0=1.000 i1=1.000 i2=1.000 ib=1.000 beamstop=20 mm 0% attenuation" Explanation: A description of special aspects of the intensity measurement. CBF tag and sample value: loop_ _diffrn_measurement_axis.measurement_id _diffrn_measurement_axis.axis_id GONIOMETER GONIOMETER_PHI GONIOMETER GONIOMETER_KAPPA GONIOMETER GONIOMETER_OMEGA Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /CBF_diffrn_id="DIFFRN_ID" /instrument:NXinstrument /CBF_diffrn_measurement__GONIOMETER:NXgoniometer /CBF_axis_CBF_AXIS_GONIOMETER_PHI=[] /CBF_axis_CBF_AXIS_GONIOMETER_KAPPA=[] /CBF_axis_CBF_AXIS_GONIOMETER_OMEGA=[] Explanation: On the NeXus side, this determines which axes should have their settings and attributes under the associated NXgoniometer CBF tag and sample value: _diffrn_scan.id SCAN1 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /CBF_scan_id="SCAN1" Explanation: The value of _diffrn_scan.id uniquely identifies each scan. The identifier is used to tie together all the information about the scan. CBF tag and sample value: _diffrn_scan.frame_id_start FRAMESTARTID _diffrn_scan.frame_id_end FRAMEENDNO Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /instrument:NXinstrument /CBF_diffrn_detector__ADSCQ4:NXdetector /frame start number=FRAMESTARTNO /frame end number=FRAMEENDNO Explanation: FRAMESTARTNO is the value of _diffrn_scan_frame.frame_number for which the value of _diffrn_scan_frame.frame_id equals FRAMESTARTID. FRAMEENDNO is the value of _diffrn_scan_frame.frame_number for which the value of _diffrn_scan_frame.frame_id equals FRAMEENDID. CBF tag and sample value: _diffrn_scan.frames 1 Nexus_path: see below Explanation: Carried in NeXus as the slow dimension of arrays that are organized by frame. CBF tag and sample value: loop_ _diffrn_scan_axis.scan_id _diffrn_scan_axis.axis_id _diffrn_scan_axis.angle_start _diffrn_scan_axis.angle_range _diffrn_scan_axis.angle_increment _diffrn_scan_axis.displacement_start _diffrn_scan_axis.displacement_range _diffrn_scan_axis.displacement_increment SCAN1 GONIOMETER_OMEGA 0.0 0.0 0.0 0.0 0.0 0.0 SCAN1 GONIOMETER_KAPPA 0.0 0.0 0.0 0.0 0.0 0.0 SCAN1 GONIOMETER_PHI 0.0 0.0 0.0 0.0 0.0 0.0 SCAN1 DETECTOR_Z 0.0 0.0 0.0 0.0 0.0 0.0 SCAN1 DETECTOR_Y 0.0 0.0 0.0 0.0 0.0 0.0 SCAN1 DETECTOR_X 0.0 0.0 0.0 0.0 0.0 0.0 SCAN1 DETECTOR_PITCH 0.0 0.0 0.0 0.0 0.0 0.0 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /CBF_scan_id="SCAN1" ... /CBF_AXIS__CBF_GONIOMETER_OMEGA=[] @CBF_diffrn_scan_axis__angle_start=0.0 @CBF_diffrn_scan_axis__angle_range=0.0 @CBF_diffrn_scan_axis__angle_increment=0.0 @CBF_diffrn_scan_axis__displacement_start=0.0 @CBF_diffrn_scan_axis__displacement_range=0.0 @CBF_diffrn_scan_axis__displacement_increment=0.0 Explanation: Data items in the DIFFRN_SCAN_AXIS category describe the settings of axes for particular scans. Unspecified axes are assumed to be at their zero points. The particular NeXus path depends on whether the associated axis belongs to the detector or the goniometer. CBF tag and sample value: loop_ _diffrn_scan_frame.frame_id _diffrn_scan_frame.frame_number _diffrn_scan_frame.integration_time _diffrn_scan_frame.scan_id _diffrn_scan_frame.date FRAME1 1 0.0 SCAN1 1997-12-04T10:23:48 Nexus_path: /CBF_diffrn_scan__SCAN1:NXentry /CBF_scan_id="SCAN1" /CBF_diffrn_scan_frame__frame_id=[...,"FRAME1",...] /count time=[...,0.0,...] /CBF_diffrn_scan_frame__date=[...,"1997-12-04T10:23:48",...] Explanation: Data items in the DIFFRN_SCAN_FRAME category describe the relationships of particular frames to scans. CBF tag and sample value: loop_ _diffrn_scan_frame_axis.frame_id _diffrn_scan_frame_axis.axis_id _diffrn_scan_frame_axis.angle _diffrn_scan_frame_axis.displacement FRAME1 GONIOMETER_OMEGA 0.0 0.0 FRAME1 GONIOMETER_KAPPA 0.0 0.0 FRAME1 GONIOMETER_PHI 0.0 0.0 FRAME1 DETECTOR_Z 0.0 0.0 FRAME1 DETECTOR_Y 0.0 0.0 FRAME1 DETECTOR_X 0.0 0.0 FRAME1 DETECTOR_PITCH 0.0 0.0 Nexus_path: see below Explanation: Data items in the DIFFRN_SCAN_FRAME_AXIS category describe the settings of axes for particular frames. Unspecified axes are assumed to be at their zero points. If, for any given frame, nonzero values apply for any of the data items in this category, those values should be given explicitly in this category and not simply inferred from values in DIFFRN_SCAN_AXIS. The NeXus mapping is _diffrn_scan_frame_axis.axis_id AXISID --> /instrument:NXinstrument /CBF_diffrn_detector__DETECTORNAME:NXdetector /CBF_AXIS_AXISID=[] for axis.equipment==”detector”for axis.id==AXISID /instrument:NXinstrument /CBF_diffrn_measurement__GONIOMETERNAME:NXgoniometer /CBF_AXIS_AXISID=[] for axis.equipment==”goniometer”for axis.id==AXISID /instrument:NXinstrument /coordinate_system:NXcoordinate_system /CBF_AXIS_AXISID=[] for axis.equipment==”general”for axis.id==AXISID note that @units=”mm” or @units=”deg” should also be specified. The dimensions of the array dependon np (thenumber of frames = the value of _diffrn_scan.frames), and the presence of any of the ... increment and ... rstrt values. Using Fortran memory layout for this discussion, if the increments are present, the array is a 2-dimensional np by 3 array, with np as the fast axis and the [np,1] column being the settings, the [np,2] column being the increments, and the [np,3] column being the restart increments. If the ...reference ... values are present, then the array is extended with be np by 4 array with the last column handling the ...reference_... values If the frame-by-frame increments and reference values are not present the array is a 1-dimensional array of np settings. _diffrn_scan_frame_axis.angle ANGLE --> inserts this as the i’th element, counting from 1, in /CBF_AXIS_AXISID if this is a rotation axis, where i is the value of _diffrn_scan_frame.frame_number for which the value of _diffrn_scan_frame.frame_id agrees with the value of _diffrn_scan_frame_axis.frame_id _diffrn_scan_frame_axis.displacement DISP --> inserts this as the i’th element, counting from 1, in /CBF_AXIS_AXISID   if this is a translation axis, where i is the value of _diffrn_scan_frame.frame_number for which the value of _diffrn_scan_frame.frame_id agrees with the value of _diffrn_scan_frame_axis.frame_id CBF tag and sample value: loop_ _axis.id _axis.type _axis.equipment _axis.depends_on _axis.vector[1] _axis.vector[2] _axis.vector[3] _axis.offset[1] _axis.offset[2] _axis.offset[3] GONIOMETER_OMEGA rotation goniometer . 1 0 0 . . . GONIOMETER_KAPPA rotation goniometer GONIOMETER_OMEGA 0.64279 0 0.76604 . . . GONIOMETER_PHI rotation goniometer GONIOMETER_KAPPA 1 0 0 . . . SOURCE general source . 0 0 1 . . . GRAVITY general gravity . 0 -1 0 . . . DETECTOR_Z translation detector . 0 0 -1 0 0 0 DETECTOR_Y translation detector DETECTOR_Z 0 1 0 0 0 0 DETECTOR_X translation detector DETECTOR_Y 1 0 0 0 0 0 DETECTOR_PITCH rotation detector DETECTOR_X 0 1 0 0 0 0 ELEMENT_X translation detector DETECTOR_PITCH 1 0 0 -94.0032 94.0032 0 ELEMENT_Y translation detector ELEMENT_X 0 1 0 0 0 0 Nexus_path: See the detailed discussion in the concordance document CBF tag and sample value: loop_ _array_structure_list_axis.axis_set_id _array_structure_list_axis.axis_id _array_structure_list_axis.displacement _array_structure_list_axis.displacement_increment ELEMENT_X ELEMENT_X 0.0408 0.0816 ELEMENT_Y ELEMENT_Y -0.0408 -0.0816 Nexus_path: See the detailed discussion in the concordance document CBF tag and sample value: loop_ _array_intensities.array_id _array_intensities.binary_id _array_intensities.linearity _array_intensities.gain _array_intensities.gain_esd _array_intensities.overload _array_intensities.undefined_value ARRAY1 1 linear 0.23 0.03 65000 0 Nexus_path: See the detailed discussion in the concordance document CBF tag and sample value: loop_ _array_structure.id _array_structure.encoding_type _array_structure.compression_type _array_structure.byte_order ARRAY1 "signed 32-bit integer" packed little_endian Nexus_path: See the detailed discussion in the concordance document CBF tag and sample value: loop_ loop_ _array_data.array_id _array_data.binary_id _array_data.data ARRAY1 1 ? Nexus_path: /instrument:NXinstrument /CBF_diffrn__detector__DETECTORNAME:NXdetector /data_ARRAYID_BINARYID==DATAARRAY @CBF_array_id=”ARRAYID” @CBF_binary_id=”BINARYID” @CBF_header_contents=”HEADER” @CBF header convention=”HEADERCONVENTION”