← All projects
NeuroscienceBuilt2026

LarvaTrack

Fruit-fly larva crawling, from a phone video

Measures how far a Drosophila larva crawls in a petri dish from a phone video, so crawling assays don't need a lab camera rig.

−0.6%error against a known path on plain agar
440 pxdish width needed; below that, clips are refused
72.1 mmthe path in the replay above

How it measures

Give it a clip, the dish and the dish's width, and it returns a path length and a replay, so you can see whether it followed the larva or a speck of agar. trackpy does detection and linking, because the agar is covered in specks the same size and shape as a larva. Trajectories out on the dish wall get dropped as glare, and fragments join only across gaps short enough to be the same animal.

The numbers are undercounts on purpose: time the larva was invisible isn't guessed at. For crowded plates, you trace each animal by hand at 10× to 20×.

Single-larva plates: 72.1 mm, 62.2 mm, 44.3 mm.
Single-larva plates: 72.1 mm, 62.2 mm, 44.3 mm.
The raw motion evidence, accumulated and colored by time.
The raw motion evidence, accumulated and colored by time.

Resolution has a cliff

The same recording, downscaled, against its full-resolution answer of 72.1 mm:

Dish in frameMeasuredError
534 px71.4 mm−1%
445 px72.3 mm+0%
392 px112.4 mm+56%
297 px174.0 mm+141%
148 pxnothing found

Past the cliff it returns a confident wrong number rather than a rough one, so those clips get refused. AirDrop, iMessage and iCloud Photos all shrink video, so send the original file.