Open-source software for quantitative animal behavior
The Straw Lab develops research tools for measuring the behavior of freely moving animals. Our current software spans camera acquisition, marker-free 2D and 3D tracking, closed-loop experiments, high-resolution insect videography, and data visualization. The projects are free and open source.
From scientific question to instrument
| Scientific need | Straw Lab system | Example output |
|---|---|---|
| Track multiple freely moving animals in 3D with low latency | Braid and Strand Camera | Multi-camera real-time 3D tracking and virtual reality for freely moving animals |
| Record a small, fast animal at high resolution over a large outdoor area | FLO | High-resolution outdoor videography of insects and its open dataset |
| Manipulate visual feedback while an unrestrained animal moves | FreemoVR with real-time tracking | Closed-loop virtual reality in flies, fish, and mice |
Braid — multi-camera 3D tracking
Braid is the Straw Lab's premier software platform. It synchronizes multiple cameras and tracks several animals or other moving objects in 3D without markers. Its low-latency output supports closed-loop behavior experiments, and its web interface permits remote operation. Braid is the actively developed successor to flydra.
The Braid and Strand Camera user guide covers installation, configuration, acquisition, tracking, and data formats. The curated developer-documentation overview links the project-owned APIs without promoting bundled dependency documentation. The BRAIDZ viewer visualizes Braid tracking files, and the Braid April Tag Calibration Tool generates multi-camera calibrations from April tag detections.
Strand Camera — single-camera 2D tracking
Strand Camera provides low-latency camera acquisition, marker-free 2D tracking, and timestamped video recording. It can operate independently for single-camera experiments or supply synchronized image measurements to Braid. Python image processing can integrate methods such as DeepLabCut when experiments require learned pose estimation.
FLO — Fast Lock-On insect tracking
FLO actively steers a camera to keep a small, fast animal centered in the frame. It combines Strand Camera with motor control for high-resolution outdoor videography, including servo, gimbal, and drone-based systems.
Other software
- Sunbeam is a graphical application that lets non-programmers launch JupyterLab with a selection of Python packages without using the command line.
cam-geomis a Rust crate providing geometric camera models for photogrammetry and multi-view geometry.iana-time-zoneis a Rust crate that detects the current system's IANA time-zone identifier.
Earlier systems
FreemoVR — virtual reality for freely moving animals
FreemoVR uses real-time 3D tracking and perspective-correct projection to place unrestrained animals in closed-loop visual environments. It has been used with flies, fish, and mice.
flydra
flydra established real-time multi-camera 3D tracking for freely flying animals and is superseded by Braid.
FlyMAD
FlyMAD enabled rapid thermogenetic and optogenetic control of freely walking Drosophila. These earlier projects remain available for reproducibility and for researchers maintaining existing experiments.
For the papers, datasets, and software releases associated with these systems, see publications and research outputs.
Scientific collaboration
The lab is interested in applying and extending these systems with other research groups, especially for drone-based insect tracking and machine-learning methods for tracking and visual navigation. See collaboration opportunities.