What reaches T5
Goal
T5 is the fly’s detector for moving dark edges (OFF edges). There are four subtypes, T5a–d, one per direction of motion, and about 1,700 cells of each, one per column of the eye. Each T5 cell compares a fast and a delayed copy of the darkening signal from neighbouring columns. It gets them from four medulla cell types, all part of the OFF channel: Tm1, Tm2 and Tm4 (fast relays of L2’s darkening signal) and Tm9 (a slower relay, driven by L3). It also gets inhibition from CT1, one very large inhibitory cell per optic lobe with a branch in every column. The motion pipeline chapter walks through the circuit; its glossary names every type used here.
The operating-point sweep
raised --r-base to 100 Hz. That woke Tm1, Tm2 and Tm4 (7.5–8.9 Hz),
but T5 stayed at exactly 0 Hz in every direction on the real imago.
The shuffled control fired T5 at about 1 Hz with no direction
selectivity. This entry asks why T5 is silent. There are two
candidate answers. T5 could be braked: inhibition dominates its
input, as L1 brakes Mi1 on the ON path. Or it could be
under-powered: its inputs are excitatory but too weak at these
rates to reach threshold. The answer comes from the same accounting
as the lamina-drive entry,
after adding Tm9 and CT1 to the probe’s stage overlay so their rates
are measured rather than guessed.
A scratch stage-drive run before this entry named the T5 inputs:
Tm9, Tm2, Tm1, Tm4 excitatory, CT1 inhibitory, plus T5 recurrence, at
an all-input net of +16 to +21 mV per spike on the real imago and no
structure on the shuffled one. That was treated as a hypothesis to
reproduce, and the “all inputs” table below reproduces it.
Setup
- code: the stage overlay gained Tm9 and CT1 in
ad973b6(“Probe: add Tm9 and CT1 to the stage overlay”). The probe reports and the first twostage-drivereports record git describea9c0298-dirty; the laterstage-drivereports record8405dfe. Another agent was committing book pages on the same branch in parallel:a9c0298and8405dfeare its book commits, and-dirtyis its uncommitted book edits.git diff ad973b6 8405dfe -- src scripts testsis empty, so every run used the code ofad973b6. - machine: straylight (AMD Ryzen AI Max+ 395, Radeon 8060S, Linux),
device cpu. torch
2.14.0+cu130;torch.cuda.is_available()is False on this venv. - imago:
data/imagos/male-cns-v1.0.imago, built_at2026-09-16T02:29:04+00:00, git_describe4428500-dirty; controldata/imagos/male-cns-v1.0-shuffled-1.imago, built_at2026-09-16T02:30:12+00:00, git_describe4428500-dirty, shuffle_seed 1. In both, the type table hasTm9(1771 cells) andCT1(2 cells, one per optic lobe) under exactly those names. - probe flags, all defaults except
--r-base 100and--device cpu: grating period 30°, 1 Hz, contrast 0.8; 0.5 s warm-up, 2 s per direction; frame interval 1 ms; ratio 1.5; lamina target 50 Hz; gain 100 Hz per log unit; seed 0. Lamina bias (bias_mv): L1 49.3776, L2 46.5276, L3 21.5026 mV, the same as the sweep’sr_base100 runs. - constants (
LIFParams()defaults): \(\tau_s = 5\) ms, \(\tau_m = 20\) ms, \(W_{\mathrm{syn}} = 0.275\) mV, threshold gap \(v_{\mathrm{th}} - v_{\mathrm{rest}} = 7.0\) mV, single-spike PSP peak factor 0.1575. - accounting, as in the lamina-drive entry: per target cell,
\(W_{\mathrm{in}}\) is the summed signed effective weight (mV per
presynaptic spike) from one source type; its mean-field input is
\(g = r \cdot \tau_s \cdot W_{\mathrm{in}}\) at the source’s
measured rate \(r\); net \(g\) sums the listed sources per cell;
the rate at which one source alone puts the median cell at threshold
is \(7 / (\tau_s \cdot W_{\mathrm{in}})\), only for positive
\(W_{\mathrm{in}}\). Medians and quartiles of \(W_{\mathrm{in}}\)
are over the cells a source reaches; net \(g\) is over all cells of
the type. Source rates are the four-direction means of the probe
report’s stage rates. T5 rates are not stage rates; they are in the
report’s verdict
rates, so the recurrence runs pass their four-direction means with--rate. - commands:
uv run flatline probe --imago data/imagos/male-cns-v1.0.imago --device cpu --r-base 100 \ --out data/runs/probe/2026-10-30-rbase100-t5.json uv run flatline probe --imago data/imagos/male-cns-v1.0-shuffled-1.imago --device cpu --r-base 100 \ --out data/runs/probe/2026-10-30-rbase100-t5-shuffled.json uv run flatline stage-drive --imago data/imagos/male-cns-v1.0.imago \ --rates-from data/runs/probe/2026-10-30-rbase100-t5.json \ --from Tm1 Tm2 Tm4 Tm9 CT1 --to T5a T5b T5c T5d \ --out data/runs/stage-drive/2026-10-30-t5-real.json uv run flatline stage-drive --imago data/imagos/male-cns-v1.0-shuffled-1.imago \ --rates-from data/runs/probe/2026-10-30-rbase100-t5-shuffled.json \ --from Tm1 Tm2 Tm4 Tm9 CT1 --to T5a T5b T5c T5d \ --out data/runs/stage-drive/2026-10-30-t5-shuffled.json # with T5 recurrence; T5 rates from the reports' verdict rates uv run flatline stage-drive --imago data/imagos/male-cns-v1.0.imago \ --rates-from data/runs/probe/2026-10-30-rbase100-t5.json \ --from Tm1 Tm2 Tm4 Tm9 CT1 T5a T5b T5c T5d --to T5a T5b T5c T5d \ --rate T5a=0.0 --rate T5b=0.0 --rate T5c=0.0 --rate T5d=0.0 \ --out data/runs/stage-drive/2026-10-30-t5-recurrent-real.json uv run flatline stage-drive --imago data/imagos/male-cns-v1.0-shuffled-1.imago \ --rates-from data/runs/probe/2026-10-30-rbase100-t5-shuffled.json \ --from Tm1 Tm2 Tm4 Tm9 CT1 T5a T5b T5c T5d --to T5a T5b T5c T5d \ --rate T5a=0.8751502403846154 --rate T5b=1.2158892128279883 \ --rate T5c=0.7866279069767441 --rate T5d=0.8520833333333333 \ --out data/runs/stage-drive/2026-10-30-t5-recurrent-shuffled.json # excitatory sources only: T5 with the CT1 term removed uv run flatline stage-drive --imago data/imagos/male-cns-v1.0.imago \ --rates-from data/runs/probe/2026-10-30-rbase100-t5.json \ --from Tm1 Tm2 Tm4 Tm9 --to T5a T5b T5c T5d \ --out data/runs/stage-drive/2026-10-30-t5-excitatory-real.json # what drives Tm9 and CT1 uv run flatline stage-drive --imago data/imagos/male-cns-v1.0.imago \ --rates-from data/runs/probe/2026-10-30-rbase100-t5.json \ --from L1 L2 L3 Tm1 Tm2 Tm4 CT1 --to Tm9 CT1 --top 10 \ --out data/runs/stage-drive/2026-10-30-t5-inputs-real.json uv run flatline stage-drive --imago data/imagos/male-cns-v1.0-shuffled-1.imago \ --rates-from data/runs/probe/2026-10-30-rbase100-t5-shuffled.json \ --from L1 L2 L3 Tm1 Tm2 Tm4 CT1 --to Tm9 CT1 --top 10 \ --out data/runs/stage-drive/2026-10-30-t5-inputs-shuffled.json uv run python scripts/figures/stage_drive.py data/runs/stage-drive/2026-10-30-t5-real.json book/src/figures/stage-drive-t5-real.svg uv run python scripts/figures/stage_drive.py data/runs/stage-drive/2026-10-30-t5-shuffled.json book/src/figures/stage-drive-t5-shuffled.svg uv run python scripts/figures/stages.py data/runs/probe/2026-10-30-rbase100-t5.json book/src/figures/probe-stages-rbase100-t5.svg uv run python scripts/figures/stages.py data/runs/probe/2026-10-30-rbase100-t5-shuffled.json book/src/figures/probe-stages-rbase100-t5-shuffled.svg
What happened
Both probes completed with no exceptions and exited 2 (verdict failed),
as every probe so far has. Wall time, including uv run start-up and
loading the imago, was 39.9 s (real) and 28.3 s (shuffled). Each probe
was run three times because the first two timing wrappers failed (no
bc on straylight, then a zsh arithmetic slip). The stage rates, verdict
rates and verdict entries of the first and last runs are identical.
The new reports reproduce the sweep’s r_base 100 reports
(2026-10-30-rbase100.json and -shuffled.json) exactly: on every
shared stage set and every verdict set, in every direction, the
largest difference is 0.0 Hz, and the configs are identical. Adding
two types to the overlay changes only what is recorded.
The seven stage-drive runs exited 0 in 1.8–2.5 s each. The two
“what drives Tm9 and CT1” runs were first made without CT1 as a
source, then rerun with it to measure CT1’s inhibition of Tm9; the
reports above are the reruns. The four figures took 0.3–0.5 s each.
Results
Source transmitters, as labelled in the imago. Every source is transmitter-uniform on both imagos, so “reached”, which counts a cell by its net signed weight from a source, has no cancellation caveat here.
| type | cells | transmitter | sign | uniform | uniform (shuffled) |
|---|---|---|---|---|---|
| Tm1 | 1777 | acetylcholine | +1 | yes | yes |
| Tm2 | 1766 | acetylcholine | +1 | yes | yes |
| Tm4 | 1670 | acetylcholine | +1 | yes | yes |
| Tm9 | 1771 | acetylcholine | +1 | yes | yes |
| CT1 | 2 | gaba | −1 | yes | yes |
The T5 subtypes are acetylcholine on both imagos.
Rates
Mean of the four directions (Hz), r_base 100.
| set | cells | real | shuffled |
|---|---|---|---|
| L1 | 1776 | 65.1685 | 67.0369 |
| L2 | 1779 | 49.2643 | 65.8279 |
| L3 | 1772 | 33.3731 | 46.8087 |
| Mi9 | 1775 | 0.2504 | 5.3268 |
| Tm1 | 1777 | 8.9208 | 14.0497 |
| Tm2 | 1766 | 7.7492 | 14.1629 |
| Tm4 | 1670 | 7.4747 | 2.9650 |
| Tm9 | 1771 | 0.0001 | 0.5398 |
| CT1 | 2 | 163.8750 | 103.8125 |
| T5a | 1664 | 0.0000 | 0.8752 |
| T5b | 1715 | 0.0000 | 1.2159 |
| T5c | 1720 | 0.0000 | 0.7866 |
| T5d | 1620 | 0.0000 | 0.8521 |
The two new stage sets by direction:
| set | imago | progressive | regressive | up | down |
|---|---|---|---|---|---|
| Tm9 | real | 0.0003 | 0.0000 | 0.0000 | 0.0000 |
| Tm9 | shuffled | 0.5325 | 0.5384 | 0.5432 | 0.5452 |
| CT1 | real | 165.5000 | 163.7500 | 162.7500 | 163.5000 |
| CT1 | shuffled | 104.0000 | 104.7500 | 103.0000 | 103.5000 |
On the real imago Tm9 fired 0.0003 Hz in the progressive direction and nothing in the other three. CT1 fired at about 164 Hz in every direction. T4a–d, T5a–d, HS and VS are 0 Hz in every direction, as in the sweep. In the control, T5a–d fire 0.77–1.24 Hz per direction with selectivity 1.003–1.012.
All inputs onto T5
Every presynaptic type, mV per spike per cell. The medians are of the excitatory sum, the inhibitory sum and the net. The last column gives the six largest presynaptic types by summed signed weight (cell mean).
| target | excitatory | inhibitory | net | largest presynaptic types |
|---|---|---|---|---|
| T5a | +38.2 | −22.8 | +15.7 | Tm2 +9.55, Tm9 +9.17, Tm1 +6.90, CT1 −6.51, Tm4 +5.46, T5a +4.62 |
| T5b | +40.7 | −22.3 | +18.7 | Tm9 +10.31, Tm2 +9.85, CT1 −6.52, Tm1 +6.32, T5b +5.71, Tm4 +5.03 |
| T5c | +42.4 | −21.4 | +20.9 | Tm9 +11.84, Tm2 +9.90, Tm1 +7.19, Tm4 +6.02, CT1 −5.42, T5c +4.20 |
| T5d | +39.6 | −19.2 | +20.3 | Tm9 +10.80, Tm2 +8.91, Tm1 +7.11, Tm4 +5.52, CT1 −5.33, T5d +4.36 |
This is the scratch run’s list. Tm9, Tm2, Tm1 and Tm4 are the four largest excitatory inputs and CT1 is the largest inhibitory one. Each subtype’s next input is its own subtype (recurrence). By weight alone, T5 is excitation-dominated (net +15.7 to +20.9 mV per spike). The weights alone do not make it a braked cell in the way Mi1 is (all-input net −43.5).
Per source, real imago
\(W_{\mathrm{in}}\), PSP peak and \(g\) in mV; rate to cross in Hz.
| target | source | reached | synapses (median) | \(W_{\mathrm{in}}\) median [q1, q3] | PSP peak | \(g\) | rate to cross |
|---|---|---|---|---|---|---|---|
| T5a | Tm1 | 99.9% | 25 | +6.88 [+5.50, +7.98] | +1.08 | +0.31 | 203.6 |
| T5a | Tm2 | 99.9% | 34 | +9.35 [+7.98, +11.27] | +1.47 | +0.36 | 149.7 |
| T5a | Tm4 | 99.9% | 20 | +5.50 [+4.12, +6.60] | +0.87 | +0.21 | 254.5 |
| T5a | Tm9 | 99.9% | 32 | +8.80 [+6.33, +11.55] | +1.39 | +0.00 | 159.1 |
| T5a | CT1 | 99.9% | 24 | −6.60 [−7.98, −5.22] | −1.04 | −5.41 | none |
| T5b | Tm1 | 100.0% | 23 | +6.32 [+5.22, +7.43] | +1.00 | +0.28 | 221.3 |
| T5b | Tm2 | 100.0% | 36 | +9.90 [+8.25, +11.55] | +1.56 | +0.38 | 141.4 |
| T5b | Tm4 | 100.0% | 18 | +4.95 [+3.85, +6.05] | +0.78 | +0.18 | 282.8 |
| T5b | Tm9 | 100.0% | 36 | +9.90 [+7.43, +12.93] | +1.56 | +0.00 | 141.4 |
| T5b | CT1 | 100.0% | 24 | −6.60 [−7.70, −5.22] | −1.04 | −5.41 | none |
| T5c | Tm1 | 100.0% | 26 | +7.15 [+5.78, +8.52] | +1.13 | +0.32 | 195.8 |
| T5c | Tm2 | 100.0% | 36 | +9.90 [+7.98, +11.55] | +1.56 | +0.38 | 141.4 |
| T5c | Tm4 | 100.0% | 22 | +6.05 [+4.68, +7.43] | +0.95 | +0.23 | 231.4 |
| T5c | Tm9 | 100.0% | 42 | +11.55 [+8.52, +15.12] | +1.82 | +0.00 | 121.2 |
| T5c | CT1 | 99.8% | 20 | −5.50 [−6.60, −4.12] | −0.87 | −4.51 | none |
| T5d | Tm1 | 100.0% | 25 | +6.88 [+5.50, +8.53] | +1.08 | +0.31 | 203.6 |
| T5d | Tm2 | 100.0% | 32 | +8.80 [+7.42, +10.45] | +1.39 | +0.34 | 159.1 |
| T5d | Tm4 | 100.0% | 19.5 | +5.36 [+4.13, +6.60] | +0.84 | +0.20 | 261.1 |
| T5d | Tm9 | 100.0% | 38 | +10.45 [+7.70, +13.48] | +1.65 | +0.00 | 134.0 |
| T5d | CT1 | 99.9% | 20 | −5.50 [−6.60, −4.12] | −0.87 | −4.51 | none |
Net \(g\) over the five sources, against the 7 mV gap. “7 − net g” is how far the median cell’s mean-field input sits below threshold. “Excitatory only” is the run without CT1. “With T5 recurrence” adds T5a–d as sources at their measured rates.
| target | n | net \(g\) median [q1, q3] | net g > 0 | net g > 7 | 7 − net g | excitatory only: net \(g\) median [q1, q3] | with T5 recurrence: net \(g\) median |
|---|---|---|---|---|---|---|---|
| T5a | 1664 | −4.59 [−5.53, −3.48] | 0.3% | 0.0% | 11.59 | +0.88 [+0.77, +1.01] | −4.59 |
| T5b | 1715 | −4.62 [−5.50, −3.59] | 0.5% | 0.0% | 11.62 | +0.85 [+0.74, +0.98] | −4.62 |
| T5c | 1720 | −3.53 [−4.48, −2.61] | 0.9% | 0.0% | 10.53 | +0.93 [+0.79, +1.06] | −3.53 |
| T5d | 1620 | −3.56 [−4.47, −2.56] | 0.7% | 0.0% | 10.56 | +0.86 [+0.74, +0.99] | −3.56 |
T5 recurrence is real wiring but contributes nothing here. Each subtype gets +4.12 to +5.50 mV per spike from its own subtype (15–20 synapses, 99.8–100% of cells) and +0.28 to +0.55 mV from each of the other three. With every T5 rate at 0 Hz, that term is 0 mV and net \(g\) is unchanged.
What drives Tm9 and CT1, real imago
| target | source | reached | synapses (median) | \(W_{\mathrm{in}}\) median [q1, q3] | PSP peak | \(g\) | rate to cross |
|---|---|---|---|---|---|---|---|
| Tm9 | L1 | 1.2% | 1 | −0.28 [−0.28, −0.28] | −0.04 | −0.09 | none |
| Tm9 | L2 | 7.7% | 1 | +0.28 [+0.28, +0.28] | +0.04 | +0.07 | 5090.9 |
| Tm9 | L3 | 99.9% | 28 | +7.70 [+6.33, +9.07] | +1.21 | +1.28 | 181.8 |
| Tm9 | Tm1 | 82.4% | 2 | +0.55 [+0.28, +1.10] | +0.09 | +0.02 | 2545.5 |
| Tm9 | Tm2 | 57.9% | 1 | +0.28 [+0.28, +0.55] | +0.04 | +0.01 | 5090.9 |
| Tm9 | Tm4 | 11.2% | 1 | +0.28 [+0.28, +0.28] | +0.04 | +0.01 | 5090.9 |
| Tm9 | CT1 | 96.0% | 10 | −2.75 [−3.30, −2.20] | −0.43 | −2.25 | none |
| CT1 | Tm1 | 100.0% | 5366 | +1475.65 [+1462.31, +1488.99] | +232.40 | +65.82 | 0.95 |
| CT1 | Tm2 | 100.0% | 465 | +127.88 [+125.81, +129.94] | +20.14 | +4.95 | 10.9 |
| CT1 | Tm4 | 100.0% | 136.5 | +37.54 [+31.42, +43.66] | +5.91 | +1.40 | 37.3 |
L1, L2, L3 and CT1 itself reach neither CT1 cell on the real imago. Tm9’s net \(g\) over these seven sources is −0.89 mV [−1.41, −0.40], positive in 12.0% of cells and above the gap in none. Its other large inputs are Mi4 (−5.04 mV per spike, cell mean; Mi4 is silent) and Tm16 (+2.28, rate not measured). CT1’s net \(g\) is +72.18 mV [+71.89, +72.46] on both cells. Each CT1 cell’s all-input sums are +20155.0 mV excitatory and −1106.3 mV inhibitory per spike. Its largest presynaptic type is Tm9 (+7169.11 mV per spike), which is silent, then T4b, Tm1, T4a, T4c and T5a–d (+817.99 to +1653.85), of which only Tm1 fires.
Shuffled control
| target | source | reached | synapses (median) | \(W_{\mathrm{in}}\) median [q1, q3] | PSP peak | \(g\) | rate to cross |
|---|---|---|---|---|---|---|---|
| T5a | Tm1 | 39.7% | 5 | +1.38 [+0.55, +3.03] | +0.22 | +0.10 | 1018.2 |
| T5a | Tm2 | 41.2% | 4 | +1.10 [+0.55, +2.48] | +0.17 | +0.08 | 1272.7 |
| T5a | Tm4 | 47.5% | 4 | +1.10 [+0.55, +1.93] | +0.17 | +0.02 | 1272.7 |
| T5a | Tm9 | 17.3% | 2 | +0.55 [+0.28, +1.93] | +0.09 | +0.00 | 2545.5 |
| T5a | CT1 | 4.5% | 13 | −3.58 [−5.22, −2.48] | −0.56 | −1.86 | none |
| T5b | Tm1 | 39.8% | 5 | +1.38 [+0.55, +3.30] | +0.22 | +0.10 | 1018.2 |
| T5b | Tm2 | 45.3% | 4 | +1.10 [+0.55, +2.20] | +0.17 | +0.08 | 1272.7 |
| T5b | Tm4 | 51.3% | 4 | +1.10 [+0.55, +1.93] | +0.17 | +0.02 | 1272.7 |
| T5b | Tm9 | 16.9% | 3 | +0.83 [+0.28, +1.38] | +0.13 | +0.00 | 1697.0 |
| T5b | CT1 | 3.6% | 12 | −3.30 [−5.78, −0.83] | −0.52 | −1.71 | none |
| T5c | Tm1 | 43.8% | 5 | +1.38 [+0.55, +3.30] | +0.22 | +0.10 | 1018.2 |
| T5c | Tm2 | 40.6% | 4 | +1.10 [+0.55, +2.20] | +0.17 | +0.08 | 1272.7 |
| T5c | Tm4 | 50.3% | 3 | +0.83 [+0.55, +1.93] | +0.13 | +0.01 | 1697.0 |
| T5c | Tm9 | 19.5% | 2 | +0.55 [+0.28, +1.65] | +0.09 | +0.00 | 2545.5 |
| T5c | CT1 | 4.0% | 12 | −3.30 [−4.68, −2.20] | −0.52 | −1.71 | none |
| T5d | Tm1 | 38.9% | 4 | +1.10 [+0.55, +3.03] | +0.17 | +0.08 | 1272.7 |
| T5d | Tm2 | 42.2% | 4 | +1.10 [+0.55, +2.48] | +0.17 | +0.08 | 1272.7 |
| T5d | Tm4 | 47.2% | 4 | +1.10 [+0.55, +2.20] | +0.17 | +0.02 | 1272.7 |
| T5d | Tm9 | 17.3% | 2 | +0.55 [+0.28, +1.38] | +0.09 | +0.00 | 2545.5 |
| T5d | CT1 | 3.6% | 10.5 | −2.89 [−4.95, −1.38] | −0.45 | −1.50 | none |
| target | n | net \(g\) median [q1, q3] | net g > 0 | net g > 7 | 7 − net g | with T5 recurrence: net \(g\) median |
|---|---|---|---|---|---|---|
| T5a | 1664 | +0.06 [+0.01, +0.17] | 82.3% | 0.0% | 6.94 | +0.06 |
| T5b | 1715 | +0.06 [+0.01, +0.18] | 83.3% | 0.0% | 6.94 | +0.06 |
| T5c | 1720 | +0.06 [+0.01, +0.18] | 83.5% | 0.0% | 6.94 | +0.07 |
| T5d | 1620 | +0.05 [+0.01, +0.16] | 82.1% | 0.0% | 6.95 | +0.06 |
The five sources together reach 85.4–87.3% of each shuffled T5 subtype, and 95.0–96.4% with T5 recurrence added. Recurrence adds at most 0.01 mV to the median: each T5 subtype is a median +0.55 to +0.83 mV per spike onto 20.6–29.8% of cells, at 0.79–1.22 Hz. All-input medians on the shuffled T5 are +37.1 to +39.9 mV excitatory, −21.4 to −23.4 mV inhibitory and +15.1 to +16.2 mV net. The largest presynaptic type is Mi1 or Tm3, at +1.02 to +1.19 mV per spike.
In the control, CT1 also fires (103.81 Hz). Its net \(g\) over the seven sources is +80.86 mV [+80.15, +81.58]: L2, L3, Tm1 and Tm2 each put +14.46 to +42.41 mV into it, and every source reaches both cells. But CT1 reaches only 3.6–4.5% of each T5 subtype and 2.1% of Tm9. Shuffled Tm9’s net \(g\) is +0.02 mV [0.00, +0.13], and its largest presynaptic type is Mi1 at +0.71 mV per spike.
In the shuffled figure each coloured segment is the median \(g\) over the cells that source reaches (3.6–51.3% of a T5 subtype). The black tick is the net median over all cells, so CT1’s −1.50 to −1.86 mV segments overstate what a typical shuffled T5 cell gets: its net is +0.05 to +0.06 mV.
Conclusions
T5 is both braked and under-powered. The brake is the larger term, and taking it away is not enough. At the measured rates the median T5 cell’s mean-field input from Tm1, Tm2, Tm4, Tm9 and CT1 is −3.53 to −4.62 mV, below rest. That puts it 10.53–11.62 mV below threshold, and no cell of any subtype has a net input above the gap (0.3–0.9% are even positive). CT1 alone contributes −4.51 to −5.41 mV; Tm1, Tm2 and Tm4 contribute +0.18 to +0.38 mV each, and Tm9 contributes 0.00 mV. With CT1 removed, the net is +0.85 to +0.93 mV: still 6.07–6.15 mV short, with excitation about an eighth of what threshold needs. Each excitatory source alone would have to fire at 121–283 Hz to put the median cell at threshold; Tm1, Tm2 and Tm4 run at 7.5–8.9 Hz. No single input spike comes close: the median PSP peaks are +0.78 to +1.82 mV against the 7 mV gap.
The brake is not like L1 on Mi1. By weight, T5 is excitation-dominated: all-input net +15.7 to +20.9 mV per spike, with CT1’s −5.33 to −6.52 mV the only large inhibitory term against four excitatory ones of +5.03 to +11.84 (cell means). Per spike, the excitation wins. What makes CT1 dominate is its rate. CT1 fires at 164 Hz, 18–22 times Tm1, Tm2 and Tm4, because the engine models it as two point neurons, each summing Tm1 output from across its whole optic lobe through a median of 5366 synapses. Tm1 alone puts a mean field of +65.82 mV into each CT1 cell, and 0.95 Hz of Tm1 would be enough to hold CT1 above threshold. So any OFF activity anywhere turns CT1 fully on, and CT1 inhibits every T5 cell (99.8–100% reached) and 96.0% of Tm9. In the fly, CT1 has a small branch in every column (see the glossary), and the literature describes those branches as acting largely independently of each other, column by column (Meier and Borst 2019, in the References chapter). A single spiking point cell cannot do that.
The under-power has two parts. First, the fast inputs are too slow: Tm1, Tm2 and Tm4 at 7.5–8.9 Hz give +0.18 to +0.38 mV each. Second, Tm9, the largest excitatory input to T5b, T5c and T5d and the second largest to T5a, is silent (0.0001 Hz). Tm9 is under-powered and braked in the same way as T5. Its driver, L3, gives +7.70 mV per spike from 28 synapses, which at 33.37 Hz is +1.28 mV; L3 would need 181.8 Hz. CT1 takes −2.25 mV away, so Tm9’s net is −0.89 mV.
The control says the CT1 brake on T5 comes from the real wiring, and the shuffled T5 activity does not come from these inputs. The shuffled CT1 also fires near saturation (103.81 Hz, net \(g\) +80.86 mV), which suggests that a two-cell type with tens of thousands of input synapses ends up switched on under any wiring. But the shuffle leaves CT1 contacting only 3.6–4.5% of T5 cells. On the real wiring CT1 contacts 99.8–100% of them, through 20–24 synapses each. Every shuffled source reaches T5 through a median of 2–13 synapses, and the five-source net is +0.05 to +0.06 mV, 6.94–6.95 mV short of threshold. The control’s 0.79–1.24 Hz T5 rates come from the rest of its input: the all-input net is +15.1 to +16.2 mV, spread over many types of about 1 mV each. The same recurrent excitation explained the control’s medulla in the lamina-drive entry. As there, it shows the engine can push T5 over threshold. It does not show the real OFF route works.
What this implies for (a) versus (b). Option (a) as written in the lamina-drive entry is a tonic bias for graded cells whose dominant input is inhibitory. None of the three cells on this path qualifies: T5’s dominant inputs are Tm9 and Tm2 (excitatory), Tm9’s is L3 (excitatory), and CT1 is over-driven, not braked. So (a) as specified would leave T5 silent. Waking T5 under (a) would take two further fixes of a different kind: something that stops CT1 from acting as one whole-eye switch, and more drive into Tm9 and into T5 itself (about eight times the present excitation). Both are new per-type operating points on top of the ON-path list. The under-powered half of this result points toward (b). In a graded-rate model, the gap between a 0.275 mV synapse at a few hertz and a 7 mV threshold stops being a hand-set bias and becomes a per-type parameter fitted with the rest of the model, the approach Lappalainen et al. 2024 took. The braked half does not choose between them: CT1 is a problem under either model as long as it is two whole-eye units. A graded CT1 summing the whole eye would still inhibit every T5 at once. Either way, CT1 needs to be split by column or otherwise kept local. These numbers do not settle the choice. That is Kyle’s.
Next steps
Options, not ranked:
- Test the brake directly: a probe run with CT1 silenced (or its output gain set to zero). The probe has no flag for this yet. The accounting predicts T5 still does not fire (+0.85 to +0.93 mV against 7), so a T5 spike there would mean something the mean field misses, such as the grating’s modulation or the per-cell spread.
- Split CT1 per column in
build-imago: assign each CT1 synapse to the column of its partner and make one unit per column per lobe. This needs synapse-level column data at build time, which the current imago does not carry; check what the dataset provides first. - Account for the step into Tm9 further: Tm16 (+2.28 mV per spike) and Mi4 (−5.04) are large Tm9 inputs not in the overlay. Mi4 is already measured and silent. Tm16 is not measured.
- Option (a), extended by a stated rule to CT1 and Tm9, or option (b), the graded-rate model of the columnar optic lobe. This entry adds to the evidence for that choice but does not make it.