sample op• Data kinds: signal → signal
• Call: import fullseye as fs; fs.ledger.fly_hex_quantize(signal, bits=3, mode='log', contrast=0.2) (to call the implementation directly, import flyvision; flyvision.fly_hex_quantize(signal, bits=3, mode='log', contrast=0.2); from the registry, opsflyvision.get("fly_hex_quantize"))
Quantizes the ommatidial signals the same way the eye does: logarithmic compression followed by n bits per ommatidium (mode="onoff" gives 2 channels, ON / OFF).
A compound eye is a quantizer by nature: roughly 800 ommatidia per eye (spacing 4.6°), photoreceptors log-compress intensity and adapt to the mean, and lamina cells L1 / L2 split the deviation from the mean into ON and OFF. This op reproduces that budget so that a downstream model (reservoir, retinotopy test) can be asked "how many bits does it really need".
A compound eye is a quantizer by construction: ~800 ommatidia per eye at 4.6 deg spacing, photoreceptors that log-compress intensity and adapt to the mean, and lamina cells (L1/L2) that split the deviation into ON and OFF channels. This op reproduces that budget so a downstream model (reservoir, retinotopy test) can be asked how many bits it really needs.
signal : (n,) float
Per-ommatidium intensities >= 0 (fly_hex_resample output).
bits : int
1..8 levels = 2**bits (mode="onoff" ignores it: the output is the signed pair below).
mode : str
"log": log1p-compress relative to the mean, shift the darkest ommatidium to 0, then
uniform levels over the compressed range; "linear": uniform levels over [0, max]; "onoff": deviation from the mean
relative to contrast clipped to [-1, 1] and returned as 2 * n values [ON..., OFF...]
(ON = positive part, OFF = negative part), each >= 0.
contrast : float
Michelson-style contrast that saturates the ON/OFF channels (mode="onoff" only).
(n,) float in [0, 1] (levels / (2**bits - 1)); for "onoff" (2n,) in [0, 1].
Non-finite or negative inputs are refused. A constant signal quantizes to all-zeros ("log" / "onoff") — there is no contrast to encode.
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
• poc_eye_to_brain — py -3.11 examples/poc_eye_to_brain.py
signal as input)fly_emd_response · fly_lgmd_eta · fly_tau_from_expansion · fly_dsi
sample)*Provenance: flyvision.py — FLYVISION operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.