Skip to main content

Micro-Manager PythonEventServer

Project description

pymm-eventserver

Event Server to receive Micro-Manager events in python via zeromq

This module functions as a plugin for Micro-Manager and takes a lot of inspiration and some functionality from PycroManager (https://pycro-manager.readthedocs.io/en/latest/index.html)

The server follows the logic of Pycromanager:

Install using pip

pip install pymm_eventserver
python
>>> import pymm_eventserver.setup
>>> pymm_eventserver.setup.install_java_server()
sequenceDiagram
    MicroManager->>ZMQ: Event
    activate MicroManager
    Note over MicroManager: Store java object
    ZMQ->>PythonEventServer: Event-ID
    PythonEventServer->>Code: pyqtSignal
    Code-->>ZMQ: Function call (Event-ID)
    ZMQ-->>MicroManager: Call on Java object
    MicroManager->>ZMQ: Output
    ZMQ->>Code: Output
    Note over MicroManager: Keep object for <br> later calls
    deactivate MicroManager

The exception are events that contain image data. As keeping those object in memory on the java side will lead to pretty heavy memory usage in the ImageJ heap space pretty quickly. So these are sent directly over the zeromq bus. If they are not received correctly, the image data will be lost.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymm_eventserver-0.1.19.tar.gz (21.6 kB view hashes)

Uploaded Source

Built Distribution

pymm_eventserver-0.1.19-py3-none-any.whl (20.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page