It would be very useful to have a type of result channel that represents xy scan data (or potentially multidimensional scans as well), shown to the user in much the same fashion as subscans are.
This came out of a discussion how to represent randomised benchmarking (RBM) data with @JammyL a while ago. The obvious way to execute RBM efficiently and with ideal randomisation would be a 2D scan across sequence length and seed index. Right now, this would mean forgoing a nice sequence length vs. survival probability plot, though. With support for synthetic scans, this could be implemented as a default analysis with an analysis result channel of XYData,Fake1DScan, … [some descriptive name], to which the data grouped by sequence length "column" would be pushed to.
This would also allow us to finally display the raw readout counts (which currently just tend to be stored for later analysis in an OpaqueChannel) to the user in much the same way as if each experiment were a subscan over the shot index. (In further consequence, this could then also be used to address #267 with a generic function to add histograms to the y axis of any plot.)
Introduce experiment-side representation of result channels that encode XY "scan" data:
Possible overlap with subscan schema emission/...
We'll also want a channel type where the x-axis is implied as just an enumeration of results for efficient representation of readout counts.
Support applet-side display of these result channels:
For a normal ExpFragment result channel, where there is some parent scan, this should be treated exactly like subscan result channels are (context menu to access data, in the future perhaps dockable plots rather than different windows, etc.).
For top-level analysis results (e.g. if one manually runs a 2D scan of the RBM fragment), this could be done as an "alternate plot" similar to how a repeated scan of a subscan allows one to flip between the subscan analysis results as well as the source data via the context menu.
@JammyL This is part 3 of the RBM live analysis discussion we had on 2023-05-05 (part 1 and 2 being #388 and #389).
It would be very useful to have a type of result channel that represents xy scan data (or potentially multidimensional scans as well), shown to the user in much the same fashion as subscans are.
This came out of a discussion how to represent randomised benchmarking (RBM) data with @JammyL a while ago. The obvious way to execute RBM efficiently and with ideal randomisation would be a 2D scan across sequence length and seed index. Right now, this would mean forgoing a nice sequence length vs. survival probability plot, though. With support for synthetic scans, this could be implemented as a default analysis with an analysis result channel of
XYData
,Fake1DScan
, … [some descriptive name], to which the data grouped by sequence length "column" would be pushed to.This would also allow us to finally display the raw readout counts (which currently just tend to be stored for later analysis in an
OpaqueChannel
) to the user in much the same way as if each experiment were a subscan over the shot index. (In further consequence, this could then also be used to address #267 with a generic function to add histograms to the y axis of any plot.)ExpFragment
result channel, where there is some parent scan, this should be treated exactly like subscan result channels are (context menu to access data, in the future perhaps dockable plots rather than different windows, etc.).@JammyL This is part 3 of the RBM live analysis discussion we had on 2023-05-05 (part 1 and 2 being #388 and #389).