pycromanager
is a Python library for customized microscope hardware control and integration with image processing. It works together with Micro-manager and Micro-magellan, or can be used as a standalone backend system for controlling microscope hardware.
Check out to the journal article or the documentation for an idea of the capabilities and how to get started.
Have a cool example of something you've done with pycromanager
or an idea for improvement? Reach out on the issues page.
- Download the lastest version of micro-manager 2.0
- Install pycro-manager using
pip install pycromanager
- Run Micro-Manager, select tools-options, and check the box that says Run server on port 4827 (you only need to do this once)
To verify everything is working, run the following code:
from pycromanager import Core
core = Core()
print(core)
which will give an output like:
<pycromanager.core.mmcorej_CMMCore object at 0x7fe32824a208>
Upon creating the Bridge, you may see an error with something like:
UserWarning: Version mistmatch between Java ZMQ server and Python client.
Java ZMQ server version: 2.4.0
Python client expected version: 2.5.0
In this case case your Micro-manager version Pycro-manager versions are out of sync. Usually, this can be fixed by downloading the latest versions of both. Uprgade to the latest Pycro-manager with:
pip install pycromanager --upgrade
We welcome community contributions to improve Pycro-manager, including bug fixes, improvements to documentation, examples of different use cases, or internal improvements. Check out the contributing guide to see more about the workflow. Areas where community contributions would be especially helpful can be found on the Issues page with a Help wanted label
Information about how to setup a development environment for the Java parts of Pycro-manager can be found here