Speaker
Description
BEC Widgets is a modular Qt6 (PySide6) GUI framework developed to streamline usage of Beamline Experiment Control (BEC) at the Swiss Light Source, Paul Scherrer Institute. Emphasizing plug-and-play functionality and rapid adaptability, it enhances scientific workflows by allowing dynamic reconfiguration of interfaces—even during live experiments.
Built from independent widget components, BEC Widgets enables users to assemble custom applications by flexibly combining pre-built elements. Interfaces can be created or modified via the command line, interactively in the main application, or visually through Qt Designer. Users can also extend functionality by implementing custom widgets tailored to beamline needs.
Integrated with the BEC system, BEC Widgets uses Redis as a high-performance shared memory backend to synchronize data across all components. This supports seamless interaction with scans, acquisition, live monitoring, automation, and device control. A server–client architecture with RPC ensures GUI stability, isolating it from command-line operations. PyQtGraph-based visualization further boosts real-time data analysis. Crucially, all business logic is kept out of the UI layer, ensuring a clean separation of concerns and maintainable code. Released as open-source software, BEC Widgets invites collaboration and reuse across the scientific community.