The Project Aeon template repository contains a workflow demonstrating the fundamental building blocks of an experimental acquisition system using Aeon components. These components are part of the Project Aeon Platform, a collection of Bonsai and Python packages designed to support standardized, large-scale, and reproducible experiments. This template provides a full acquisition pipeline, including the specification of a Domain-Specific Language for the task, establishing communication and control over Project Aeon and Harp hardware, acquisition and logging of data, and experimental metadata.
Experimental workflows to execute full Project Aeon experiments can be found at the aeon_experiments
repository, and detailed documentation and guidance on Project AEON Habitat construction, data handling and control can be found here
The Project Aeon acquisition framework runs on the Bonsai visual programming language. This repository includes installation scripts that automatically download and configure a reproducible, self-contained Bonsai environment to run all acquisition systems in the foraging arena. However, a few system dependencies and device drivers must be installed separately before running the environment configuration script.
These should only need to be installed once on a fresh system. They are not required if simply refreshing the installation or deploying to a new folder.
- Windows 10
- Visual Studio Code (recommended for editing scripts and Git commits)
- .NET Framework 4.7.2 Developer Pack (required for IntelliSense when editing code scripts)
- Python 3.10 (required for bootstrapping Python environments)
- Git for Windows (recommended for cloning and manipulating this repository)
- Visual C++ Redistributable for Visual Studio 2012 (native dependency for OpenCV)
- Spinnaker SDK 1.29.0.5 (device drivers for FLIR cameras)
- On the FLIR website:
Download > archive > 1.29.0.5 > SpinnakerSDK_FULL_1.29.0.5_x64.exe
- On the FLIR website:
- CUDA 11.3 (for SLEAP multi-animal tracking)
- Select Custom install and check
CUDA > Development
andCUDA > Runtime
ONLY (uncheck everything else)
- Select Custom install and check
The workflow is designed to work with three FLIR Spinnaker Blackfly S cameras, BFS-U3-16S2M. The workflow itself configures the Blackfly S cameras. Each camera should be connected to the acquisition computer using USB 3.1. Cameras are assigned through their unique serial numbers, so the order of connection is not important.
Harp devices are synchronized in a hub-and-spoke topology using a ClockSynchronizer board. Cameras are triggered simultaneously using one of two independent PWM pulses generated by an OutputExpander board (the VideoController
). Hirose 6-pin GPIO cables can be used to connect the trigger line to the cameras.
A "patch" is controlled independently by an OutputExpander board (Patch1
). This board monitors the wheel encoder and controls the FED3 feeder module. The patch is powered by USB to continuously charge the FED3 battery, with a digital line coming from the Expander board to trigger pellet delivery. Detection of whether a pellet has been delivered in the chute is done using a digital line from the collector of the photo-transistor built into the FED3 through a 1 kΩ pull-up resistor.
A Radio Frequency Identity Reader (RFID) board is placed under the feeder patch and connected to the acquisition computer via USB 2.1. Such readers are utilised in Aeon experiments to confirm the identity of experimental subjects with subcutaneous identifying chips. An ultrasound sensitive microphone is also connected to the acqusiiton computer via USB 2.1.
Automatic weighing of animals is performed using the Ohaus Navigator NVT2201 Electronic Balance via its USB interface. The following setup procedure must be completed on the balance before it is connected to the system for the first time:
- Rotate the transportation lock under the balance to the unlocked position.
- Level the balance so the level indicator bubble on the top-right corner of the front panel is centered.
- Connect the USB interface to the communication port under the balance and then to the computer.
- Hold the Tare button until the display changes to
Menu
, then release the button. The display should now show.C.A.L.
. - Press the
Print / No
button until the menu showsU.S.b.
. - Press the
Zero / Yes
button to start USB interface configuration. Use the following settings:- On-Off: On
- Baud: 9600
- Parity: 8-none
- Handsh: none
- End: End
- In the main menu, navigate to
Mode
and set:- Stable: Off
- In the main menu, navigate to
P.r.i.n.t
and set:- Stable: Off
- A.Print: Cont
- End: End
All these devices are connected to the computer and configured, by default, at the following COM ports:
COM Port | Device Name |
---|---|
COM1 | ClockSynchronizer |
COM2 | VideoController |
COM3 | Patch1 |
COM4 | Nest |
COM5 | NestRfid1 |
COM6 | Patch1Rfid |
The .bonsai
folder contains a snapshot of the runtime environment required to run the template on a minimal foraging arena. The deploy.cmd
batch script is included in the top level of this repository to automate the download and configuration of this environment. Simply double-clicking or running this script from a terminal will launch the necessary PowerShell commands as long as an active internet connection is available. After completing this script, the miniAeon.bonsai
workflow can be opened, edited, and run through the executable Bonsai.exe
.
If the environment configuration becomes corrupted, you can revert and reinstall the .bonsai
environment by re-running the deploy.cmd
script.
WIP
WIP
If you use this software, please cite it as follows:
Sainsbury Wellcome Centre Foraging Behaviour Working Group. (2023). Aeon: An open-source platform to study the neural basis of ethological behaviours over naturalistic timescales. https://doi.org/10.5281/zenodo.8411157