User Guide

After completing the Installation/setup, there are two options for running Pycro-Manager: It can be run alongside the Micro-Manager application by launching Micro-Manager the desktop in the typical way, or it can be run in Headless Mode. In this mode, an invisible backend is launched as a separate process, and the Micro-Manager GUI does not appear.

Pycro-Manager provides both high-level and low-level interfaces for controlling microscopes, which can be used independently or in combination.

The high-level interface revolves around the Acquisition class, which provides control of common microscopy experiments like acquiring 3D volumes, time series, and multi-channel data. It also supports customization that enables extensions to non-standard hardware and acquisition schemes. The data saved by an Acquisition can be accessed as numpy or dask arrays using the Dataset class. Acquisition provides its own image viewer, which can be disabled along with the Micro-Manger GUI (see Headless Mode), enabling the pycromanager to be used as invisible backend acquisition system for custom applications.

Low-level hardware control is possible through the Micro-Manager Core. This can be used to do things like, for example, getting/setting the position of an XY stage or focus drive.

Workflows that utilize existing Micro-manager plugins written in Java or scripts written in beanshell can be executed through Python by using the Java-Python translation layer used by Pycro-Manager. Examples are shown in the Calling Micro-manager Java (“Studio”) API, Calling custom Java code and Controlling Micro-Magellan sections.