A repository with source code for long-term, freely moving, electrophysiology recordings in mice.
Pre-requisites for running the project can be found here.
For convenience, once third-party dependencies are installed, Bonsai and python virtual environments can be bootstrapped by running:
./scripts/deploy.ps1from the root of the repository.
The Pirouette platform is instantiated by a set of two settings files that strictly follow a DSL schema. These files are:
rig.jsonsession.json
Examples on how to generate these files can be found in the ./Examples directory of the repository. Once generated, these are the the only required inputs to run the Bonsai workflow in ./src/main.bonsai.
The workflow can thus be executed using the Bonsai CLI:
"./bonsai/bonsai.exe" "./src/main.bonsai" -p SessionPath=<path-to-session.json> -p RigPath=<path-to-rig.json>The platform exposes a few CLI tools to facilitate various tasks. Tools are available via:
uv run pirouette <subcommand>for a list of all sub commands available:
uv run pirouette -hDSL schemas can be modified in ./src/aind_behavior_pirouette/rig.py.
Once modified, changes to the DSL must be propagated to json-schema and csharp API. This can be done by running:
uv run pirouette regenerate