MicroManager Stage

class acq4.devices.MicroManagerStage.MicroManagerStage(man, config, name)[source]

Bases: Stage

Stage device that uses MicroManager to control motorized stages.

Supports separate XY and Z stage devices through MicroManager adapters.

Configuration options:

  • scale (tuple, optional): (x, y, z) scale factors in m/step (default: (1e-6, 1e-6, 1e-6))

  • xyStage (dict, optional): XY stage configuration
    • mmAdapterName: MicroManager adapter name (e.g., ‘Scientifica’)

    • mmDeviceName: MicroManager device name (e.g., ‘XYStage’)

    • serial: Serial port configuration dict
      • port: Serial port (e.g., ‘COM22’)

      • baud: Baud rate (e.g., 9600)

  • zStage (dict, optional): Z stage configuration
    • mmAdapterName: MicroManager adapter name (e.g., ‘Scientifica’)

    • mmDeviceName: MicroManager device name (e.g., ‘ZStage’)

    • serial: Serial port configuration dict
      • port: ‘shared’ to use same serial as XY stage, or specific port

At least one of xyStage or zStage must be specified.

  • parentDevice (str, optional): Name of parent device for coordinate transforms

  • transform (dict, optional): Spatial transform relative to parent device

Example configuration:

SliceScope:
    driver: 'MicroManagerStage'
    scale: [-1e-6, -1e-6, 1e-6]
    xyStage:
        mmAdapterName: 'Scientifica'
        mmDeviceName: 'XYStage'
        serial:
            port: 'COM22'
            baud: 9600
    zStage:
        mmAdapterName: 'Scientifica'
        mmDeviceName: 'ZStage'
        serial:
            port: 'shared'
abort()[source]

Stop the manipulator immediately.

This method asks the manipulator to stop even if it is being accessed elsewhere. This can cause communication errors, but may be preferred if stopping immediately is critical.

capabilities()[source]

Return a structure describing the capabilities of this device

deviceInterface(win)[source]

Return a widget with a UI to put in the device rack

property positionUpdatesPerSecond

Return the rate at which the device reports position updates.

quit()[source]
setUserSpeed(v)[source]

Set the maximum speed of the stage (m/sec) when under manual control.

The stage’s maximum speed is reset to this value when it is not under programmed control.

startMoving(vel)[source]

Begin moving the stage at a continuous velocity.

stop()[source]

Stop the manipulator.

If the manipulator is currently in use elsewhere, this method blocks until it becomes available.

targetPosition()[source]

If the stage is moving, return the target position. Otherwise return the current position.

The MicroManagerStage device provides motorized stage control through the MicroManager interface, allowing ACQ4 to work with a wide variety of microscope stages supported by MicroManager’s plugin system.

Note: This device has been marked as potentially stale. It may require updates to work with current MicroManager versions.

Configuration

The MicroManagerStage requires specific MicroManager configuration parameters:

  • mmAdapterName: The MicroManager adapter name for the stage

  • mmDeviceName: The MicroManager device name for the stage

  • path: Optional path to MicroManager installation directory

Example configuration:

XYStage:
    driver: 'MicroManagerStage'
    mmAdapterName: 'ASITiger'
    mmDeviceName: 'XYStage'
    path: '/Applications/Micro-Manager'

Dependencies

  • pymmcore (Python wrapper for MicroManager Core)

  • MicroManager installation with matching API versions

  • Appropriate MicroManager device adapters for your stage hardware