ExEngine: an execution engine for microscope and laboratory hardware control
ExEngine is a pure Python toolkit for building microscopy and laboratory hardware control software. Unlike application-specific software that provide tightly integrated device access, control logic, and user interfaces,ExEngine is a flexible intermediary which enables mixing and matching of components from different frameworks within a single application. This approach allows researchers to build custom software that meets their specific needs, without being limited to vertically integrated software stacks.
Key Features:
Configurable Device Backends: Supports hundreds of hardware devices, including those provided by Micro-Manager, as well as an extensible framework for easy integration of new devices and device types.
Adaptable to Multiple Frontends: Compatible with GUIs, scripts, networked automated labs, and AI-integrated microscopy
Powerful Threading Capabilities: Utilities for parallelization, asynchronous execution, and complex, multi-device workflows.
Modality Agnosticism: Adaptable to diverse microscopy techniques thanks to general purpose design.
Modular, Reusable Device Instructions: Building blocks that can be combined to create complex workflows, in order to promote code reuse and simplify experiment design