Skip to content

Draft: Provide user calibration for MCA controller

The PR !4740 (merged) have to be merged before.

Here is a proposal to provide user calibration for MCAs as scan metadata.

The user can define a user calibration in the MCA controller.

mca1.set_user_calibration(1,2,3)  # it's based on a polynomial function c0 + c1*x + c2*x**2

For now this information is stored inside the BLISS session (no redis storage), and stored per controller (not per detector)

This information is then transmitted as metadata to the scan.

Flint is able to read it and to display the MCAs as it was described by the user in BLISS.

That's obviously only an helper for user display.

DEMO_SESSION [5]: mca1.set_user_calibration(1,2,3)
DEMO_SESSION [6]: flint(); loopscan(5,0.1,mca1)

Screenshot_from_2021-06-18_16-42-01

This can be used as basic to talk about:

  • how to store this data as metadata
  • what to store
  • what people expect for such controller API (which is out of my business)

This could be used by Daiquiri, the Nexus writer, Flint

See also #187

Edited by Valentin Valls

Merge request reports