User Guide
Starting Micro-Manager
After completing the Installation/setup, Pycro-Manager offers two running modes:
Alongside Micro-Manager’s desktop application. This is recommended for new users, as it provides access to the Micro-Manager GUI for microscope configuration and hardware testing.
Headless Mode, where the Micro-Manager Core is launched programmatically without the desktop application.
The Backends page provides more information on pycro-manager’s architecture and headless mode (which is not required for most users).
High-level APIs
The Acquisition class provides the best starting point for most users. It offers:
Control of common microscopy experiments (3D volumes, time series, multi-channel data)
Customization for non-standard hardware and acquisition schemes
Data access via the
Datasetclass asnumpyordaskarraysA built-in image viewer (which can be disabled for custom applications)
For more information, see Acquisitions.
Low-level APIs
The Micro-Manager Core allows direct hardware control, such as:
Getting/setting XY stage or focus drive positions
Snapping a single image on a camera
For more information, see Low-level Control with MMCore.
Java Control Through Python
In addition to the Python interfaces, Pycro-Manager can call Java code from Python (using the PyJavaZ library). This offers:
Micro-Manager UI Control: Interact with the Micro-Manager user interface programmatically through the Calling Micro-manager Java (“Studio”) API.
Plugin Support: Control Micro-Manager plugins, such as Micro-Magellan, from Python. See Controlling Micro-Magellan for more information.
Legacy Script Compatibility: Run existing Micro-Manager scripts written in Beanshell with minimal modifications.
Custom Java Integration: Incorporate your own Java code into Python workflows. See Calling custom Java code for details.