Storage: data not always consistent cause of aliases
BLISS expect to use alias in command scans to trig properly the scans.
If it is not the case, the data in the writer will not match. Basically
- scan channel will use the name provided in the scan command,
- but static positioners based on metadata will still use aliases.
Example
ascan(sx, 0,1,2,0.1,diod1)
# scan with alias
ALIASES.add("foo", sx)
ascan(foo, 0,1,2,0.1,diod1)
# Here it's fine, because the axis is always referenced as "foo"
# scan without alias, but still the alias is used by metadata
# That's valid right?
sx = config.get("sx")
ascan(sx, 0,1,2,0.1,diod1)
silx_view(-1)
As we can see
- the data is stored as
sx
because the scan involve this axis - but this same axis is also stored as
foo
as fixed data because there is no way for the writer to know it's the same object
As result, the real problem i can see is:
Depending on a motor is part of the scan or not, it's not the same way to reach back it's data.
That's even more complex if you use multiple sessions with BeaconObject references. It's the problem we have here: tomo/ebs-tomo#56
I think it's a hard problem with the way BLISS handle aliases right now. Is there a way to find a non ad-hoc solution for this problem?
Edited by Valentin Valls