Releases: Gronemeyer/mesofield
v2.0.0
What's Changed
- Pymmcore-device-objects by @Gronemeyer in #1
Devices and hardware:
Loaded from a yaml file, replacing the params.json used previously
-
pymmcore-plus device object are used and camera device cores are referenced from the ExperimentConfig
-
ExperimentConfig still stores hardware object as an attribute
-
Recursive logic for loading device parameters using pymmcore-plus CMMCorePlus object methods
-
Functionality for loading a camera such as arduino cam is present
Flattened file structure:
Solves unidentifiable circular import problem preventing MMCore and PyQt event signaling
-
Merged engines into engines.py
-
Flattened mesofield.gui module
ExperimentConfig class cleanup:
-
removed 'protocol' parameter
-
ExperimentConfig._generate_unique_filename() for all file path generation
-
BUG: encoder path is re-referenced inside of the ExperimentConfig class, resulting in the conguration file CSV having the encoder path appened witht "_1" while the encoder file itself does not contain the unique suffix number (as the number appear only when the file is already detected in the file system)
Other changes:
-
viewer ImagePreview widget has an InteractivePreview that uses pyqtgraph as an option
-
Standardized CMMCore tuple of core objects passed to GUI objects as tuple[]
-
Fixed sizes for ConfigController widget and SpeedPlotter widget
-
Formalized Qlabels for viewers to display the name of the camera object loaded\
-
Removed DataManager and simplified the encoder SerialWorker to only emit raw clicks and speed calculations via respective pyqt signals.
-
Refactored main cli interface from Click to argparse for maintainability
Full Changelog: v1.0.0-beta.1...v2.0.0
Test Release
Initial Commit Includes updated README and requirements.txt