From dcc404cb988db05206f34ed107e339858053bd51 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Tue, 24 Jun 2025 20:29:13 +0800 Subject: [PATCH 01/25] PD_INSTR description --- cif_pow.dic | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index b7a2f92..2fa6fa1 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -6378,39 +6378,50 @@ save_PD_INSTR _definition.id PD_INSTR _definition.scope Category _definition.class Set - _definition.update 2023-01-12 + _definition.update 2025-06-24 _description.text ; - This section contains information relevant to the instrument + This category contains information relevant to the instrument used for the diffraction measurement. For most laboratories, very little of this information will change, so a standard file may be prepared and included with each data set. + Formally, PD_INSTR defines data names which record information from + the source to the specimen, whilst PD_INSTR_DETECTOR records + information about the instrument from the specimen to the + detector(s). Both categories use data names of the form _pd_instr.*. + Note that several definitions in the core CIF dictionary are relevant here. For example, use: + _diffrn_radiation.id to identify to the source as a whole, + _diffrn_radiation_wavelength.id to identify the wavelength, _diffrn_radiation_wavelength.value for the source wavelength, _diffrn_radiation_wavelength.type for the X-ray wavelength type, _diffrn_source.device and _diffrn_source.details for the radiation source, _diffrn_radiation.polarisn_ratio for the source polarization, _diffrn_radiation.probe for the radiation type. - For data sets measured with partially monochromatized radiation, + + For diffractograms measured with partially monochromatized radiation, for example, where both Kα~1~ and Kα~2~ are present, it is important that all wavelengths present are included in a - loop_ using _diffrn_radiation_wavelength.value to define the - wavelength and _diffrn_radiation_wavelength.wt to define the - relative intensity of that wavelength. It is required that - _diffrn_radiation_wavelength.id also be present in the - wavelength loop. It may also be useful to - create a "dummy" ID to use for labelling + loop: + _diffrn_radiation_wavelength.id to identify each individual wavelength, + _diffrn_radiation_wavelength.value for each wavelength, + _diffrn_radiation_wavelength.wt for the relative intensity of that wavelength + + _diffrn_radiation_wavelength.id is used to link wavelengths to peaks + (PD_PEAKS) and/or reflections (REFLN), allowing d-spacings to be calculated. + + It may also be useful to create a "dummy" ID to use for labelling peaks/reflections where the Kα~1~ and Kα~2~ wavelengths are not resolved. Set _diffrn_radiation_wavelength.wt to be 0 for such a dummy ID. - In the PD_INSTR definitions, the term monochromator refers - to a primary beam (pre-specimen) monochromator and the term - analyser refers to post-diffraction (post-specimen) - monochromator. The analyser may be fixed for specific - wavelength or may be capable of being scanned. + In the PD_INSTR definitions, the term "monochromator" refers to a + primary beam (pre-specimen) monochromator and the term "analyser" + refers to post-diffraction (post-specimen) monochromator. The + analyser may be fixed for specific wavelength or may be capable + of being scanned. It is strongly recommended that the core dictionary term _diffrn_radiation.probe (specifying the nature of the radiation From 21d9dfcf3f4a80d972e17c8aed27f5d10e21fb1d Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Tue, 24 Jun 2025 20:38:20 +0800 Subject: [PATCH 02/25] PD_INSTR_DETECTOR description --- cif_pow.dic | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 2fa6fa1..01cc555 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-24 _dictionary.uri https://raw.githubusercontent.com/COMCIFS/Powder_Dictionary/master/cif_pow.dic _dictionary.ddl_conformance 4.2.0 @@ -7317,19 +7317,23 @@ save_PD_INSTR_DETECTOR _definition.update 2023-01-06 _description.text ; - This section contains information relevant to the detector + This category contains information relevant to the detector geometry used for the diffraction measurement. For most laboratories, very little of this information will change, so a standard file may be prepared and included with each data set. - The term analyser refers to post-diffraction (post-specimen) + Data items from this category must be combined with those from + PD_INSTR to form a description of the instrument. Both categories use + data names of the form _pd_instr.*. + + The term "analyser" refers to post-diffraction (post-specimen) monochromator. The analyser may be fixed for specific wavelength or may be capable of being scanned. For multiple-detector instruments it may be necessary to loop the *_anal_detc or *_spec_detc values (for _pd_instr.dist_*, _pd_instr.divg_*, _pd_instr.slit_* and _pd_instr.soller_*) with - the detector ID's (_pd_instr_detector.id). + the detector IDs (_pd_instr_detector.id). ; _name.category_id PD_GROUP _name.object_id PD_INSTR_DETECTOR From 81a0df68fcc86eb6aae5af57715124c05a96eade Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Tue, 24 Jun 2025 21:37:35 +0800 Subject: [PATCH 03/25] fix layout and ddlm --- cif_pow.dic | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 01cc555..d640e9e 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -6407,7 +6407,7 @@ save_PD_INSTR loop: _diffrn_radiation_wavelength.id to identify each individual wavelength, _diffrn_radiation_wavelength.value for each wavelength, - _diffrn_radiation_wavelength.wt for the relative intensity of that wavelength + _diffrn_radiation_wavelength.wt the relative intensity of that wavelength _diffrn_radiation_wavelength.id is used to link wavelengths to peaks (PD_PEAKS) and/or reflections (REFLN), allowing d-spacings to be calculated. @@ -13339,7 +13339,7 @@ save_ Deprecated _pd_refln.wavelength_id after consultation with PDDMG. ; - 2.5.0 2025-06-23 + 2.5.0 2025-06-24 ; ## Retain above version number and increment date until final ## release @@ -13525,4 +13525,6 @@ save_ information about the wavelength. Added _pd_meas_overall.step_count_time. + + Update PD_INSTR and PD_INSTR_DETECTOR descriptions. ; From 5e9179a12d92be72b1fb7a12b0208e99f9b3b1d2 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Tue, 24 Jun 2025 21:44:45 +0800 Subject: [PATCH 04/25] add _pd_instr_detector.instr_id --- cif_pow.dic | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/cif_pow.dic b/cif_pow.dic index d640e9e..62feeea 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -7939,6 +7939,24 @@ save_pd_instr.soller_eq_spec_detc save_ +save_pd_instr_detector.instr_id + + _definition.id '_pd_instr_detector.instr_id' + _definition.update 2025-06-24 + _description.text +; + The instrument (see _pd_instr.id) to which the detector belongs. +; + _name.category_id pd_instr_detector + _name.object_id instr_id + _name.linked_item_id '_pd_instr.id' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Text + +save_ + save_pd_instr_detector.id _definition.id '_pd_instr_detector.id' From fc86d00f4d2d31a5d158c4a070b2c1793527f089 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Tue, 24 Jun 2025 21:47:43 +0800 Subject: [PATCH 05/25] add _pd_instr.radiation_id --- cif_pow.dic | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/cif_pow.dic b/cif_pow.dic index 62feeea..b6af301 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -6929,6 +6929,24 @@ save_pd_instr.monochr_pre_spec save_ +save_pd_instr.radiation_id + + _definition.id '_pd_instr.radiation_id' + _definition.update 2025-06-24 + _description.text +; + The radiation source (see _diffrn_radiation.id) of the instrument. +; + _name.category_id pd_instr + _name.object_id radiation_id + _name.linked_item_id '_diffrn_radiation.id' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Text + +save_ + save_pd_instr.slit_ax_mono_spec _definition.id '_pd_instr.slit_ax_mono_spec' From 1f582616e5fa96e76b99bb15fd76616ba16d719b Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Tue, 24 Jun 2025 21:48:32 +0800 Subject: [PATCH 06/25] updated change list --- cif_pow.dic | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cif_pow.dic b/cif_pow.dic index b6af301..0366727 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -13563,4 +13563,6 @@ save_ Added _pd_meas_overall.step_count_time. Update PD_INSTR and PD_INSTR_DETECTOR descriptions. + + Added _pd_instr.radiation_id and _pd_instr_detector.instr_id. ; From 9dc753c6dd8553216226d556ce31d31cab73ac11 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Tue, 24 Jun 2025 21:52:05 +0800 Subject: [PATCH 07/25] fix layout --- cif_pow.dic | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 0366727..9aa3f6e 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -7957,24 +7957,6 @@ save_pd_instr.soller_eq_spec_detc save_ -save_pd_instr_detector.instr_id - - _definition.id '_pd_instr_detector.instr_id' - _definition.update 2025-06-24 - _description.text -; - The instrument (see _pd_instr.id) to which the detector belongs. -; - _name.category_id pd_instr_detector - _name.object_id instr_id - _name.linked_item_id '_pd_instr.id' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Text - -save_ - save_pd_instr_detector.id _definition.id '_pd_instr_detector.id' @@ -7995,6 +7977,24 @@ save_pd_instr_detector.id save_ +save_pd_instr_detector.instr_id + + _definition.id '_pd_instr_detector.instr_id' + _definition.update 2025-06-24 + _description.text +; + The instrument (see _pd_instr.id) to which the detector belongs. +; + _name.category_id pd_instr_detector + _name.object_id instr_id + _name.linked_item_id '_pd_instr.id' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Text + +save_ + save_PD_MEAS_INFO_AUTHOR _definition.id PD_MEAS_INFO_AUTHOR From 59521f6a65c92aca40bd3788fbfb8224e12634f5 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Tue, 24 Jun 2025 22:01:51 +0800 Subject: [PATCH 08/25] fix ddlm --- cif_pow.dic | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cif_pow.dic b/cif_pow.dic index 9aa3f6e..55eeb7f 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -6943,7 +6943,7 @@ save_pd_instr.radiation_id _type.purpose Link _type.source Related _type.container Single - _type.contents Text + _type.contents Word save_ From cd85be95e1663b736be53096b2692d8f3cf6baae Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Wed, 25 Jun 2025 20:29:59 +0800 Subject: [PATCH 09/25] PD_DATA, PD_CALC, PD_MEAS, and PD_PROC now 1d described --- cif_pow.dic | 44 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 55eeb7f..49cdc83 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-24 + _dictionary.date 2025-06-25 _dictionary.uri https://raw.githubusercontent.com/COMCIFS/Powder_Dictionary/master/cif_pow.dic _dictionary.ddl_conformance 4.2.0 @@ -4317,7 +4317,7 @@ save_PD_DATA _definition.id PD_DATA _definition.scope Category _definition.class Loop - _definition.update 2022-10-11 + _definition.update 2025-06-25 _description.text ; The PD_DATA category is a "container" category that is defined @@ -4326,6 +4326,13 @@ save_PD_DATA As PD_CALC, PD_MEAS, and PD_PROC are all subcategories of this category, the various items belonging to those categories may be looped together or separately, as desired. + + The data contained within PD_DATA and its subcategories only + represent one-dimensional datasets, that is, intensity as some + function of 2θ, d-spacing, time-of-flight, position, or other + applicable diffraction-related coordinate as defined in PD_MEAS + or PD_PROC. Higher dimensional data must first be reduced in some + manner before it can be assigned to data names in these categories. ; _name.category_id PD_GROUP _name.object_id PD_DATA @@ -4497,13 +4504,19 @@ save_PD_CALC _definition.id PD_CALC _definition.scope Category _definition.class Loop - _definition.update 2022-10-11 + _definition.update 2025-06-25 _description.text ; This section is used for storing a computed diffractogram trace. This may be a simulated powder pattern for a material from a program such as LAZY/PULVERIX or the computed intensities from a Rietveld refinement. + + The intensities contained within PD_CALC represent one-dimensional + datasets, that is, intensity as a function of _pd_calc.point_id. + 2θ, d-spacing, time-of-flight, position, or other applicable + diffraction-related coordinate can be assigned to each data point + through the equivalent *.point_id in PD_MEAS or PD_PROC. ; _name.category_id PD_DATA _name.object_id PD_CALC @@ -4762,7 +4775,7 @@ save_PD_MEAS _definition.id PD_MEAS _definition.scope Category _definition.class Loop - _definition.update 2025-04-18 + _definition.update 2025-06-25 _description.text ; This section contains the measured diffractogram prior to @@ -4782,6 +4795,13 @@ save_PD_MEAS as the square root of the number of counts recorded, should use the _pd_meas.counts_* fields. All other intensity values should be recorded using _pd_meas.intensity_*. + + The data contained within PD_MEAS only represent one-dimensional + datasets, that is, intensity as some function of 2θ, d-spacing, + time-of-flight, position, or other applicable diffraction-related + coordinate as defined. Higher dimensional data must first be reduced + in some manner before it can be assigned to data names in these + categories. ; _name.category_id PD_DATA _name.object_id PD_MEAS @@ -5541,12 +5561,20 @@ save_PD_PROC _definition.id PD_PROC _definition.scope Category _definition.class Loop - _definition.update 2025-04-18 + _definition.update 2025-06-25 _description.text ; This section contains the diffraction data set after processing and application of correction terms. If the data set is reprocessed, this section may be replaced. + + The data contained within PD_PROC only represent one-dimensional + datasets, that is, intensity as some function of 2θ, d-spacing, + time-of-flight, position, or other applicable diffraction-related + coordinate as defined. Higher dimensional data must first be reduced + in some manner before it can be assigned to data names in these + categories. + ; _name.category_id PD_DATA _name.object_id PD_PROC @@ -13375,7 +13403,7 @@ save_ Deprecated _pd_refln.wavelength_id after consultation with PDDMG. ; - 2.5.0 2025-06-24 + 2.5.0 2025-06-25 ; ## Retain above version number and increment date until final ## release @@ -13565,4 +13593,8 @@ save_ Update PD_INSTR and PD_INSTR_DETECTOR descriptions. Added _pd_instr.radiation_id and _pd_instr_detector.instr_id. + + Descriptions of PD_DATA, PD_CALC, PD_MEAS, and PD_PROC updated + to make explicit that they can only represent one-dimensional + data. ; From 1a1030f60a31c8458d6d2f3d1710abea42c65756 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Wed, 25 Jun 2025 21:44:47 +0800 Subject: [PATCH 10/25] update distance definitions for detectors and other _pd_instr.dist_* --- cif_pow.dic | 46 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 49cdc83..3ac1549 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -6620,10 +6620,12 @@ save_pd_instr.dist_mono_spec _definition.id '_pd_instr.dist_mono_spec' _alias.definition_id '_pd_instr_dist_mono/spec' - _definition.update 2014-06-20 + _definition.update 2025-06-25 _description.text ; - Specifies distances in millimetres from the monochromator to the specimen. + Specifies distances in millimetres from the monochromator to the centre + of the specimen along the mean beam path. + Note that *_src_spec is used in place of *_src_mono and *_mono_spec if there is no monochromator in use. ; @@ -6642,11 +6644,13 @@ save_pd_instr.dist_src_mono _definition.id '_pd_instr.dist_src_mono' _alias.definition_id '_pd_instr_dist_src/mono' - _definition.update 2023-01-06 + _definition.update 2025-06-25 _description.text ; Specifies distance in millimetres from the radiation source to - the monochromator. Note that *_src_spec is used in place of + the monochromator along the mean beam path. + + Note that *_src_spec is used in place of *_src_mono and *_mono_spec if there is no monochromator in use. ; _name.category_id pd_instr @@ -6664,11 +6668,13 @@ save_pd_instr.dist_src_spec _definition.id '_pd_instr.dist_src_spec' _alias.definition_id '_pd_instr_dist_src/spec' - _definition.update 2023-01-06 + _definition.update 2025-06-25 _description.text ; Specifies distances in millimetres from the radiation source to - the specimen. Note that *_src_spec is used in place of + the centre of the specimen along the mean beam path. + + Note that *_src_spec is used in place of *_src_mono and *_mono_spec if there is no monochromator in use ; _name.category_id pd_instr @@ -7413,10 +7419,12 @@ save_pd_instr.dist_anal_detc _definition.id '_pd_instr.dist_anal_detc' _alias.definition_id '_pd_instr_dist_anal/detc' - _definition.update 2016-10-20 + _definition.update 2025-06-25 _description.text ; - Specifies the distance in millimetres from the analyser to the detector. + Specifies the distance in millimetres from the analyser to the + detector along the mean beam path. + Note that *_spec_detc is used in place of *_anal_detc if there is no analyser in use. ; @@ -7435,11 +7443,13 @@ save_pd_instr.dist_spec_anal _definition.id '_pd_instr.dist_spec_anal' _alias.definition_id '_pd_instr_dist_spec/anal' - _definition.update 2023-01-06 + _definition.update 2025-06-25 _description.text ; - Specifies distances in millimetres from the specimen to the - analyser. Note that *_spec_detc is used in place of *_spec_anal + Specifies distances in millimetres from the centre of the + specimen to the analyser along the mean beam path. + + Note that *_spec_detc is used in place of *_spec_anal if there is no analyser in use. ; _name.category_id pd_instr_detector @@ -7457,11 +7467,15 @@ save_pd_instr.dist_spec_detc _definition.id '_pd_instr.dist_spec_detc' _alias.definition_id '_pd_instr_dist_spec/detc' - _definition.update 2023-01-06 + _definition.update 2025-06-25 _description.text ; - Specifies distance in millimetres from the specimen to the - detector. Note that *_spec_anal and *_anal_detc are used + Specifies distance in millimetres from the centre of the + specimen to the detector. If the detector not a point detector, + then the distance refers to the shortest distance from the + specimen to the detector. + + Note that *_spec_anal and *_anal_detc are used instead of *_spec_detc if there is an analyser in use. ; _name.category_id pd_instr_detector @@ -13597,4 +13611,8 @@ save_ Descriptions of PD_DATA, PD_CALC, PD_MEAS, and PD_PROC updated to make explicit that they can only represent one-dimensional data. + + Update descriptions of _pd_instr.dist* to define distance for + non-point detectors and to specify the specimen centre as the + point of interest. ; From 199225b647ec7d54844b070a7833608a4f86012b Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Thu, 26 Jun 2025 18:33:40 +0800 Subject: [PATCH 11/25] add _pd_instr_detector.diffrn_detector_id --- cif_pow.dic | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 3ac1549..0c5d841 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-25 + _dictionary.date 2025-06-26 _dictionary.uri https://raw.githubusercontent.com/COMCIFS/Powder_Dictionary/master/cif_pow.dic _dictionary.ddl_conformance 4.2.0 @@ -7999,6 +7999,24 @@ save_pd_instr.soller_eq_spec_detc save_ +save_pd_instr_detector.diffrn_detector_id + + _definition.id '_pd_instr_detector.diffrn_detector_id' + _definition.update 2025-06-26 + _description.text +; + The diffrn detector (see _diffrn_detector.id) to which the pdCIF detector belongs. +; + _name.category_id pd_instr_detector + _name.object_id diffrn_detector_id + _name.linked_item_id '_pd_instr.diffrn_detector_id' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Word + +save_ + save_pd_instr_detector.id _definition.id '_pd_instr_detector.id' @@ -13417,7 +13435,7 @@ save_ Deprecated _pd_refln.wavelength_id after consultation with PDDMG. ; - 2.5.0 2025-06-25 + 2.5.0 2025-06-26 ; ## Retain above version number and increment date until final ## release @@ -13615,4 +13633,7 @@ save_ Update descriptions of _pd_instr.dist* to define distance for non-point detectors and to specify the specimen centre as the point of interest. + + Add _pd_instr_detector.diffrn_detector_id to link a pdCIF to a + _diffrn_detector.id detector. ; From 4d3ea17eeea1b159f4a29bdc100ef2bfed4077c7 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Thu, 26 Jun 2025 18:39:47 +0800 Subject: [PATCH 12/25] layout --- cif_pow.dic | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cif_pow.dic b/cif_pow.dic index 0c5d841..35fca46 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -8005,7 +8005,8 @@ save_pd_instr_detector.diffrn_detector_id _definition.update 2025-06-26 _description.text ; - The diffrn detector (see _diffrn_detector.id) to which the pdCIF detector belongs. + The diffrn detector (see _diffrn_detector.id) to which the pdCIF + detector belongs. ; _name.category_id pd_instr_detector _name.object_id diffrn_detector_id From fb89dacaa4e645175c3275d5c7d79e23240e90da Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Thu, 26 Jun 2025 18:53:00 +0800 Subject: [PATCH 13/25] add _pd_meas.channel --- cif_pow.dic | 50 ++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 44 insertions(+), 6 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 35fca46..53ab65e 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -4958,6 +4958,33 @@ save_pd_meas.2theta_scan_su save_ +save_pd_meas.channel + + _definition.id '_pd_meas.channel' + _definition.update 2025-06-26 + _description.text +; + A number which identifies the channel number, detector element, or + other subsection of a position-sensitive, energy-dispersive or other + multiple-detector instrument for which there is an intensity we can + record separately. + + Calibration information, such as angle offsets or a calibration + function to convert channel numbers to Q, energy, wavelength, + angle etc. should be described using PD_CALIB_XCOORD and/or + PD_CALIBRATION data items. If _pd_calibration.conversion_eqn is + used, the detector IDs should be the number to be used in the + equation. +; + _name.category_id pd_meas + _name.object_id channel + _type.purpose Number + _type.source Assigned + _type.container Single + _type.contents Real + +save_ + save_pd_meas.counts_background _definition.id '_pd_meas.counts_background' @@ -5115,14 +5142,17 @@ save_pd_meas.detector_id _definition.id '_pd_meas.detector_id' _alias.definition_id '_pd_meas_detector_id' - _definition.update 2023-06-09 + _definition.update 2025-06-26 _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. + A code which identifies the detector for which the individual + instrument geometry is being defined. This code should match + the code name used for _pd_instr_detector.id. + + Although it is possible to use this data name to describe channel + number in a position-sensitive, energy-dispersive or other + multiple-detector instrument, _pd_meas.channel should alwayes + be used in lieu where possible. Calibration information, such as angle offsets or a calibration function to convert channel numbers to Q, energy, wavelength, @@ -13637,4 +13667,12 @@ save_ Add _pd_instr_detector.diffrn_detector_id to link a pdCIF to a _diffrn_detector.id detector. + + Added _pd_meas.channel to explicitly refer to channel number + in a diffractogram, rather than allowing _pd_meas.detector_id + to fulfill two disparate duties. + + Update description of _pd_meas.detector_id to delegate its use as + channel number to _pd_meas.channel. It is still possible to refer + to channel numbers here, but not prefered. ; From 8bdf30d961234cab45156242fe4dcac8fce6b49d Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Thu, 26 Jun 2025 19:19:44 +0800 Subject: [PATCH 14/25] Update description of _pd_instr_detector.id --- cif_pow.dic | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 53ab65e..2bf531e 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -8051,13 +8051,17 @@ save_ save_pd_instr_detector.id _definition.id '_pd_instr_detector.id' - _definition.update 2023-06-09 + _definition.update 2025-06-26 _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. Where a single detector is used, this may be omitted. + An arbitrary code which identifies the detector. + + Although it is possible, it should not be used to describe a channel + number in a position-sensitive, energy-dispersive or other + multiple-detector instrument for which the individual instrument + geometry is being defined. + + See also _pd_meas.detector_id and _pd_meas.channel. ; _name.category_id pd_instr_detector _name.object_id id @@ -13672,6 +13676,9 @@ save_ in a diffractogram, rather than allowing _pd_meas.detector_id to fulfill two disparate duties. + Update description of _pd_instr_detector.id to frown on its use as + a channel number descriptor. + Update description of _pd_meas.detector_id to delegate its use as channel number to _pd_meas.channel. It is still possible to refer to channel numbers here, but not prefered. From 3d7cc567266781389e06fa423d2d1a6e40e29096 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Thu, 26 Jun 2025 19:22:53 +0800 Subject: [PATCH 15/25] whitespace --- cif_pow.dic | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cif_pow.dic b/cif_pow.dic index 2bf531e..03a4209 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -13677,7 +13677,7 @@ save_ to fulfill two disparate duties. Update description of _pd_instr_detector.id to frown on its use as - a channel number descriptor. + a channel number descriptor. Update description of _pd_meas.detector_id to delegate its use as channel number to _pd_meas.channel. It is still possible to refer From fce7cc95de157ce3a9f90e15fd707c6389895a7d Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Thu, 26 Jun 2025 21:37:09 +0800 Subject: [PATCH 16/25] fix some ddlm errors --- cif_pow.dic | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 03a4209..59ba5f2 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -4973,8 +4973,8 @@ save_pd_meas.channel function to convert channel numbers to Q, energy, wavelength, angle etc. should be described using PD_CALIB_XCOORD and/or PD_CALIBRATION data items. If _pd_calibration.conversion_eqn is - used, the detector IDs should be the number to be used in the - equation. + used, the value of _pd_meas.channel should be the number to be used + in the equation. ; _name.category_id pd_meas _name.object_id channel @@ -4982,6 +4982,7 @@ save_pd_meas.channel _type.source Assigned _type.container Single _type.contents Real + _units.code none save_ @@ -8040,7 +8041,7 @@ save_pd_instr_detector.diffrn_detector_id ; _name.category_id pd_instr_detector _name.object_id diffrn_detector_id - _name.linked_item_id '_pd_instr.diffrn_detector_id' + _name.linked_item_id '_diffrn_detector.id' _type.purpose Link _type.source Related _type.container Single From 16ec897204f40f9092540a0529517ca1d21cfd8f Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Fri, 27 Jun 2025 17:09:43 +0800 Subject: [PATCH 17/25] _pd_meas.channel is an Integer --- cif_pow.dic | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 59ba5f2..30b8eee 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -4966,12 +4966,13 @@ save_pd_meas.channel ; A number which identifies the channel number, detector element, or other subsection of a position-sensitive, energy-dispersive or other - multiple-detector instrument for which there is an intensity we can - record separately. + multiple-one-dimensional-detector instrument for which there is an + intensity we can record separately. Typically used when raw counts or + intensity are recorded as a function of channel number, prior to + conversion to physical units. - Calibration information, such as angle offsets or a calibration - function to convert channel numbers to Q, energy, wavelength, - angle etc. should be described using PD_CALIB_XCOORD and/or + Calibration information to convert channel numbers to Q, energy, + wavelength, angle etc. should be described using PD_CALIB_XCOORD and/or PD_CALIBRATION data items. If _pd_calibration.conversion_eqn is used, the value of _pd_meas.channel should be the number to be used in the equation. @@ -4981,7 +4982,7 @@ save_pd_meas.channel _type.purpose Number _type.source Assigned _type.container Single - _type.contents Real + _type.contents Integer _units.code none save_ @@ -13674,7 +13675,7 @@ save_ _diffrn_detector.id detector. Added _pd_meas.channel to explicitly refer to channel number - in a diffractogram, rather than allowing _pd_meas.detector_id + in a diffractogram, rather than requiring _pd_meas.detector_id to fulfill two disparate duties. Update description of _pd_instr_detector.id to frown on its use as From 374af1e2b2e98f0a68173772004146643c880df3 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Mon, 30 Jun 2025 19:08:49 +0800 Subject: [PATCH 18/25] add _pd_instr_detector.diffrn_id --- cif_pow.dic | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/cif_pow.dic b/cif_pow.dic index 30b8eee..f521f36 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -8050,6 +8050,28 @@ save_pd_instr_detector.diffrn_detector_id save_ +save_pd_instr_detector.diffrn_id + + _definition.id '_pd_instr_detector.diffrn_id' + _definition.update 2025-06-30 + _description.text +; + The diffrn id (see _diffrn.id) associated with the pdCIF detector. + + Included to maintain compatibility with imgCIF. Do not use this value. + Use the value associated with _pd_diffractogram.diffrn_id in any + lookup associated with DIFFRN_DETECTOR. +; + _name.category_id pd_instr_detector + _name.object_id diffrn_id + _name.linked_item_id '_diffrn.id' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Word + +save_ + save_pd_instr_detector.id _definition.id '_pd_instr_detector.id' From 2078f15b89da8bae68afabcd13765442326a3a37 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Mon, 30 Jun 2025 19:12:13 +0800 Subject: [PATCH 19/25] Add _pd_instr.diffrn_id --- cif_pow.dic | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/cif_pow.dic b/cif_pow.dic index f521f36..799d012 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -6648,6 +6648,28 @@ save_pd_instr.detector_circle_radius save_ +save_pd_instr.diffrn_id + + _definition.id '_pd_instr.diffrn_id' + _definition.update 2025-06-30 + _description.text +; + A diffrn id (see _diffrn.id) associated with the instrument. + + Included to maintain compatibility with imgCIF. Do not use this value. + Use the value associated with _pd_diffractogram.diffrn_id in any + lookup associated with DIFFRN_RADIATION. +; + _name.category_id pd_instr + _name.object_id diffrn_id + _name.linked_item_id '_diffrn.id' + _type.purpose Link + _type.source Related + _type.container Single + _type.contents Word + +save_ + save_pd_instr.dist_mono_spec _definition.id '_pd_instr.dist_mono_spec' @@ -8056,7 +8078,7 @@ save_pd_instr_detector.diffrn_id _definition.update 2025-06-30 _description.text ; - The diffrn id (see _diffrn.id) associated with the pdCIF detector. + A diffrn id (see _diffrn.id) associated with the pdCIF detector. Included to maintain compatibility with imgCIF. Do not use this value. Use the value associated with _pd_diffractogram.diffrn_id in any From a8233e508392e396baea0baf6535bc954754e940 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Mon, 30 Jun 2025 19:29:48 +0800 Subject: [PATCH 20/25] update update date dates and change text. --- cif_pow.dic | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 799d012..8f430bd 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-26 + _dictionary.date 2025-06-30 _dictionary.uri https://raw.githubusercontent.com/COMCIFS/Powder_Dictionary/master/cif_pow.dic _dictionary.ddl_conformance 4.2.0 @@ -13516,7 +13516,7 @@ save_ Deprecated _pd_refln.wavelength_id after consultation with PDDMG. ; - 2.5.0 2025-06-26 + 2.5.0 2025-06-30 ; ## Retain above version number and increment date until final ## release @@ -13728,4 +13728,11 @@ save_ Update description of _pd_meas.detector_id to delegate its use as channel number to _pd_meas.channel. It is still possible to refer to channel numbers here, but not prefered. + + Add _pd_instr.diffrn_id and _pd_instr_detector.diffrn_id to maintain + compatibility with imgCIF for DIFFRN_DETECTOR and DIFFRN_RADIATION. + These values would not normally be used, as detailing them all would + entail repeating all instrument details for all _diffrn.id values. + In practice, the value associated with _pd_diffractogram.diffrn_id + would be used when looking up this information, where required. ; From dedf7fec5fbf9219d1787d40fb147413dcd9f7b4 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Sun, 6 Jul 2025 21:37:30 +0800 Subject: [PATCH 21/25] no need for pd_instr.diffrn_id pd_instr.diffrn_id was put in becuase I initially had DIFFRN_RADIATION having a .diffrn_id key --- cif_pow.dic | 42 ++++++++++-------------------------------- 1 file changed, 10 insertions(+), 32 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 8f430bd..eab6f4f 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -6648,28 +6648,6 @@ save_pd_instr.detector_circle_radius save_ -save_pd_instr.diffrn_id - - _definition.id '_pd_instr.diffrn_id' - _definition.update 2025-06-30 - _description.text -; - A diffrn id (see _diffrn.id) associated with the instrument. - - Included to maintain compatibility with imgCIF. Do not use this value. - Use the value associated with _pd_diffractogram.diffrn_id in any - lookup associated with DIFFRN_RADIATION. -; - _name.category_id pd_instr - _name.object_id diffrn_id - _name.linked_item_id '_diffrn.id' - _type.purpose Link - _type.source Related - _type.container Single - _type.contents Word - -save_ - save_pd_instr.dist_mono_spec _definition.id '_pd_instr.dist_mono_spec' @@ -7525,7 +7503,7 @@ save_pd_instr.dist_spec_detc _description.text ; Specifies distance in millimetres from the centre of the - specimen to the detector. If the detector not a point detector, + specimen to the detector. If the detector is not a point detector, then the distance refers to the shortest distance from the specimen to the detector. @@ -8080,9 +8058,9 @@ save_pd_instr_detector.diffrn_id ; A diffrn id (see _diffrn.id) associated with the pdCIF detector. - Included to maintain compatibility with imgCIF. Do not use this value. - Use the value associated with _pd_diffractogram.diffrn_id in any - lookup associated with DIFFRN_DETECTOR. + Included to maintain compatibility with the DIFFRN_DETECTOR and + imgCIF. Do not use this value. Use the value associated with + _pd_diffractogram.diffrn_id in any lookup associated with DIFFRN_DETECTOR. ; _name.category_id pd_instr_detector _name.object_id diffrn_id @@ -13729,10 +13707,10 @@ save_ channel number to _pd_meas.channel. It is still possible to refer to channel numbers here, but not prefered. - Add _pd_instr.diffrn_id and _pd_instr_detector.diffrn_id to maintain - compatibility with imgCIF for DIFFRN_DETECTOR and DIFFRN_RADIATION. - These values would not normally be used, as detailing them all would - entail repeating all instrument details for all _diffrn.id values. - In practice, the value associated with _pd_diffractogram.diffrn_id - would be used when looking up this information, where required. + Add _pd_instr_detector.diffrn_id to maintain compatibility with + imgCIF for DIFFRN_DETECTOR. This value would not normally be used, + as detailing them all would entail repeating all instrument details + for all _diffrn.id values. In practice, the value associated with + _pd_diffractogram.diffrn_id would be used when looking up this + information, where required. ; From 195dc84eade6aa6a93cab02532a08bcd7b94d284 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Sun, 6 Jul 2025 21:46:54 +0800 Subject: [PATCH 22/25] misc clarifications --- cif_pow.dic | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index eab6f4f..19bdbd3 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -7407,8 +7407,10 @@ save_PD_INSTR_DETECTOR may be prepared and included with each data set. Data items from this category must be combined with those from - PD_INSTR to form a description of the instrument. Both categories use - data names of the form _pd_instr.*. + PD_INSTR to form a description of the instrument. The instrument used + with the detector(s) defined here should be recorded using + _pd_instr_detector.instr_id. Both categories use data names of the form + _pd_instr.*. The term "analyser" refers to post-diffraction (post-specimen) monochromator. The analyser may be fixed for specific @@ -8058,8 +8060,8 @@ save_pd_instr_detector.diffrn_id ; A diffrn id (see _diffrn.id) associated with the pdCIF detector. - Included to maintain compatibility with the DIFFRN_DETECTOR and - imgCIF. Do not use this value. Use the value associated with + Included to maintain compatibility with DIFFRN_DETECTOR and imgCIF. + Do not use this value. Use the value associated with the appropriate _pd_diffractogram.diffrn_id in any lookup associated with DIFFRN_DETECTOR. ; _name.category_id pd_instr_detector @@ -13694,7 +13696,7 @@ save_ point of interest. Add _pd_instr_detector.diffrn_detector_id to link a pdCIF to a - _diffrn_detector.id detector. + _diffrn_detector.id detector, particularly for imgCIF. Added _pd_meas.channel to explicitly refer to channel number in a diffractogram, rather than requiring _pd_meas.detector_id From 576ac60837cfdb4c3608d5a625ad32fd81e4c470 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Sun, 6 Jul 2025 21:53:28 +0800 Subject: [PATCH 23/25] ddlm --- cif_pow.dic | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cif_pow.dic b/cif_pow.dic index 19bdbd3..1869c1e 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -8048,7 +8048,7 @@ save_pd_instr_detector.diffrn_detector_id _type.purpose Link _type.source Related _type.container Single - _type.contents Word + _type.contents Text save_ From 5b79a1861ae8b658c35e6c55e14e47a99de95f25 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Mon, 7 Jul 2025 21:23:19 +0800 Subject: [PATCH 24/25] misc alterations From @jamesrhester 's suggestions --- cif_pow.dic | 48 +++++++++++++++++++++--------------------------- 1 file changed, 21 insertions(+), 27 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 1869c1e..2db010e 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -4332,7 +4332,7 @@ save_PD_DATA function of 2θ, d-spacing, time-of-flight, position, or other applicable diffraction-related coordinate as defined in PD_MEAS or PD_PROC. Higher dimensional data must first be reduced in some - manner before it can be assigned to data names in these categories. + manner before it can be assigned to data names in PD_PROC. ; _name.category_id PD_GROUP _name.object_id PD_DATA @@ -4515,8 +4515,8 @@ save_PD_CALC The intensities contained within PD_CALC represent one-dimensional datasets, that is, intensity as a function of _pd_calc.point_id. 2θ, d-spacing, time-of-flight, position, or other applicable - diffraction-related coordinate can be assigned to each data point - through the equivalent *.point_id in PD_MEAS or PD_PROC. + diffraction-related coordinate. Intensities can be assigned to each + data point through the equivalent *.point_id in PD_MEAS or PD_PROC. ; _name.category_id PD_DATA _name.object_id PD_CALC @@ -5147,21 +5147,14 @@ save_pd_meas.detector_id _definition.update 2025-06-26 _description.text ; - A code which identifies the detector for which the individual - instrument geometry is being defined. This code should match - the code name used for _pd_instr_detector.id. + A code which identifies the detector from which the data were + collected. This code should match the code name used for + _pd_instr_detector.id. - Although it is possible to use this data name to describe channel + This data name should not be used to describe channel number in a position-sensitive, energy-dispersive or other - multiple-detector instrument, _pd_meas.channel should alwayes - be used in lieu where possible. - - Calibration information, such as angle offsets or a calibration - function to convert channel numbers to Q, energy, wavelength, - angle etc. should be described using PD_CALIB_XCOORD and/or - PD_CALIBRATION data items. If _pd_calibration.conversion_eqn is - used, the detector IDs should be the number to be used in the - equation. + multiple-detector instrument; see _pd_meas.channel for this + use-case. ; _name.category_id pd_meas _name.object_id detector_id @@ -5604,8 +5597,8 @@ save_PD_PROC datasets, that is, intensity as some function of 2θ, d-spacing, time-of-flight, position, or other applicable diffraction-related coordinate as defined. Higher dimensional data must first be reduced - in some manner before it can be assigned to data names in these - categories. + in some manner before it can be assigned to data names in this + category. ; _name.category_id PD_DATA @@ -8039,8 +8032,8 @@ save_pd_instr_detector.diffrn_detector_id _definition.update 2025-06-26 _description.text ; - The diffrn detector (see _diffrn_detector.id) to which the pdCIF - detector belongs. + Identifier of a 2D or higher-dimensional detector used for data + collection, described using data names in the imgCIF dictionary. ; _name.category_id pd_instr_detector _name.object_id diffrn_detector_id @@ -8060,9 +8053,10 @@ save_pd_instr_detector.diffrn_id ; A diffrn id (see _diffrn.id) associated with the pdCIF detector. - Included to maintain compatibility with DIFFRN_DETECTOR and imgCIF. - Do not use this value. Use the value associated with the appropriate - _pd_diffractogram.diffrn_id in any lookup associated with DIFFRN_DETECTOR. + This dataname holds a value for _diffrn_detector.diffrn_id used + only (in combination with the _pd_instr_detector.diffrn_detector_id + value) to locate a detector in the diffrn_detector list. Always use + _pd_diffractogram.diffrn_id to indicate diffraction conditions. ; _name.category_id pd_instr_detector _name.object_id diffrn_id @@ -8082,10 +8076,10 @@ save_pd_instr_detector.id ; An arbitrary code which identifies the detector. - Although it is possible, it should not be used to describe a channel - number in a position-sensitive, energy-dispersive or other - multiple-detector instrument for which the individual instrument - geometry is being defined. + It should not be used to describe a channel number in a + position-sensitive, energy-dispersive or other multiple-detector + instrument for which the individual instrument geometry is being + defined. See also _pd_meas.detector_id and _pd_meas.channel. ; From ee02e50b8524c1eea25dfd0a5e96ca4136695367 Mon Sep 17 00:00:00 2001 From: Matthew Rowles Date: Tue, 8 Jul 2025 16:47:26 +0800 Subject: [PATCH 25/25] description of _pd_instr_detector.diffrn_detector_id --- cif_pow.dic | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cif_pow.dic b/cif_pow.dic index 2db010e..54c1f20 100644 --- a/cif_pow.dic +++ b/cif_pow.dic @@ -8032,8 +8032,8 @@ save_pd_instr_detector.diffrn_detector_id _definition.update 2025-06-26 _description.text ; - Identifier of a 2D or higher-dimensional detector used for data - collection, described using data names in the imgCIF dictionary. + Identifier of a detector used for data collection described using data names + from the DIFFRN_DECTECTOR category in the imgCIF and core dictionaries. ; _name.category_id pd_instr_detector _name.object_id diffrn_detector_id