Event-driven acquisition (EDA)
'event-driven-acquisition' is a Python library for advanced microscope control routines to enable acquisitions to react to specific biological events of interest.
More information on the project it was first used on can be found in the bioRxiv article.
See the Documentation for more details.
Components of EDA
Analyzers
Analyzers receive an image or images from the microscope. Their task is to reduce the information in these images to a single or a set of parameters. These parameters are passed on to interpreters.
Interpreters
An interpreter receives parameters from an analyzer and uses these to take a decision for how to proceed with acquisition. This decision is passed on to an actuator. The interpretation can for example take into account the temporal context of results from the analyzer.
Actuators
The responsibility of an actuator is both to handle start/stop of acquisitions and to apply the decisions from an interpreter to the ongoing acquisition.
Installing Event-driven acquisition
- Install the latest version of micro-manager2.0
pip install eda_plugin- Install the Micro-Manager plugins:
>>> import eda_plugin>>> eda_plugin.install_mm_plugins()- Choose the main Micro-Manager folder in the file dialog (e.g. C:\Program Files\Micro-Manager-2.0)
- Run micro-manager with the zmq server (pycromanager installation)
- Run the PythonEventServer from Plugins -> Developer Tools -> Python Event Server
Now you can run one of the examples
import eda_plugin
eda_plugin.examples.basic()
# or if you have CUDA and tensorflow installed
eda_plugin.examples.pyro()
Or construct your own EDA loop e.g.
import sys
from PyQt5 import QtWidgets
from eda_plugin.utility.event_bus import EventBus
import eda_plugin.utility.settings
from eda_plugin.eda_gui import EDAMainGUI
from eda_plugin.interpreters.frame_rate import BinaryFrameRateInterpreter
from eda_plugin.analysers.image import ImageAnalyser
from eda_plugin.actuators.micro_manager import MMActuator, TimerMMAcquisition
eda_plugin.utility.settings.setup_logging()
app = QtWidgets.QApplication(sys.argv)
event_bus = EventBus()
gui = EDAMainGUI(event_bus, viewer=True)
actuator = MMActuator(event_bus, TimerMMAcquisition)
analyser = ImageAnalyser(event_bus)
interpreter = BinaryFrameRateInterpreter(event_bus)
gui.show()
actuator.gui.show()
interpreter.gui.show()
sys.exit(app.exec_())
Metadata
Release files for eda-plugin 0.2.25
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| eda_plugin-0.2.25.tar.gz | 18.1 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| eda_plugin-0.2.25-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.2 MB
Release files / eda_plugin-0.2.25.tar.gz
| Download URL | eda_plugin-0.2.25.tar.gz |
|---|---|
| Size | 18.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e5bbbc22ae9d30a08ffb2fe474f840947a9f7924a28f359e0cc2d7532c7ca2c4
|
|
BLAKE2b-256 checksum How to use checksums |
180ae49dad764c684c0367d400cc6cd669f829f838222b29145169369f68d917
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.6
|
Release files / eda_plugin-0.2.25-py3-none-any.whl
| Download URL | eda_plugin-0.2.25-py3-none-any.whl |
|---|---|
| Size | 18.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
723d39241a352af9cbee06dc9552d6723401df78eb618ee0917f68db098db412
|
|
BLAKE2b-256 checksum How to use checksums |
ce078ab090b35cea270dc106766f64e9ce905a66d52a26a8af0f3b54a251cb50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.6
|