Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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

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. Cameras run on either the MicroManager or an OpenCV backend.

Acquisitions writes an AcquisitionManifest declaring what files saved according to the mesokit-schema type contract.

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 .

or

pip install mesofield

Register this machine's hardware once, then scaffold an experiment against it:

mesofield rig new my-rig          # write a hardware.yaml template to edit
mesofield rig list                # show rigs registered on this machine
mesofield init my-experiment      # scaffold an experiment (--rig my-rig to skip the prompt)

Launch the acquisition GUI by pointing at a rig name or a path:

mesofield launch dev                        # mock rig, no hardware required
mesofield launch my-rig                     # a registered rig by name
mesofield launch path/to/experiment/        # dir: procedure.py + experiment.json + hardware.yaml
mesofield launch path/to/experiment.json    # rig + params (sibling hardware.yaml auto-detected)

A scaffolded experiment can also be run headless with python procedure.py.

Beyond acquisition, the CLI is grouped by task — run mesofield <group> --help:

Command Purpose
mesofield launch | init | playback | viewer acquisition workflow
mesofield rig ... manage this machine's canonical hardware.yaml rigs
mesofield datakit ... build, explore, profile, and inspect datasets
mesofield process ... batch-process and convert recorded data
mesofield tools ... setup, export, and diagnostic utilities

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mesofield-0.5.0b0.tar.gz (44.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mesofield-0.5.0b0-py3-none-any.whl (44.0 MB view details)

Uploaded Python 3

File details

Details for the file mesofield-0.5.0b0.tar.gz.

File metadata

  • Download URL: mesofield-0.5.0b0.tar.gz
  • Upload date:
  • Size: 44.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mesofield-0.5.0b0.tar.gz
Algorithm Hash digest
SHA256 2823fadb4f7af73b3f43bd6638bbb321ffa9057bfdad0db9fe8aabdcce9f3ed1
MD5 e8fc4c0d8c3e483c1f6b479a390f93a2
BLAKE2b-256 46cf14410bed4eeb492b8b8885f1caa07a52e3745192f3075e2b35809e23429b

See more details on using hashes here.

Provenance

The following attestation bundles were made for mesofield-0.5.0b0.tar.gz:

Publisher: release.yml on Gronemeyer/mesofield

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mesofield-0.5.0b0-py3-none-any.whl.

File metadata

  • Download URL: mesofield-0.5.0b0-py3-none-any.whl
  • Upload date:
  • Size: 44.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for mesofield-0.5.0b0-py3-none-any.whl
Algorithm Hash digest
SHA256 dae42d3db0dc15c958c7dfad601eaa2b00b6c927b3e8f3cbea9e68b6f25178ab
MD5 d1db9f51afc87d9fb4fd21bd972cbb3d
BLAKE2b-256 991e44ac2cdef0640d0223258a6d0ee6cd7695485dbb12c16898d369b50e11e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for mesofield-0.5.0b0-py3-none-any.whl:

Publisher: release.yml on Gronemeyer/mesofield

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.5.0b0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page