Proposal: metadata object for ICAT
... this issue is private until there is something conclusive in here...
current situation with MetaData Manager Tango Properties taken from id21 and id16
things that used to be lables in MetadataManager Properties
InstrumentInsertionDevice_gap_name = U32a U42b U42c
InstrumentInsertionDevice_taper_name = U32a U42b U42c
InstrumentDetector01_name = iodet2
things that used to be parameters in MetadataManager Properties
InstrumentPositioners_value
InstrumentSlitPrimary_vertical_gap
InstrumentSource_current = orion:10000/fe/id/16/SR_Current
InstrumentSource_mode = orion:10000/fe/id/16/SR_Filling_Mode
more complex things related to application definitions
SampleEnvironmentSensors_value = nano:20000/ID16NI/v-pen/111/Pressure, nano:20000/ID16NI/th-ls218/2/Temp3
SamplePositioners_value = nano:20000/ID16NI/emotion_flexdc/srot/Position, nano:20000/ID16NI/emotion_pmd206_1/sx/Position,
scanNumber = nano:20000/ID16NI/spec/zaptomo/SCAN_N
scanType
FLUO_pixelSize
FLUO_dwellTime
FLUO_scanDim1
FLUO_scanDim2
FLUO_scanRange1
FLUO_scanRange2
FLUO_scanAxis1
FLUO_scanAxis2
PTYCHO_Axis1_range = nano:20000/ID16NI/ptycho/1/horizontal_range
PTYCHO_Axis2_range = nano:20000/ID16NI/ptycho/1/vertical_range
PTYCHO_beamSize = nano:20000/ID16NI/NFP/1/beam_size
PTYCHO_countTime= nano:20000/ID16NI/NFP/1/expo_time
PTYCHO_focusToDetectorDistance = nano:20000/ID16NI/NFP/1/distance
PTYCHO_parameters = nano:20000/ID16NI/spec/zaptomo/NFP_SCAN_PAR
Here is the proposal:
- things that are dealt with inside the server (e.g.
InstrumentSource_current = orion:10000/fe/id/16/SR_Current
) do not pop up in any bliss related configuration -
lables
in MetadataManager Properties would not be used by bliss ... all things that are managed by bliss will be underparameters
(Wout's idea) - directly map properties of bliss objects to icat names
- have a mapping configuration in bliss config as a bliss object that could look like this
name: icat_metadata
plugin: bliss
class: ICATmetadata
mapping:
InstrumentSlitPrimary_vertical_gap : $psvg.position
InstrumentInsertionDevice_gap_name : [ $U32a.name, $U42b.name, $U42c.name ]
- the values are pushed when a new dataset is created (at least to start with, maybe there also has to be something at the end of the dataset)
Problems that have to be solved:
- when is
$ .
in config evaluated / can the evaluation be triggered? - how to deal with
NX_application
related things (e.g.FLUO_scanDim2
from above)- potentially this has to be dealt with by the guy writing the scan/sequence/procedure or do we see any way to automatize something here?
Edited by Linus Pithan