Provides metadata per channels in the scan_info
Related to !1836 (merged)
The current scan_info
do not provide enough information to deal with live scans.
This informations are usually known by the common scan commands (ascan
...) cause it is part of the command line arguments, or known by the acquisition chain designers (cause they know what they do).
This proposal generalise information already available in scan_info
(namely nbpoints
, npoint1
, start
, stop
...), but in a little more flexible and usable way. This informations are stored per channels. Any channels can be defined this way.
This is already useful and needed for linear scans. And can work with many top masters. It could be improved later for complex parametric trajectories or what ever.
scan_info["requests"] = {}
a2scan(roby, 0, 1, robz, 0, 1, 0.1, 10, diode)
scan_info["requests"]["roby"] = {"start": 0.0, "stop": 1.0, "points": 10}
scan_info["requests"]["robz"] = {"start": 0.0, "stop": 1.0, "points": 10}
# Other channels can be described
# and missing information can be omitted
scan_info["requests"]["diode"] = {"points": 10}
# Flint needs a little more information for mesh axes
# in order to guess the rendering
amesh(roby, 0, 1, 5, robz, 0, 1, 2, 0.1, diode)
scan_info["requests"]["roby"] = {"start": 0.0, "stop": 1.0, "points": 10, "axes-points": 5, "axes-kind": "fast"} # fast axes
scan_info["requests"]["robz"] = {"start": 0.0, "stop": 1.0, "points": 10, "axes-points": 2, "axes-kind": "slow"}
scan_info["requests"]["diode"] = {"points": 10}
Available metadata
Here is a list of metadata per channel that can be specified
-
start
: Start position of the axes (if available) -
stop
: Stop position of the axes (if available) -
min
: Used to set the default view in Flint (if not provided,start/stop
is used instead) -
max
: Used to set the default view in Flint (if not provided,start/stop
is used instead) -
points
: Number of point for this channel -
axes-points
: Number of axes points contained on the channel (requested amount of mesh axes) -
axes-kind
:slow
,fast
,fast-snake
... (mesh specific)
How this metadata will be used
-
start/stop/min/max
WILL be used to specify in Flint the displayed region (and then avoid blinking) -
start/stop/axes-points/axes-kind
WILL be used to guess regular grid rendering in Flint for mesh scans -
points
CAN be used to optimize memory allocation in Flint