Skip to content

Abstract Microscope base class and introduce ThermoDigitalTwin#39

Open
DomPTech wants to merge 1 commit intopycroscopy:PyTangofrom
DomPTech:PyTango-dev
Open

Abstract Microscope base class and introduce ThermoDigitalTwin#39
DomPTech wants to merge 1 commit intopycroscopy:PyTangofrom
DomPTech:PyTango-dev

Conversation

@DomPTech
Copy link
Collaborator

@DomPTech DomPTech commented Mar 7, 2026

Introduced a digital twin implementation for the ThermoMicroscope for simulated image acquisition and tests. The main changes include the addition of the ThermoDigitalTwin device, updates to the abstract base class pattern for Tango devices, and refactoring of test infrastructure to use the new digital twin.

Digital Twin:

  • Added the ThermoDigitalTwin Microscope in asyncroscopy/ThermoDigitalTwin.py
  • Added tests in tests/test_digital_twin.py
  • Added example notebook in notebooks/Digital_Twin.ipynb
  • Refactored tests/conftest.py to use ThermoDigitalTwin for all simulated microscope tests

Abstract Base Class:

  • Modified Microscope in asyncroscopy/Microscope.py to use a combined metaclass (CombinedMeta) that merges Tango's DeviceMeta and Python's ABCMeta (hopefully this fixes the issue that we discussed with the abstract methods)
  • Converted placeholder methods in Microscope to proper @abstractmethods

Other:

  • Removed the unused pyside6 dependency from pyproject.toml so it can run on the supercomputer

…in` for simulated operations (along with tests and notebook example); removed pyside from pyproject
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant