Skip to content

Releases: Gronemeyer/mesofield

v2.0.0

20 Jan 17:07
ca9b156
Compare
Choose a tag to compare
v2.0.0 Pre-release
Pre-release

What's Changed

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

23 Dec 00:26
Compare
Choose a tag to compare
Test Release Pre-release
Pre-release
Initial Commit

Includes updated README and requirements.txt