The issue arises from Issue #1604, which proposes to the place the 'OSC' experiment type with a more relevant 'Rotation'. But teh experiment type enumeration (queue_model_enumerations.EXPERIMENT_TYPE_STR) seems a bit problematic in itself, as a basis for classifying experiments. Essentially it is a bit schizophrenic whether it classifies the purpose or the mechanics of the experiment, and some entries, like 'MAD - Inverse Beam', seem rather obsolescent. The current enumeration is:
EXPERIMENT_TYPE_STR = ExperimentType(
"SAD",
"SAD - Inverse Beam",
"MAD",
"MAD - Inverse Beam",
"OSC",
"Helical",
"Characterization",
"OSC",
"Mesh",
"Collect - Multiwedge",
"Still",
"Imaging",
)
If we look at the mechanics, a sensible set would be
'Rotation', 'Helical', 'Mesh', 'Still', 'Imaging', and possibly 'Line' (unless Line is the same as Helical).
If we look at the rest, ("SAD", "SAD - Inverse Beam", "MAD", "MAD - Inverse Beam", "OSC", "Characterization", "Collect - Multiwedge") they are all 'Rotation', or sets of 'Rotation'. Certainly the GPhL workflow enqueues them all as Rotation,in some cases with multi-trigger and offset (overlap) specification. Does it make sense to keep all these separate keywords, and to expect viewers to know how to treat them individually? What do they correspond to in terms of actual motor movements when specified on a single DataCollectionQueueEntry?
If this enumeration was more clearly defined and described it would be easier to use for e.g. display. Does anyone have some use cases for this?
The issue arises from Issue #1604, which proposes to the place the 'OSC' experiment type with a more relevant 'Rotation'. But teh experiment type enumeration (queue_model_enumerations.EXPERIMENT_TYPE_STR) seems a bit problematic in itself, as a basis for classifying experiments. Essentially it is a bit schizophrenic whether it classifies the purpose or the mechanics of the experiment, and some entries, like 'MAD - Inverse Beam', seem rather obsolescent. The current enumeration is:
If we look at the mechanics, a sensible set would be
'Rotation', 'Helical', 'Mesh', 'Still', 'Imaging', and possibly 'Line' (unless Line is the same as Helical).
If we look at the rest, ("SAD", "SAD - Inverse Beam", "MAD", "MAD - Inverse Beam", "OSC", "Characterization", "Collect - Multiwedge") they are all 'Rotation', or sets of 'Rotation'. Certainly the GPhL workflow enqueues them all as Rotation,in some cases with multi-trigger and offset (overlap) specification. Does it make sense to keep all these separate keywords, and to expect viewers to know how to treat them individually? What do they correspond to in terms of actual motor movements when specified on a single DataCollectionQueueEntry?
If this enumeration was more clearly defined and described it would be easier to use for e.g. display. Does anyone have some use cases for this?