Closed rowlesmr closed 1 year ago
PD_CALIBRATION
: I think needs a diffractogram id. It talks about calibrating _pd_meas.detector_id
or _pd_meas.position
values to Q, energy, angle, etc.PD_CHAR
is a funny one; even though it is about the specimen, I think I to want a link to diffractogram_id.PD_PREP
: I think this needs to link somehow with PD_SPEC
. PD_PREP
details the preparation of the material from which the specimen is drawn, whereas PD_SPEC
details the actual thing you put in the beam.PD_PEAK
: I don't know enough about it to know if its to be treated as a phase or a diffractogram.PD_PEAK_OVERALL
: I think a diffractogram id.PD_PROC_LS
is difficult. In the trivial case, it depends on one of each id, in the normal case, one diff_id and many phase_ids, and in the pathological case, many of both ids.The following already have a _pd*.detector_id
as a category key (although I still need to work out how that ends up pointing to a diffractogram_id)
PD_CALIB
PD_CALIB_OFFSET
PD_CALIB_STD
PD_INSTR_DETECTOR
Maybe I can also give _*.diffractogram/phase_id
to these categories, and the detector_id may be able to be found through them (just not added as category keys).
When adding keys, I'm thinking
If I put this
Set
/Loop
information in a data block all by itself, how do I get the information back into the diffractogram and/or phase of interest.
Is that the right frame of mind?
When adding keys, I'm thinking
If I put this
Set
/Loop
information in a data block all by itself, how do I get the information back into the diffractogram and/or phase of interest.Is that the right frame of mind?
Yes, sounds OK. You can also think "would these values necessarily change if the phase/diffractogram/detector/X was different, and is that already captured via the key data names I already have".
These are a little different to the other categories:
PD_CHAR
: information about the 'material'.PD_PREP
: information about the 'sample'.PD_SPEC
: information about the 'specimen'.They're all Set
categories, and form a hierachy (in the above order), with only PD_SPEC
actually having any formal link to a diffractogram. I don't think any of them have a link to a specific phase.
In a formal sense, I think that
PD_CHAR
is keyed on _pd_char.id
;PD_PREP
is keyed on _pd_prep.char_id
, and _pd_prep.id
; andPD_SPEC
is keyed on _pd_spec.char_id
, _pd_spec.prep_id
and _pd_spec.diffractogram_id
(and possibly even _pd_spec.id
if you reuse the same specimen to make different diffractograms).That seems rather complicated.
In a pragmatic sense, I think that
PD_CHAR
is keyed on _pd_char.diffractogram_id
;PD_PREP
is keyed on _pd_prep.diffractogram_id
; andPD_SPEC
is keyed on _pd_spec.diffractogram_id
.is possibly a way to go.
How could you then deal with an in situ experiment with many diffractograms with the same specimen (and hence, the same sample and material)?
I think all the easy ones are done. The remainder, I think, need some thought.
eg PD_PEAKS
: to whom do they belong? phase? diffractogram? both? what about _pd_background.peak_id
?
I think (after those two comments of mine are resolved) we can merge these changes, and then tackle the other categories you've raised as separate small pull requests.
as mentioned in #79
Adding phase_id and/or diffractogram_id to categories as keys to allow multiple appearances of the various categories in difference blocks in the same data collection.