__    __     ______     ______     ______     ______   __     ______     __         _____
/\ "-./  \   /\  ___\   /\  ___\   /\  __ \   /\  ___\ /\ \   /\  ___\   /\ \       /\  __-.
\ \ \-./\ \  \ \  __\   \ \___  \  \ \ \/\ \  \ \  __\ \ \ \  \ \  __\   \ \ \____  \ \ \/\ \
 \ \_\ \ \_\  \ \_____\  \/\_____\  \ \_____\  \ \_\    \ \_\  \ \_____\  \ \_____\  \ \____-
  \/_/  \/_/   \/_____/   \/_____/   \/_____/   \/_/     \/_/   \/_____/   \/_____/   \/____/

Mesofield is a PyQt6-based framework for running real-time, multi-camera neuroscience experiments. It coordinates hardware via serial connections and MicroManager (through pymmcore-plus custom MDAEngines and multi-CMMCorePlus instancing) and manages experiment configuration, acquisition orchestration, and data logging. The project is aimed at laboratory use and is not a full production package; some specialised knowledge of device hardware and MicroManager device configuration is necessary to get started.

Mesofield acquisition window

Documentation#

Documentation lives at gronemeyer.github.io/mesofield and is split by audience:

  • Tutorial — the fastest path from a fresh conda env to a working acquisition on your hardware.

  • User Guide — for experimenters running acquisitions: launching the GUI, writing experiment.json, interpreting the on-disk output.

  • Developer Guide — for developers extending mesofield: custom devices, Procedure subclasses, frame processors, threading models.

  • API Reference — auto-generated from docstrings.


Quick start#

conda create -n mesofield python=3.12 -y
conda activate mesofield
pip install -e .

Launch an acquisition by pointing at your rig — experiment.json is optional:

mesofield launch path/to/hardware.yaml      # rig only (author params in the GUI)
mesofield launch path/to/experiment.json    # rig + params (sibling hardware.yaml auto-detected)
mesofield launch path/to/experiment/        # a directory containing either

Scaffold a new experiment:

mesofield new my-experiment

For end-to-end setup, follow the Tutorial.


System requirements#

Tested on Windows 10/11. For multi-camera acquisition with large files we recommend ≥ 32 GB RAM, a 12th-gen Intel i7 or equivalent, and fast local NVMe storage for the experiment directory.


License#

MIT — see LICENSE.