Skip to content

Repository files navigation

pymmcore-openscan

This package provides an extension to pymmcore-gui.

Current features target use cases within the Laboratory for Optical and Computational Instrumentation at the University of Wisconsin-Madison.

Usage

Installation

from pip:

TODO

from github:

pip install 'pymmcore-openscan @ git+https://github.com/gselzer/pymmcore-openscan'

Launching

from the command line:

mmos

from python:

from pymmcore_openscan import run
run()

Development

Developers should use uv to create a suitable development environment:

git clone git@github.com:gselzer/pymmcore-openscan
cd pymmcore-openscan
uv sync

To run this GUI, you'll need to add the following to an existing micro-manager installation:

  1. mmgr_dal_OpenScan.dll from openscan-mm-adapter
  2. A few files from the TCSPC Package from Becker & Hickl:
  • dcc64.dll, needed for the DCC - instructions here, found at C:\Program Files (x86)\BH\DCC\DLL\dcc64.dll
  • spcm64.dll from C:\Program Files (x86)\BH\SPCM\DLL\
  • spcm.ini from C:\Program Files (x86)\BH\SPCM\DLL\
    • IF SIMULATING, you must set the simulation flag to 180 (or whatever model number you are simulating):
    simulation = 180     ; 0 - hardware mode(default) ,
                   ; >0 - simulation mode (see spcm_def.h for possible values)
    
  1. OpenScanBHSPC.osdev from OpenScan-BH_SPC
  2. OpenScanNIDAQ.osdev from OpenScan-OpenScanNIDAQ

Testing

Testing this package is tricky, because we don't have access to the DLLs (and hardware) necessary to enable all features. For that reason, tests are designed to:

  • Ensure unsurprising behavior when devices and/or micro-manager adaptors for those devices are unavailable.
  • Ensure functionality is accessible from pymmcore-gui.

The tests we do have can be run from the command line:

uv run pytest

Examples

About

A set of pymmcore widgets for use in OpenScan setups (WIP)

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages