Originally posted by gubaidulinvadim February 20, 2026
The aim of this discussion is to identify measurement components that are present in all standard measurements and the level of customisation that is necessary. Please provide your input, based on this input, a suitable implementation can be proposed.
As part of the pyAML project, we aim to standardise how measurements are conducted, logged, and reused across different control modes (live, model, shadow, etc.). The goal is to create a flexible, reusable, and maintainable framework for measurements—such as orbit response matrices, tune corrections, and dispersion measurements, etc. Robustness, error handling, and user customisation should be ensured.
This discussion is based on the pyAML User Interface Specification (Chapter 6) and recent feedback from the dedicated working group (https://github.com/orgs/python-accelerator-middle-layer/discussions/41).
Use Case Definition
We want to enable users to:
- Run standardised measurements (e.g., ORM, tune correction) across different control modes.
- Customise measurement behaviour via callbacks (e.g., error handling, intermediate checks).
- Ensure measurements are reproducible, with metadata and state management.
- Measurement log generation
- Handle interruptions (e.g., Ctrl+C) gracefully and restore initial states.
- Reusability of common parts between different measurements (Chromaticity and Dispersion measurement, for example)
- Support real-time feedback (e.g., progress bars, interactive plotting).
Possible generic stages/components of any measurement are:
- Initial data loading (devices to use, response matrices loaded, etc.)
- Metadata
- Saving the initial state / final state and going back
- General function to take data + metadata
- Measurement logging, possible progress bar, callbacks
- Optional intermediate checks for when to record data or interrupt measurement
- Saving of measurement log
- Measurement output saving
- Measurement output analysis
- Interactive plotting
Discussed in https://github.com/orgs/python-accelerator-middle-layer/discussions/48
Originally posted by gubaidulinvadim February 20, 2026
The aim of this discussion is to identify measurement components that are present in all standard measurements and the level of customisation that is necessary. Please provide your input, based on this input, a suitable implementation can be proposed.
As part of the pyAML project, we aim to standardise how measurements are conducted, logged, and reused across different control modes (live, model, shadow, etc.). The goal is to create a flexible, reusable, and maintainable framework for measurements—such as orbit response matrices, tune corrections, and dispersion measurements, etc. Robustness, error handling, and user customisation should be ensured.
This discussion is based on the pyAML User Interface Specification (Chapter 6) and recent feedback from the dedicated working group (https://github.com/orgs/python-accelerator-middle-layer/discussions/41).
Use Case Definition
We want to enable users to:
Possible generic stages/components of any measurement are: