From 88efb3f02ddac36d6c07ef9653ed519954897914 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Thu, 19 Jun 2025 18:01:36 +0800 Subject: [PATCH 1/9] change PD_CALIB_XCOORD --- cif_pow.dic | 706 +++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 529 insertions(+), 177 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 62893a3b..4d238b8c 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -14,7 +14,7 @@ data_CIF_POW _dictionary.title CIF_POW _dictionary.class Instance _dictionary.version 2.5.0 - _dictionary.date 2025-06-18 + _dictionary.date 2025-06-19 _dictionary.uri https://raw.githubusercontent.com/COMCIFS/Powder_Dictionary/master/cif_pow.dic _dictionary.ddl_conformance 4.2.0 @@ -3386,137 +3386,167 @@ save_PD_CALIB_XCOORD _definition.id PD_CALIB_XCOORD _definition.scope Category _definition.class Loop - _definition.update 2023-06-10 + _definition.update 2025-06-19 _description.text ; - This section defines the parameters used for the calibration of the - X-coordinate axis of the instrument used directly or indirectly in the - interpretation of this data set; that is, 2\q, time-of-flight, or - position. + This category allows for the calibration of various X-coordinate axes + used in powder diffraction data sets by mapping a nominal X-coordinate + value to an actual X-coordinate value. + + Supported X-coordinate axes include: + - 2theta + - d-spacing + - detected energy + - incident energy + - position + - Q (momentum transfer) + - time-of-flight + - wavelength + - detector (usually as channel number) + + This mapping would usually be used to correct for systematic errors in + the X-coordinate axis, such as those caused by miscalibration of the + instrument, eg mapping measured 2\q values to corrected 2\q values, or to + provide a calibration for mapping a detector channel number to an actual + detected energy, d-spacing, or momentum transfer value. - Calibration is carried out be adding the offset value: + In general, any number of nominal-to-actual calibrations dould be + provided. Each line in the loop fixes the mapping from a nominal + value to an actual value. In essence, this is a machine-readable table + of values that would otherwise be given in a human-readable equation + in _pd_calibration.equation. - X-coord~calibrated~ = X-coord~meas~ + X-coord~offset~ + Every datapoint in a diffractogram to be calibrated may not have an + equivalent value in the calibration table. In this case, an + interpolation must be made to obtain a value for each data point. - For cases where the offset value is not a constant, but rather varies - with X-coordinate, a set of offset values is supplied in a loop. In this - case, the value where the offset has been determined can be specified as - _pd_calib_xcoord.*_nominal. These values may need to be interpolated to - be applied to their respective diffractograms. + This category is not designed to correct for misaligned specimens - see + _pd_proc.* for the related X-coordinate data names. - Alternatively, if the offset has been determined at each measurement - point in the diffractogram, _pd_calib_xcoord.point_id may be used to - specify the offset on a per-point basis. + See also PD_CALIB_XCOORD_OVERALL. ; _name.category_id PD_GROUP _name.object_id PD_CALIB_XCOORD loop_ _category_key.name - '_pd_calib_xcoord.diffractogram_id' '_pd_calib_xcoord.id' + '_pd_calib_xcoord.overall_id' loop_ _description_example.case _description_example.detail ; - _pd_diffractogram.id A_DIFFRACTION_PATTERN + _pd_diffractogram.id CALIBRATION_DIFFRACTOGRAM + _pd_calib_xcoord_overall.id main_calibration + loop_ - _pd_calib_xcoord.point_id - _pd_calib_xcoord.2theta_offset - 1 0.01 - 2 0.01 - 3 0.02 - 4 0.02 + _pd_calib_xcoord.id + _pd_calib_xcoord.nominal_2theta + _pd_calib_xcoord.actual_2theta + a 10.01 10.011 + b 10.03 10.031 + c 10.05 10.051 + d 10.07 10.071 ... loop_ _pd_data.point_id _pd_meas.2theta_scan + _pd_proc.2theta_scan _pd_meas.counts_total _pd_calc.intensity_total - 1 10.01 1234 1234.1 - 2 10.03 1235 1235.3 - 3 10.05 1352 1236.5 - 4 10.07 1324 1237.7 + 1 10.01 10.011 1234 1234.1 + 2 10.03 10.031 1235 1235.3 + 3 10.05 10.051 1352 1236.5 + 4 10.07 10.071 1324 1237.7 ... ; ; - Calibration offset values are provided for each data point in the - diffractogram. + A diffractogram identified as "CALIBRATION_DIFFRACTOGRAM" was + collected to act as a calibration standard for the 2\q axis. + The measured and processed 2\q values from the resultant analysis + are taken as the nominal and actual values, respectively, for + the calibration. + + The calibration is given the overall id of 'main_calibration', to + allow other diffractograms to refer to it. ; ; - _pd_diffractogram.id A_DIFFRACTION_PATTERN + _pd_diffractogram.id TOF_STD + _pd_calib_xcoord_overall.id tof-calibration + loop_ - _pd_calib_xcoord.id - _pd_calib_xcoord.2theta_nominal - _pd_calib_xcoord.2theta_offset - a 10.00 0.01 - b 12.00 0.02 - c 14.00 0.03 - d 16.00 0.04 + _pd_calib_xcoord.id + _pd_calib_xcoord.nominal_time_of_flight + _pd_calib_xcoord.actual_d_spacing + 1 1110.301000 1.489225 + 2 1114.742200 1.495170 + 3 1119.201170 1.501138 + 4 1123.677980 1.507131 ... - loop_ - _pd_data.point_id - _pd_meas.2theta_scan - _pd_meas.counts_total - _pd_calc.intensity_total - 1 10.01 1234 1234.1 - 2 10.03 1235 1235.3 - 3 10.05 1352 1236.5 - 4 10.07 1324 1237.7 + loop_ + _pd_data.id + _pd_meas.time_of_flight + _pd_proc.d_spacing + _pd_proc.intensity_total + _pd_calc.intensity_total + i 1110.301000 1.489225 0.600083 0.553025 + ii 1114.742200 1.495170 0.635318 0.571286 + iii 1119.201170 1.501138 0.646909 0.593895 + iv 1123.677980 1.507131 0.655807 0.620014 ... ; ; - Calibration offsets and the nominal 2\q values to which they apply are - listed, along with the diffraction pattern to which they apply. With - the given calibration data, an interpolation must be made to obtain a - value for each data point. + A diffractogram identified as "TOF_STD" was collected to act as a + calibration standard to allow the calculation of d-spacing from + time-of-flight. The measured TOF and processed d-spacing values + from the resultant analysis are taken as the nominal and actual + values, respectively, for the calibration. + + The calibration is given the overall id of 'tof-calibration', to + allow other diffractograms to refer to it. ; ; - loop_ - _pd_calib_xcoord_overall.id - _pd_calib_xcoord_overall.detector_id - _pd_calib_xcoord_overall.diffractogram_id - _pd_calib_xcoord_overall.phase_id - _pd_calib_xcoord_overall.special_details - A det1 CALIBRATION_DIFFRACTOGRAM NIST_SRM640E . - B det2 . . "Scanned through direct beam with fine slit." + _pd_diffractogram.id SAMPLE_1 + _pd_calib_xcoord_overall.id tof-calibration - loop_ - _pd_calib_xcoord.id - _pd_calib_xcoord.position_nominal - _pd_calib_xcoord.position_offset - _pd_calib_xcoord.overall_id - a 10.00 0.01 A - b 10.00 0.02 B - c 12.00 0.03 A - d 12.00 0.03 B + loop_ + _pd_data.id + _pd_meas.time_of_flight + _pd_proc.d_spacing + _pd_proc.intensity_total + _pd_calc.intensity_total + 1 1137.216120 1.525253 0.746836 0.697102 + 2 1141.764990 1.531342 0.728226 0.711720 + 3 1146.332050 1.537455 0.734770 0.715909 + 4 1150.917370 1.543593 0.767760 0.708790 ... ; ; - Calibration offsets and the nominal position values to which they apply - are listed. The given _pd_calib_xcoord.overall_id refers to the - PD_CALIB_XCOORD_OVERALL category items given above. - - An interpolation must be made to obtain a value for each data point. + A diffractogram identified as "SAMPLE_1" was collected and had the + calibration identified as "tof-calibration" applied to it to allow + the calculation of d-spacing from time-of-flight. ; save_ -save_pd_calib_xcoord.2theta_nominal +save_pd_calib_xcoord.actual_2theta - _definition.id '_pd_calib_xcoord.2theta_nominal' - _definition.update 2023-01-17 + _definition.id '_pd_calib_xcoord.actual_2theta' + _definition.update 2025-06-19 _description.text ; - The nominal 2\q value to which the offset given in - _pd_calib_xcoord.2theta_offset applies. + The actual 2\q value to which the equivalent looped nominal + value applies as given by _pd_calib_xcoord.nominal_*. + + That is, this provides a mapping between the aforementioned actual + value and another nominal value of as given by _pd_calib_xcoord.nominal_*. ; _name.category_id pd_calib_xcoord - _name.object_id 2theta_nominal - _type.purpose Number + _name.object_id actual_2theta + _type.purpose Measurand _type.source Derived _type.container Single _type.contents Real @@ -3525,62 +3555,331 @@ save_pd_calib_xcoord.2theta_nominal save_ -save_pd_calib_xcoord.2theta_offset +save_pd_calib_xcoord.actual_2theta_su - _definition.id '_pd_calib_xcoord.2theta_offset' - _definition.update 2023-01-17 + _definition.id '_pd_calib_xcoord.actual_2theta_su' + _definition.update 2025-06-19 _description.text ; - _pd_calib_xcoord.2theta_offset defines an offset angle (in degrees) used - to calibrate 2\q (as defined in _pd_meas.2theta_). Calibration is done - by adding the offset: + Standard uncertainty of _pd_calib_xcoord.actual_2theta. +; + _name.category_id pd_calib_xcoord + _name.object_id actual_2theta_su + _name.linked_item_id '_pd_calib_xcoord.actual_2theta' + _units.code degrees + + _import.get [{'file':templ_attr.cif 'save':general_su}] + +save_ + +save_pd_calib_xcoord.actual_d_spacing - 2\q~calibrated~ = 2\q~measured~ + 2\q~offset~ + _definition.id '_pd_calib_xcoord.actual_d_spacing' + _definition.update 2025-06-19 + _description.text +; + The actual d-spacing value to which the equivalent looped nominal + value applies as given by _pd_calib_xcoord.nominal_*. + + That is, this provides a mapping between the aforementioned actual + value and another nominal value of as given by _pd_calib_xcoord.nominal_*. ; _name.category_id pd_calib_xcoord - _name.object_id 2theta_offset + _name.object_id actual_d_spacing _type.purpose Measurand _type.source Derived _type.container Single _type.contents Real - _enumeration.range -180.0:180.0 - _units.code degrees + _enumeration.range 0.0: + _units.code angstroms save_ -save_pd_calib_xcoord.2theta_offset_su +save_pd_calib_xcoord.actual_d_spacing_su - _definition.id '_pd_calib_xcoord.2theta_offset_su' - _definition.update 2023-01-17 + _definition.id '_pd_calib_xcoord.actual_d_spacing_su' + _definition.update 2025-06-19 _description.text ; - Standard uncertainty of _pd_calib_xcoord.2theta_offset. + Standard uncertainty of _pd_calib_xcoord.actual_d_spacing. ; _name.category_id pd_calib_xcoord - _name.object_id 2theta_offset_su - _name.linked_item_id '_pd_calib_xcoord.2theta_offset' - _units.code degrees + _name.object_id actual_d_spacing_su + _name.linked_item_id '_pd_calib_xcoord.actual_d_spacing' + _units.code angstroms _import.get [{'file':templ_attr.cif 'save':general_su}] save_ -save_pd_calib_xcoord.diffractogram_id +save_pd_calib_xcoord.actual_energy_detection - _definition.id '_pd_calib_xcoord.diffractogram_id' - _definition.update 2023-06-10 + _definition.id '_pd_calib_xcoord.actual_energy_detection' + _definition.update 2025-06-19 _description.text ; - The diffractogram (see _pd_diffractogram.id) to which the calibration - relates. + The actual detected energy value to which the equivalent looped nominal + value applies as given by _pd_calib_xcoord.nominal_*. + + That is, this provides a mapping between the aforementioned actual + value and another nominal value of as given by _pd_calib_xcoord.nominal_*. + + See _pd_proc.energy_detection. ; _name.category_id pd_calib_xcoord - _name.object_id diffractogram_id - _name.linked_item_id '_pd_diffractogram.id' + _name.object_id actual_energy_detection + _type.purpose Measurand + _type.source Derived + _type.container Single + _type.contents Real + _enumeration.range 0.0: + _units.code electron_volts + +save_ + +save_pd_calib_xcoord.actual_energy_detection_su + + _definition.id '_pd_calib_xcoord.actual_energy_detection_su' + _definition.update 2025-06-19 + _description.text +; + Standard uncertainty of _pd_calib_xcoord.actual_energy_detection. +; + _name.category_id pd_calib_xcoord + _name.object_id actual_energy_detection_su + _name.linked_item_id '_pd_calib_xcoord.actual_energy_detection' + _units.code electron_volts + + _import.get [{'file':templ_attr.cif 'save':general_su}] + +save_ + +save_pd_calib_xcoord.actual_energy_incident + + _definition.id '_pd_calib_xcoord.actual_energy_incident' + _definition.update 2025-06-19 + _description.text +; + The actual incident energy value to which the equivalent looped nominal + value applies as given by _pd_calib_xcoord.nominal_*. + + That is, this provides a mapping between the aforementioned actual + value and another nominal value of as given by _pd_calib_xcoord.nominal_*. + + See _pd_proc.energy_energy_incident. +; + _name.category_id pd_calib_xcoord + _name.object_id actual_energy_incident + _type.purpose Measurand + _type.source Derived + _type.container Single + _type.contents Real + _enumeration.range 0.0: + _units.code electron_volts + +save_ + +save_pd_calib_xcoord.actual_energy_incident_su + + _definition.id '_pd_calib_xcoord.actual_energy_incident_su' + _definition.update 2025-06-19 + _description.text +; + Standard uncertainty of _pd_calib_xcoord.actual_energy_incident. +; + _name.category_id pd_calib_xcoord + _name.object_id actual_energy_incident_su + _name.linked_item_id '_pd_calib_xcoord.actual_energy_incident' + _units.code electron_volts + + _import.get [{'file':templ_attr.cif 'save':general_su}] + +save_ + +save_pd_calib_xcoord.actual_position + + _definition.id '_pd_calib_xcoord.actual_position' + _definition.update 2025-06-19 + _description.text +; + The actual position value to which the equivalent looped nominal + value applies as given by _pd_calib_xcoord.nominal_*. + + That is, this provides a mapping between the aforementioned actual + value and another nominal value of as given by _pd_calib_xcoord.nominal_*. +; + _name.category_id pd_calib_xcoord + _name.object_id actual_position + _type.purpose Measurand + _type.source Derived + _type.container Single + _type.contents Real + _units.code millimetres + +save_ + +save_pd_calib_xcoord.actual_position_su + + _definition.id '_pd_calib_xcoord.actual_position_su' + _definition.update 2025-06-19 + _description.text +; + Standard uncertainty of _pd_calib_xcoord.actual_position. +; + _name.category_id pd_calib_xcoord + _name.object_id actual_position_su + _name.linked_item_id '_pd_calib_xcoord.actual_position' + _units.code millimetres + + _import.get [{'file':templ_attr.cif 'save':general_su}] + +save_ + +save_pd_calib_xcoord.actual_recip_len_q + + _definition.id '_pd_calib_xcoord.actual_recip_len_q' + _definition.update 2025-06-19 + _description.text +; + The actual Q value (|Q|= 2π/d) to which the equivalent looped nominal + value applies as given by _pd_calib_xcoord.nominal_*. + + That is, this provides a mapping between the aforementioned actual + value and another nominal value of as given by _pd_calib_xcoord.nominal_*. +; + _name.category_id pd_calib_xcoord + _name.object_id actual_recip_len_q + _type.purpose Measurand + _type.source Derived + _type.container Single + _type.contents Real + _enumeration.range 0.0: + _units.code reciprocal_angstroms + +save_ + +save_pd_calib_xcoord.actual_recip_len_q_su + + _definition.id '_pd_calib_xcoord.actual_recip_len_q_su' + _definition.update 2025-06-19 + _description.text +; + Standard uncertainty of _pd_calib_xcoord.actual_recip_len_q. +; + _name.category_id pd_calib_xcoord + _name.object_id actual_recip_len_q_su + _name.linked_item_id '_pd_calib_xcoord.actual_recip_len_q' + _units.code reciprocal_angstroms + + _import.get [{'file':templ_attr.cif 'save':general_su}] + +save_ + +save_pd_calib_xcoord.actual_time_of_flight + + _definition.id '_pd_calib_xcoord.actual_time_of_flight' + _definition.update 2025-06-19 + _description.text +; + The actual time-of-flight value to which the equivalent looped nominal + value applies as given by _pd_calib_xcoord.nominal_*. + + That is, this provides a mapping between the aforementioned actual + value and another nominal value of as given by _pd_calib_xcoord.nominal_*. +; + _name.category_id pd_calib_xcoord + _name.object_id actual_time_of_flight + _type.purpose Measurand + _type.source Derived + _type.container Single + _type.contents Real + _enumeration.range 0.0: + _units.code microseconds + +save_ + +save_pd_calib_xcoord.actual_time_of_flight_su + + _definition.id '_pd_calib_xcoord.actual_time_of_flight_su' + _definition.update 2025-06-19 + _description.text +; + Standard uncertainty of _pd_calib_xcoord.actual_time_of_flight. +; + _name.category_id pd_calib_xcoord + _name.object_id actual_time_of_flight + _name.linked_item_id '_pd_calib_xcoord.actual_time_of_flight' + _units.code microseconds + + _import.get [{'file':templ_attr.cif 'save':general_su}] + +save_ + +save_pd_calib_xcoord.actual_wavelength + + _definition.id '_pd_calib_xcoord.actual_wavelength' + _definition.update 2025-06-19 + _description.text +; + The actual wavelength value to which the equivalent looped nominal + value applies as given by _pd_calib_xcoord.nominal_*. + + That is, this provides a mapping between the aforementioned actual + value and another nominal value of as given by _pd_calib_xcoord.nominal_*. + + See _pd_proc.wavelength. +; + _name.category_id pd_calib_xcoord + _name.object_id actual_wavelength + _type.purpose Measurand + _type.source Derived + _type.container Single + _type.contents Real + _enumeration.range 0.0: + _units.code angstroms + +save_ + +save_pd_calib_xcoord.actual_wavelength_su + + _definition.id '_pd_calib_xcoord.actual_wavelength_su' + _definition.update 2025-06-19 + _description.text +; + Standard uncertainty of _pd_calib_xcoord.actual_wavelength. +; + _name.category_id pd_calib_xcoord + _name.object_id actual_wavelength_su + _name.linked_item_id '_pd_calib_xcoord.actual_wavelength' + _units.code angstroms + + _import.get [{'file':templ_attr.cif 'save':general_su}] + +save_ + +save_pd_calib_xcoord.detector_id + + _definition.id '_pd_calib_xcoord.detector_id' + _definition.update 2025-06-19 + _description.text +; + A code which identifies the detector or channel number in a + position-sensitive, energy-dispersive, or other multiple-detector + instrument for which the associated nominal and/or actual values + apply. This code should match the code name used for + _pd_instr_detector.id. + + That is, this provides a mapping between the aforementioned detector + value and another nominal and/or actual value of as given by + _pd_calib_xcoord.nominal_* and/or _pd_calib_xcoord.actual_*.. +; + _name.category_id pd_calib_xcoord + _name.object_id detector_id + _name.linked_item_id '_pd_instr_detector.id' _type.purpose Link _type.source Related _type.container Single - _type.contents Text + _type.contents Code save_ @@ -3590,7 +3889,7 @@ save_pd_calib_xcoord.id _definition.update 2023-01-17 _description.text ; - A code to uniquely identify each X-coordinate calibration. + A arbitrary code to uniquely identify each X-coordinate calibration. ; _name.category_id pd_calib_xcoord _name.object_id id @@ -3601,158 +3900,211 @@ save_pd_calib_xcoord.id save_ -save_pd_calib_xcoord.overall_id +save_pd_calib_xcoord.nominal_2theta - _definition.id '_pd_calib_xcoord.overall_id' - _definition.update 2023-05-06 + _definition.id '_pd_calib_xcoord.nominal_2theta' + _definition.update 2025-06-19 _description.text ; - A code which identifies the particular set of overall calibration conditions - under which the calibration was calculated. + The nominal 2\q value to which the equivalent looped actual + value applies as given by _pd_calib_xcoord.actual_*. + + That is, this provides a mapping between the aforementioned nominal + value and another actual value of as given by _pd_calib_xcoord.actual_*. ; _name.category_id pd_calib_xcoord - _name.object_id overall_id - _name.linked_item_id '_pd_calib_xcoord_overall.id' - _type.purpose Link - _type.source Assigned + _name.object_id nominal_2theta + _type.purpose Number + _type.source Derived _type.container Single - _type.contents Text + _type.contents Real + _enumeration.range -180.0:180.0 + _units.code degrees save_ -save_pd_calib_xcoord.point_id +save_pd_calib_xcoord.nominal_d_spacing - _definition.id '_pd_calib_xcoord.point_id' - _definition.update 2023-01-17 + _definition.id '_pd_calib_xcoord.nominal_d_spacing' + _definition.update 2025-06-19 _description.text ; - Arbitrary label identifying a data point in a diffractogram. Used to - identify a specific entry in a list of values forming the diffractogram - to which the X-coordinate calibration applies. + The nominal d-spacing value to which the equivalent looped actual + value applies as given by _pd_calib_xcoord.actual_*. + + That is, this provides a mapping between the aforementioned nominal + value and another actual value of as given by _pd_calib_xcoord.actual_*. ; _name.category_id pd_calib_xcoord - _name.object_id point_id - _name.linked_item_id '_pd_data.point_id' - _type.purpose Link - _type.source Assigned + _name.object_id nominal_d_spacing + _type.purpose Number + _type.source Derived _type.container Single - _type.contents Code + _type.contents Real + _enumeration.range 0.0: + _units.code angstroms save_ -save_pd_calib_xcoord.position_nominal +save_pd_calib_xcoord.nominal_energy_detection - _definition.id '_pd_calib_xcoord.position_nominal' - _definition.update 2023-01-17 + _definition.id '_pd_calib_xcoord.nominal_energy_detection' + _definition.update 2025-06-19 _description.text ; - The nominal position value to which the offset given in - _pd_calib_xcoord.position_offset applies. + The nominal detected energy value to which the equivalent looped actual + value applies as given by _pd_calib_xcoord.actual_*. + + That is, this provides a mapping between the aforementioned nominal + value and another actual value of as given by _pd_calib_xcoord.actual_*. + + See _pd_proc.energy_detection. ; _name.category_id pd_calib_xcoord - _name.object_id position_nominal + _name.object_id nominal_energy_detection _type.purpose Number _type.source Derived _type.container Single _type.contents Real - _units.code millimetres + _enumeration.range 0.0: + _units.code electron_volts save_ -save_pd_calib_xcoord.position_offset +save_pd_calib_xcoord.nominal_energy_incident - _definition.id '_pd_calib_xcoord.position_offset' - _definition.update 2023-01-17 + _definition.id '_pd_calib_xcoord.nominal_energy_incident' + _definition.update 2025-06-19 _description.text ; - _pd_calib_xcoord.position_offset defines an offset position (in - millimetres) used to calibrate position (as defined in - _pd_meas.position). Calibration is done by adding the offset: + The nominal incident energy value to which the equivalent looped actual + value applies as given by _pd_calib_xcoord.actual_*. - position~calibrated~ = position~measured~ + position~offset~ + That is, this provides a mapping between the aforementioned nominal + value and another actual value of as given by _pd_calib_xcoord.actual_*. + + See _pd_proc.energy_energy_incident. ; _name.category_id pd_calib_xcoord - _name.object_id position_offset - _type.purpose Measurand + _name.object_id nominal_energy_incident + _type.purpose Number _type.source Derived _type.container Single _type.contents Real - _units.code millimetres + _enumeration.range 0.0: + _units.code electron_volts save_ -save_pd_calib_xcoord.position_offset_su +save_pd_calib_xcoord.nominal_position - _definition.id '_pd_calib_xcoord.position_offset_su' - _definition.update 2023-01-17 + _definition.id '_pd_calib_xcoord.nominal_position' + _definition.update 2025-06-19 _description.text ; - Standard uncertainty of _pd_calib_xcoord.position_offset. + The nominal position value to which the equivalent looped actual + value applies as given by _pd_calib_xcoord.actual_*. + + That is, this provides a mapping between the aforementioned nominal + value and another actual value of as given by _pd_calib_xcoord.actual_*. ; _name.category_id pd_calib_xcoord - _name.object_id position_offset_su - _name.linked_item_id '_pd_calib_xcoord.position_offset' + _name.object_id nominal_position + _type.purpose Number + _type.source Derived + _type.container Single + _type.contents Real _units.code millimetres - _import.get [{'file':templ_attr.cif 'save':general_su}] - save_ -save_pd_calib_xcoord.time_of_flight_nominal +save_pd_calib_xcoord.nominal_recip_len_q - _definition.id '_pd_calib_xcoord.time_of_flight_nominal' - _definition.update 2023-01-17 + _definition.id '_pd_calib_xcoord.nominal_recip_len_q' + _definition.update 2025-06-19 _description.text ; - The nominal time-of-flight value to which the offset given in - _pd_calib_xcoord.time_of_flight_offset applies. + The nominal Q value (|Q|= 2π/d) to which the equivalent looped actual + value applies as given by _pd_calib_xcoord.actual_*. + + That is, this provides a mapping between the aforementioned nominal + value and another actual value of as given by _pd_calib_xcoord.actual_*. ; _name.category_id pd_calib_xcoord - _name.object_id time_of_flight_nominal + _name.object_id nominal_recip_len_q _type.purpose Number _type.source Derived _type.container Single _type.contents Real - _units.code microseconds + _enumeration.range 0.0: + _units.code reciprocal_angstroms save_ -save_pd_calib_xcoord.time_of_flight_offset +save_pd_calib_xcoord.nominal_time_of_flight - _definition.id '_pd_calib_xcoord.time_of_flight_offset' - _definition.update 2023-01-17 + _definition.id '_pd_calib_xcoord.nominal_time_of_flight' + _definition.update 2025-06-19 _description.text ; - _pd_calib_xcoord.time_of_flight_offset defines an offset time (in - microseconds) used to calibrate time-of-flight (TOF) (as defined in - _pd_meas.time_of_flight). Calibration is done by adding the offset: + The nominal time-of-flight value to which the equivalent looped actual + value applies as given by _pd_calib_xcoord.actual_*. - TOF~calibrated~ = TOF~measured~ + TOF~offset~ + That is, this provides a mapping between the aforementioned nominal + value and another actual value of as given by _pd_calib_xcoord.actual_*. ; _name.category_id pd_calib_xcoord - _name.object_id time_of_flight_offset - _type.purpose Measurand + _name.object_id nominal_time_of_flight + _type.purpose Number _type.source Derived _type.container Single _type.contents Real + _enumeration.range 0.0: _units.code microseconds save_ -save_pd_calib_xcoord.time_of_flight_offset_su +save_pd_calib_xcoord.nominal_wavelength - _definition.id '_pd_calib_xcoord.time_of_flight_offset_su' - _definition.update 2023-01-17 + _definition.id '_pd_calib_xcoord.nominal_wavelength' + _definition.update 2025-06-19 _description.text ; - Standard uncertainty of _pd_calib_xcoord.time_of_flight_offset. + The nominal wavelength value to which the equivalent looped actual + value applies as given by _pd_calib_xcoord.actual_*. + + That is, this provides a mapping between the aforementioned nominal + value and another actual value of as given by _pd_calib_xcoord.actual_*. + + See _pd_proc.wavelength. ; _name.category_id pd_calib_xcoord - _name.object_id time_of_flight_offset_su - _name.linked_item_id '_pd_calib_xcoord.time_of_flight_offset' - _units.code microseconds + _name.object_id nominal_wavelength + _type.purpose Number + _type.source Derived + _type.container Single + _type.contents Real + _enumeration.range 0.0: + _units.code angstroms - _import.get [{'file':templ_attr.cif 'save':general_su}] +save_ + +save_pd_calib_xcoord.overall_id + + _definition.id '_pd_calib_xcoord.overall_id' + _definition.update 2023-05-06 + _description.text +; + A code which identifies the particular set of overall calibration conditions + under which the calibration was calculated. +; + _name.category_id pd_calib_xcoord + _name.object_id overall_id + _name.linked_item_id '_pd_calib_xcoord_overall.id' + _type.purpose Link + _type.source Assigned + _type.container Single + _type.contents Text save_ @@ -12655,7 +13007,7 @@ save_ Deprecated _pd_refln.wavelength_id after consultation with PDDMG. ; - 2.5.0 2025-06-18 + 2.5.0 2025-06-19 ; ## Retain above version number and increment date until final ## release From f8e10de850ba733cc8bd1ce2dd97eb84db8ca32a Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Thu, 19 Jun 2025 18:43:14 +0800 Subject: [PATCH 2/9] tweak PD_CALIB_XCOORD_OVERALL --- cif_pow.dic | 98 ++++++++++++++--------------------------------------- 1 file changed, 26 insertions(+), 72 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 4d238b8c..9dbc5a8d 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -3437,8 +3437,9 @@ save_PD_CALIB_XCOORD _description_example.case _description_example.detail ; - _pd_diffractogram.id CALIBRATION_DIFFRACTOGRAM - _pd_calib_xcoord_overall.id main_calibration + _pd_diffractogram.id CALIBRATION_DIFFRACTOGRAM + _pd_calib_xcoord_overall.id main_calibration + _pd_calib_xcoord_overall.diffractogram_id CALIBRATION_DIFFRACTOGRAM loop_ _pd_calib_xcoord.id @@ -3473,8 +3474,9 @@ save_PD_CALIB_XCOORD allow other diffractograms to refer to it. ; ; - _pd_diffractogram.id TOF_STD - _pd_calib_xcoord_overall.id tof-calibration + _pd_diffractogram.id TOF_STD + _pd_calib_xcoord_overall.id tof-calibration + _pd_calib_xcoord_overall.diffractogram_id TOF_STD loop_ _pd_calib_xcoord.id @@ -4112,97 +4114,49 @@ save_PD_CALIB_XCOORD_OVERALL _definition.id PD_CALIB_XCOORD_OVERALL _definition.scope Category - _definition.class Loop - _definition.update 2023-05-06 + _definition.class Set + _definition.update 2025-06-19 _description.text ; This category gives the overall information about the x-coordinate calibration applied to a given diffractogram. + + See PD_CALIB_XCOORD. ; _name.category_id PD_GROUP _name.object_id PD_CALIB_XCOORD_OVERALL - - loop_ - _category_key.name - '_pd_calib_xcoord_overall.detector_id' - '_pd_calib_xcoord_overall.id' + _category_key.name '_pd_calib_xcoord_overall.id' loop_ _description_example.case _description_example.detail + ; - loop_ - _pd_calib_xcoord_overall.id - _pd_calib_xcoord_overall.detector_id - d1 det1 - d2 det2 -; -; - Calibration offsets given using PD_CALIB_XCOORD category data items - will correspond to calibrations carried out on the given two detectors. -; -; - loop_ - _pd_calib_xcoord_overall.id - _pd_calib_xcoord_overall.detector_id - _pd_calib_xcoord_overall.diffractogram_id - _pd_calib_xcoord_overall.phase_id - 1 A CALIBRATION_DIFFRACTOGRAM_A NIST_SRM640E - 2 B CALIBRATION_DIFFRACTOGRAM_B NIST_SRM640E - 3 C CALIBRATION_DIFFRACTOGRAM_C NIST_SRM640E + _pd_calib_xcoord_overall.id 904bbf31-8eb5-44ee-92d0-3cf9d3f2e7f6 + _pd_calib_xcoord_overall.diffractogram_id CALIBRATION_DIFFRACTOGRAM_A + _pd_calib_xcoord_overall.phase_id NIST_SRM640E ; ; - Calibration offsets given using PD_CALIB_XCOORD category data items - will correspond to calibrations carried out on the given three - detectors derived from analysis of the given diffractograms and phase. - - Calibration values will be given using PD_CALIB_XCOORD category data - items. + Calibration values given using PD_CALIB_XCOORD category data items + which refer to the overall calibration conditions identified by + the above UUID were derived from the diffractogram + identified by "CALIBRATION_DIFFRACTOGRAM_A" and the phase + identified by "NIST_SRM640E". ; ; - loop_ - _pd_calib_xcoord_overall.id - _pd_calib_xcoord_overall.detector_id - _pd_calib_xcoord_overall.diffractogram_id - _pd_calib_xcoord_overall.phase_id + _pd_calib_xcoord_overall.id B _pd_calib_xcoord_overall.special_details - A det1 CALIBRATION_DIFFRACTOGRAM NIST_SRM640E . - B det2 . . "Scanned through direct beam with fine slit." + "Scanned through direct beam with fine slit." ; ; - Different detectors can be calibrated through different means. Here, - det1 was calibrated through the analysis of a diffractogram and a - known reference material, whereas det2 was calibrated by scanning the - detector through the direct beam. - - Calibration values will be given using PD_CALIB_XCOORD category data - items. + Calibration values given using PD_CALIB_XCOORD category data items + which refer to the overall calibration conditions identified by + "B" were derived by scanning the detector through the + direct beam with a fine slit. ; save_ -save_pd_calib_xcoord_overall.detector_id - - _definition.id '_pd_calib_xcoord_overall.detector_id' - _definition.update 2023-06-09 - _description.text -; - A code which identifies the detector or channel number in a - position-sensitive, energy-dispersive or other multiple-detector - instrument for which the individual instrument geometry is being - defined. This code should match the code name used for - _pd_instr_detector.id. -; - _name.category_id pd_calib_xcoord_overall - _name.object_id detector_id - _name.linked_item_id '_pd_instr_detector.id' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Code - -save_ - save_pd_calib_xcoord_overall.diffractogram_id _definition.id '_pd_calib_xcoord_overall.diffractogram_id' From 928469b757307fab7bafbe340875c8f30e3c348a Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Thu, 19 Jun 2025 19:05:05 +0800 Subject: [PATCH 3/9] update example --- cif_pow.dic | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 9dbc5a8d..4496c730 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -3517,13 +3517,11 @@ save_PD_CALIB_XCOORD loop_ _pd_data.id _pd_meas.time_of_flight - _pd_proc.d_spacing _pd_proc.intensity_total - _pd_calc.intensity_total - 1 1137.216120 1.525253 0.746836 0.697102 - 2 1141.764990 1.531342 0.728226 0.711720 - 3 1146.332050 1.537455 0.734770 0.715909 - 4 1150.917370 1.543593 0.767760 0.708790 + 1 1137.216120 0.746836 + 2 1141.764990 0.728226 + 3 1146.332050 0.734770 + 4 1150.917370 0.767760 ... ; ; From 43d39034e51dce10c17145ae3c8a93bd4677ae10 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Sat, 21 Jun 2025 00:18:09 +0800 Subject: [PATCH 4/9] added example --- cif_pow.dic | 53 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 32 insertions(+), 21 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 4496c730..9d1ddfc2 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -3438,6 +3438,7 @@ save_PD_CALIB_XCOORD _description_example.detail ; _pd_diffractogram.id CALIBRATION_DIFFRACTOGRAM + _pd_diffractogram.instr_id INSTRUMENT_1 _pd_calib_xcoord_overall.id main_calibration _pd_calib_xcoord_overall.diffractogram_id CALIBRATION_DIFFRACTOGRAM @@ -3464,44 +3465,49 @@ save_PD_CALIB_XCOORD ... ; ; - A diffractogram identified as "CALIBRATION_DIFFRACTOGRAM" was - collected to act as a calibration standard for the 2\q axis. - The measured and processed 2\q values from the resultant analysis + A diffractogram identified as "CALIBRATION_DIFFRACTOGRAM", was + collected on the instrument identified as "INSTRUMENT_1", to act + as a calibration standard for the 2θ axis. + The measured and processed 2θ values from the resultant analysis are taken as the nominal and actual values, respectively, for the calibration. The calibration is given the overall id of 'main_calibration', to - allow other diffractograms to refer to it. + link the source of the calibration to the individual loop values. ; ; _pd_diffractogram.id TOF_STD + _pd_diffractogram.instr_id tof-instrument-1 _pd_calib_xcoord_overall.id tof-calibration _pd_calib_xcoord_overall.diffractogram_id TOF_STD loop_ _pd_calib_xcoord.id + _pd_calib_xcoord.detector_id _pd_calib_xcoord.nominal_time_of_flight _pd_calib_xcoord.actual_d_spacing - 1 1110.301000 1.489225 - 2 1114.742200 1.495170 - 3 1119.201170 1.501138 - 4 1123.677980 1.507131 + 1 A 1110.301000 1.489225 + 2 A 1114.742200 1.495170 + 3 A 1119.201170 1.501138 + 4 A 1123.677980 1.507131 ... loop_ _pd_data.id + _pd_meas.detector_id _pd_meas.time_of_flight _pd_proc.d_spacing _pd_proc.intensity_total _pd_calc.intensity_total - i 1110.301000 1.489225 0.600083 0.553025 - ii 1114.742200 1.495170 0.635318 0.571286 - iii 1119.201170 1.501138 0.646909 0.593895 - iv 1123.677980 1.507131 0.655807 0.620014 + i A 1110.301000 1.489225 0.600083 0.553025 + ii A 1114.742200 1.495170 0.635318 0.571286 + iii A 1119.201170 1.501138 0.646909 0.593895 + iv A 1123.677980 1.507131 0.655807 0.620014 ... ; ; - A diffractogram identified as "TOF_STD" was collected to act as a + A diffractogram identified as "TOF_STD" was collected on the + instrument identified as "tof-instrument-1" to act as a calibration standard to allow the calculation of d-spacing from time-of-flight. The measured TOF and processed d-spacing values from the resultant analysis are taken as the nominal and actual @@ -3512,22 +3518,27 @@ save_PD_CALIB_XCOORD ; ; _pd_diffractogram.id SAMPLE_1 - _pd_calib_xcoord_overall.id tof-calibration + _pd_diffractogram.instr_id tof-instrument-1 loop_ _pd_data.id + _pd_meas.detector_id _pd_meas.time_of_flight _pd_proc.intensity_total - 1 1137.216120 0.746836 - 2 1141.764990 0.728226 - 3 1146.332050 0.734770 - 4 1150.917370 0.767760 + 1 A 1137.216120 0.746836 + 2 A 1141.764990 0.728226 + 3 A 1146.332050 0.734770 + 4 A 1150.917370 0.767760 ... ; ; - A diffractogram identified as "SAMPLE_1" was collected and had the - calibration identified as "tof-calibration" applied to it to allow - the calculation of d-spacing from time-of-flight. + A diffractogram identified as "SAMPLE_1" was collected on the + instrument identified as "tof-instrument-1". Knowing the instrument + and detector id values, the correct calibration can be found + by looking up the _pd_instr.id value associated with the diffractogram + id recorded in _pd_calib_xcoord_overall.diffractogram_id, and then + the detector id value associated with the _pd_calib_xcoord_overall.id + value in the loop. ; save_ From a481ee54008dc9d0d3c70cfbbdae17e21945fafa Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Fri, 27 Jun 2025 21:08:08 +0800 Subject: [PATCH 5/9] enhance example of calibration --- cif_pow.dic | 93 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 61 insertions(+), 32 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 9d1ddfc2..23ef22e2 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -3437,43 +3437,72 @@ save_PD_CALIB_XCOORD _description_example.case _description_example.detail ; - _pd_diffractogram.id CALIBRATION_DIFFRACTOGRAM - _pd_diffractogram.instr_id INSTRUMENT_1 - _pd_calib_xcoord_overall.id main_calibration - _pd_calib_xcoord_overall.diffractogram_id CALIBRATION_DIFFRACTOGRAM + data_calibrationinformation + _pd_diffractogram.id CALIBRATION_DIFFRACTOGRAM + _pd_diffractogram.instr_id INSTRUMENT_1 + _pd_calib_xcoord_overall.id main_calibration + _pd_calib_xcoord_overall.diffractogram_id CALIBRATION_DIFFRACTOGRAM + + loop_ + _pd_calib_xcoord.id + _pd_calib_xcoord.nominal_2theta + _pd_calib_xcoord.actual_2theta + a 10.01 10.011 + b 10.03 10.032 + c 10.05 10.053 + d 10.07 10.074 + # ... + + loop_ + _pd_data.point_id + _pd_meas.2theta_scan + _pd_proc.2theta_corrected + _pd_meas.counts_total + _pd_calc.intensity_total + 1 10.01 10.011 1234 1234.1 + 2 10.03 10.033 1235 1235.3 + 3 10.05 10.055 1352 1236.5 + 4 10.07 10.077 1324 1237.7 + # ... + + data_unknownsample + _pd_diffractogram.id UNKNOWN_DIFFRACTOGRAM + _pd_diffractogram.instr_id INSTRUMENT_1 + + loop_ + _pd_data.point_id + _pd_meas.2theta_scan + _pd_proc.2theta_corrected + _pd_meas.counts_total + A 10.02 10.022 3134 + B 10.04 10.044 3335 + C 10.06 10.066 3452 + D 10.08 10.088 3324 + # ... +; +; + The the data block "calibrationinformation", A diffractogram + identified as "CALIBRATION_DIFFRACTOGRAM", was collected on + the instrument identified as "INSTRUMENT_1", to act as a + calibration standard for the 2θ axis. - loop_ - _pd_calib_xcoord.id - _pd_calib_xcoord.nominal_2theta - _pd_calib_xcoord.actual_2theta - a 10.01 10.011 - b 10.03 10.031 - c 10.05 10.051 - d 10.07 10.071 - ... - - loop_ - _pd_data.point_id - _pd_meas.2theta_scan - _pd_proc.2theta_scan - _pd_meas.counts_total - _pd_calc.intensity_total - 1 10.01 10.011 1234 1234.1 - 2 10.03 10.031 1235 1235.3 - 3 10.05 10.051 1352 1236.5 - 4 10.07 10.071 1324 1237.7 - ... -; -; - A diffractogram identified as "CALIBRATION_DIFFRACTOGRAM", was - collected on the instrument identified as "INSTRUMENT_1", to act - as a calibration standard for the 2θ axis. The measured and processed 2θ values from the resultant analysis - are taken as the nominal and actual values, respectively, for - the calibration. + were taken as the nominal and actual values, respectively, for + the calibration. These values can be used to calibrate the + 2θ axis of other diffractograms collected on the same + instrument. The calibration is given the overall id of 'main_calibration', to link the source of the calibration to the individual loop values. + + The data block "unknownsample" contains a diffractogram + identified as "UNKNOWN_DIFFRACTOGRAM", which was collected on the + same instrument, "INSTRUMENT_1". To check if any X-coordinate + calibration is available, the instrument id "INSTRUMENT_1" is compared + against any entries in _pd_calib_xcoord_overall.diffractogram_id + and if a match is found, the X-coordinate calibration could be used + to correct the _pd_meas.2theta_scan values in the loop by either direct + value replacement, or an interpolation. ; ; _pd_diffractogram.id TOF_STD From 54c5f10dbf62141313e19c7f47e4d988ac44c86f Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Sat, 28 Jun 2025 10:24:20 +0800 Subject: [PATCH 6/9] add _pd_calib_xcoord.nominal_channel --- cif_pow.dic | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/cif_pow.dic b/cif_pow.dic index 23ef22e2..ab7519bc 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -3402,7 +3402,8 @@ save_PD_CALIB_XCOORD - Q (momentum transfer) - time-of-flight - wavelength - - detector (usually as channel number) + - channel number + - detector (if used as channel number) This mapping would usually be used to correct for systematic errors in the X-coordinate axis, such as those caused by miscalibration of the @@ -3963,6 +3964,28 @@ save_pd_calib_xcoord.nominal_2theta save_ +save_pd_calib_xcoord.nominal_channel + + _definition.id '_pd_calib_xcoord.nominal_energy_detection' + _definition.update 2025-06-28 + _description.text +; + The nominal channel number to which the equivalent looped actual + value applies as given by _pd_calib_xcoord.actual_*. + + That is, this provides a mapping between the aforementioned nominal + value and another actual value of as given by _pd_calib_xcoord.actual_*. +; + _name.category_id pd_calib_xcoord + _name.object_id nominal_channel + _type.purpose Number + _type.source Assigned + _type.container Single + _type.contents Integer + _units.code none + +save_ + save_pd_calib_xcoord.nominal_d_spacing _definition.id '_pd_calib_xcoord.nominal_d_spacing' From 58b294ccee7952951e51fc40834a4771257a73a3 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Sat, 28 Jun 2025 11:41:20 +0800 Subject: [PATCH 7/9] layout and ddlm --- cif_pow.dic | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 2ef1d6c3..a384e7e2 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -14,7 +14,7 @@ data_CIF_POW _dictionary.title CIF_POW _dictionary.class Instance _dictionary.version 2.5.0 - _dictionary.date 2025-06-23 + _dictionary.date 2025-06-28 _dictionary.uri https://raw.githubusercontent.com/COMCIFS/Powder_Dictionary/master/cif_pow.dic _dictionary.ddl_conformance 4.2.0 @@ -3121,13 +3121,13 @@ save_pd_calib.2theta_off_point _definition.id '_pd_calib.2theta_off_point' _definition_replaced.id 1 - _definition_replaced.by '_pd_calib_xcoord.2theta_nominal' + _definition_replaced.by '_pd_calib_xcoord.nominal_2theta' _alias.definition_id '_pd_calib_2theta_off_point' - _definition.update 2023-06-05 + _definition.update 2025-06-28 _description.text ; - This item is deprecated. Please see _pd_calib_xcoord.2theta_nominal. + This item is deprecated. Please see _pd_calib_xcoord.nominal_2theta. The nominal 2θ value to which the offset given in _pd_calib.2theta_offset applies. @@ -3148,13 +3148,13 @@ save_pd_calib.2theta_offset _definition.id '_pd_calib.2theta_offset' _definition_replaced.id 1 - _definition_replaced.by '_pd_calib_xcoord.2theta_offset' + _definition_replaced.by . _alias.definition_id '_pd_calib_2theta_offset' - _definition.update 2023-06-05 + _definition.update 2025-06-28 _description.text ; - This item is deprecated. Please see _pd_calib_xcoord.2theta_offset. + This item is deprecated. Please see _pd_calib_xcoord.actual_2theta. _pd_calib.2theta_offset defines an offset angle (in degrees) used to calibrate 2θ (as defined in _pd_meas.2theta_*). @@ -3178,12 +3178,12 @@ save_pd_calib.2theta_offset_su _definition.id '_pd_calib.2theta_offset_su' _definition_replaced.id 1 - _definition_replaced.by '_pd_calib_xcoord.2theta_offset_su' + _definition_replaced.by . - _definition.update 2023-06-05 + _definition.update 2025-06-28 _description.text ; - This item is deprecated. Please see _pd_calib_xcoord.2theta_offset_su. + This item is deprecated. Please see _pd_calib_xcoord.actual_2theta_su. Standard uncertainty of _pd_calib.2theta_offset. ; @@ -3201,12 +3201,12 @@ save_pd_calib_offset.detector_id _definition.id '_pd_calib_offset.detector_id' _definition_replaced.id 1 - _definition_replaced.by '_pd_calib_xcoord_overall.detector_id' + _definition_replaced.by '_pd_calib_xcoord.detector_id' - _definition.update 2023-06-05 + _definition.update 2025-06-28 _description.text ; - This item is deprecated. Please see _pd_calib_xcoord_overall.detector_id. + This item is deprecated. Please see _pd_calib_xcoord.detector_id. The detector to which the offset values relate. As a default value is defined, the detector id may be @@ -3443,10 +3443,10 @@ save_PD_CALIB_XCOORD _description_example.detail ; data_calibrationinformation - _pd_diffractogram.id CALIBRATION_DIFFRACTOGRAM - _pd_diffractogram.instr_id INSTRUMENT_1 - _pd_calib_xcoord_overall.id main_calibration - _pd_calib_xcoord_overall.diffractogram_id CALIBRATION_DIFFRACTOGRAM + _pd_diffractogram.id CALIBRATION_DIFFRACTOGRAM + _pd_diffractogram.instr_id INSTRUMENT_1 + _pd_calib_xcoord_overall.id main_calibration + _pd_calib_xcoord_overall.diffractogram_id CALIBRATION_DIFFRACTOGRAM loop_ _pd_calib_xcoord.id @@ -3970,7 +3970,7 @@ save_ save_pd_calib_xcoord.nominal_channel - _definition.id '_pd_calib_xcoord.nominal_energy_detection' + _definition.id '_pd_calib_xcoord.nominal_channel' _definition.update 2025-06-28 _description.text ; @@ -13686,7 +13686,7 @@ save_ Deprecated _pd_refln.wavelength_id after consultation with PDDMG. ; - 2.5.0 2025-06-23 + 2.5.0 2025-06-28 ; ## Retain above version number and increment date until final ## release From 5218d9e606603487ef1f914532daec43fcc98d4e Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Sat, 28 Jun 2025 11:52:05 +0800 Subject: [PATCH 8/9] ddlm --- cif_pow.dic | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index a384e7e2..20f56dba 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -3291,9 +3291,9 @@ save_pd_calib_std.detector_id _definition_replaced.id _definition_replaced.by 1 '_pd_calib_detected_intensity.detector_id' - 2 '_pd_calib_xcoord_overall.detector_id' + 2 '_pd_calib_xcoord.detector_id' - _definition.update 2023-06-09 + _definition.update 2025-06-28 _description.text ; This item is deprecated. Please see _pd_calib_detected_intensity.detector_id @@ -3852,7 +3852,7 @@ save_pd_calib_xcoord.actual_time_of_flight_su Standard uncertainty of _pd_calib_xcoord.actual_time_of_flight. ; _name.category_id pd_calib_xcoord - _name.object_id actual_time_of_flight + _name.object_id actual_time_of_flight_su _name.linked_item_id '_pd_calib_xcoord.actual_time_of_flight' _units.code microseconds From 969f020f576d3b0f3a9902986c7c0f9b2f6c1295 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Tue, 8 Jul 2025 21:56:33 +0800 Subject: [PATCH 9/9] rejigged some descriptsion now that detector_id is no longer also a proxy for channel --- cif_pow.dic | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 20f56dba..e228d7ed 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -3407,7 +3407,6 @@ save_PD_CALIB_XCOORD - time-of-flight - wavelength - channel number - - detector (if used as channel number) This mapping would usually be used to correct for systematic errors in the X-coordinate axis, such as those caused by miscalibration of the @@ -3908,10 +3907,8 @@ save_pd_calib_xcoord.detector_id _definition.update 2025-06-19 _description.text ; - A code which identifies the detector or channel number in a - position-sensitive, energy-dispersive, or other multiple-detector - instrument for which the associated nominal and/or actual values - apply. This code should match the code name used for + A code which identifies the detector for which the associated nominal + and/or actual values apply. This code should match the code name used for _pd_instr_detector.id. That is, this provides a mapping between the aforementioned detector