Photometry (planned)¶
Design stage
Fibre-photometry integration is not fully shipped. MSW provides the
building blocks (a shared session container, an acquisition manifest, and TTL
barcode sync), but there is no turnkey msw photometry command or bundled
photometry host plugin yet. This page describes the intended approach and the
current limitations. For the full design discussion see
Multi-Acquisition & Photometry.
Intended approach¶
Photometry is treated as a second acquisition recorded in parallel with MSW behaviour inside a shared session container, aligned afterwards by TTL barcodes. Two integration levels are envisaged:
Passive parallel recording (recommended starting point)¶
MSW and the photometry system record independently. MSW emits TTL barcodes on a BNC output; the photometry rig records the same barcode line on a digital input. The photometry files are saved into a parallel acquisition folder inside the MSW session container, and the barcodes align the two streams offline — no direct software coupling required. See Barcode Sync.
<session_container>/
├── acquisition_manifest.yaml
├── <msw_behaviour_acquisition>/ ← MSW behaviour
└── <photometry_acquisition>/ ← photometry, aligned via barcodes
Photometry as an MSW host plugin¶
If the photometry system exposes an API (HTTP/ZMQ), it can implement the MSW
HostSessionProtocol and register a msw.host entry point, so msw run --host
photometry:<url> attaches recording lifecycle to the task. This path is
sketched in the concept page but is not shipped as a bundled plugin.
Current limitations¶
- No bundled photometry command or plugin. There is no
msw photometrysubcommand and no shipped photometry host plugin; the passive-recording path above is the practical option today. - Single host per run. Only one
--hostmay be attached to a run, so photometry-as-host and Open Ephys-as-host cannot both be plugins in the same session. Use passive parallel recording for the second system. - No cross-acquisition alignment helpers. MSW supplies TTL barcodes as the
alignment primitive; automatic cross-stream timestamp alignment is not yet part
of the MSW post-processing API. Decode and align with
ttl-barcoderdirectly.
See also¶
- Multi-Acquisition & Photometry — full design
- Barcode Sync
- Record with Open Ephys