The fly's oldest trick.

Follow anything that moves. Motion tracking.

PlatformsPython, JavaScript, Rust
EngineFlyCore v0.1.0
Weightsv0.1.0-beta
Input portsFrames (compound eye) → visual (11,390); Seed point → olfactory (2,282)
Output portsPoint + velocity (optic-lobe subnet) ← optic
Co-processorsnone
The 3D view needs WebGPU or WebGL2.

Install

Python
pip
pip install flycore
Rust
Cargo
cargo add flycore
JavaScript
Terminal
npm i @flylabs/flycore

Usage

Track follows a chosen object through a video with the connectome's motion detectors: no class labels, no re-detection, just a point and a velocity, every frame.

Python
import flycore

brain = flycore.load("flylabs/track")      # engine + weights + adapters
tracker = brain.seed(frame0, point=(410, 220))
for frame in video:
    p, v = tracker(frame)
# p -> (x, y); v -> (vx, vy) px/s

Figures

Figures marked target are design targets for the first release, not measurements.

Throughput120 fpstarget Apple M-series, optic lobe subnet
AUC0.78target LaSOT single-object tracking

Limits

  • Single object per instance; run several for several.
  • Beta: optic-lobe subnet only, not the full connectome.