Flyvis visual baseline — direction response before steering
Research record
- Question
- Does the official Flyvis visual model respond selectively to motion direction on our Linux machine, and can it directly replace our earlier whole-brain model?
- Evidence
- Official Flyvis source 0a69fa2fc8e1bfe1d837d722c252ab5f5d6fcbfa, moving-edge notebook, pretrained ZIP checksum, and the authors' source-known T4/T5 directions. This is a task-trained visual subsystem built from average connectome filters.
- Experiment
- Executed 2026-10-28 on Linux/RTX 3060: official model flow/0000/000; 24 moving-edge movies, 24 uncached same-input re-evaluations, 24 uniform-grey controls. dt 5 ms; one fixed seed; no new training or motor decoder.
- Results
- 8/8 prespecified criteria pass: preferred response exceeds opposite and peak angle error <=30 degrees. Four exact peaks and four one-bin offsets. Repeat max absolute difference 0; grey label difference 0; residual grey temporal range 0.0000532269478 model units. NumPy saved-data audit passes 156 checks.
- Limitations
- One author-selected best-task model and one speed. Deterministic repeats are not independent samples. No original whole-brain rerun, sensory-to-DNa02 bridge, steering, stopping, body, learning, driving or head-to-head superiority test. Model activity is not measured firing rate.
- Reproduction
- Frozen plan, selected upstream hashes, checkpoint hash, constraints and lock, all stimulus pixels and central-column traces, runner, independent auditor, failed preflight history and figure are linked in the manifest.
Sources
- Lappalainen et al., Nature 2024
- Official moving-edge notebook at the tested commit
- Official source-known preferred directions
Run evidence
Task
Test a visual path before trying to make the fly turn. The earlier whole-circuit odor screens remain left-biased and failed their steering criterion. This visual test does not repair or rerun them.
Executed
We adapted the official moving-edge notebook and used its first specified model, flow/0000/000, without selecting a replacement after seeing responses. The authors sorted this ensemble by task performance; this is not an unbiased sample of fitted models.
- Input: bright and dark moving edges, 12 directions at 30-degree intervals, speed 19 in the official stimulus coordinates; integration step 5 ms.
- Conditions: 24 moving movies, the same 24 re-evaluated without response caches, and 24 uniform-grey controls. Every movie has 485 frames and 721 visual pixels. All 65 central-column cell-type traces were saved.
- Readout: T4a–d for bright edges and T5a–d for dark edges. Before inference, we required a larger peak at the source-known preferred direction than at its opposite, and a maximum-response direction within 30 degrees of that reference.
- Execution: Linux, RTX 3060, one CPU thread, PyTorch 2.5.1 CUDA 12.4. Total runner time 128.11 seconds, including stimulus construction and output writing; this is not a simulator-speed comparison.
The activity metric is a peak during the motion window, after subtracting the last pre-motion frame. Values are model activity units, not Hz, millivolts or motor commands. It differs from the paper’s full population-validation score.
Results
8 of 8 readouts passed the frozen criterion. Four peaks matched exactly; four differed by one 30-degree bin. T4b, T4c, T4d and T5c were the one-bin offsets. This tolerance was set before inference.
| Cell | Reference ° | Peak ° | Error ° | Preferred peak | Opposite peak |
|---|---|---|---|---|---|
| T4a | 180 | 180 | 0 | 1.312713 | 0.233662 |
| T4b | 0 | 330 | 30 | 1.218333 | 0.064991 |
| T4c | 90 | 60 | 30 | 1.007759 | 0.000000 |
| T4d | 270 | 300 | 30 | 0.109790 | 0.000188 |
| T5a | 180 | 180 | 0 | 0.783942 | 0.000092 |
| T5b | 0 | 0 | 0 | 0.528230 | 0.040561 |
| T5c | 90 | 120 | 30 | 0.843621 | 0.115951 |
| T5d | 270 | 270 | 0 | 1.683663 | 0.347975 |

Open the full-size figure. Heatmap rows are scaled separately by each cell’s maximum absolute peak for display; diamonds mark the source-known reference direction. The table and 96 raw peaks are unnormalized.
The uncached repeat had maximum absolute response difference 0. Uniform-grey inputs were identical across all direction labels and produced maximum cross-label response difference 0. The largest remaining temporal range under grey was 0.00005322695 model units; the control was not assumed to be perfectly silent. These are deterministic replay/control checks, not independent seeds or biological samples.
A separate NumPy-only auditor recomputed the peaks, criteria, movie equality and control checks from the saved arrays: 156 checks passed. It did not rerun neural inference or validate animal behavior. Model parameter hashes matched before and after all conditions. Full movies and central-column traces: moving, repeat, grey.
Integration check and limits
Flyvis is a visual subsystem with task-trained parameters. This run expanded its average-filter template into 45,669 model units and 1,513,231 directed edges. It is distinct from our earlier 127,400-neuron Shiu spiking model. The template has no FlyWire 630 root-ID correspondence; matching type names alone does not establish a valid interface. See the integration audit.
Visual response is working under this test. Autonomous steering is not established. There is no T4/T5-to-DNa02 bridge, body controller, route policy, stop command or driving test here. No additional local training or biological plasticity was implemented. We did not compare the two models on a shared task, so this is not proof that Flyvis is generally better.
Next · not run
Establish a source-backed visual-to-steering interface with explicit spatial alignment, sign, scale and timing before attaching motion. The separate proposed selective AOTU019 edge-cut/restore experiment remains unrun. No background worker or future experiment was scheduled.
Reproduce
The frozen plan, summary and checkpoint hash, runner, auditor, dependency lock and reproduction steps are included in the manifest. Original inference used source commit 0a69fa2fc8e1bfe1d837d722c252ab5f5d6fcbfa; the official pretrained ZIP matched SHA-256 71c78d4070556a536b13b23ee3139cd2788aa2a9d07d430a223b4edead281db1.
Update record
-
2026-10-28: Source check and Linux execution completed. The first launch stopped before inference on a manifest path spelling (
LICENSEversus the upstreamlicense). The corrected second launch used unchanged model, inputs and criteria. Attempt history and both manifest versions are preserved. This entry records visual response only. -
2026-10-28: Editorial task tracking moved to the visual neural bridge experiment, which includes a failed direction test and a separate direct-drive diagnostic. This does not rerun or replace this visual baseline.