OxfordIonTrapGroup / ndscan

N-dimensional scans for ARTIQ
GNU Lesser General Public License v3.0
19 stars 16 forks source link

Support "synthetic scan" result channels #390

Open dnadlinger opened 7 months ago

dnadlinger commented 7 months ago

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.)



@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).

dnadlinger commented 7 months ago

Potentially related: https://github.com/OxfordIonTrapGroup/ndscan/issues/153