fly_hex_quantize — FLYVISION 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"))

Usage

> This operator's description has not been translated yet. The original text follows as it is.

個眼信号を眼と同じやり方で量子化する: 対数圧縮してから個眼あたり n ビット(`mode="onoff"` は ON / OFF の 2 チャネル)。

複眼は生まれつき量子化器で、片眼およそ 800 個眼(間隔 4.6°)、光受容器は強度を対数圧縮して平均に適応し、

ラミナの L1 / L2 が平均からの偏差を ON と OFF に分ける。この op はその予算を再現し、下流のモデル

(reservoir・網膜部位対応の検査)に「本当に何ビット要るか」を問えるようにする。

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.

Parameters

----------

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).

Returns

-------

(n,) float in [0, 1] (levels / (2**bits - 1)); for `"onoff"` (2n,) in [0, 1].

Notes

-----

Non-finite or negative inputs are refused. A constant signal quantizes to all-zeros

(`"log" / "onoff"`) — there is no contrast to encode.

Detailed usage guide

• fly_vision family guide

References (sample data, literature)

• 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.

Runnable examples (verified samples that actually call this op)

• poc_eye_to_brain — py -3.11 examples/poc_eye_to_brain.py

Ops the type connects to (they accept signal as input)

fly_emd_response · fly_lgmd_eta · fly_tau_from_expansion · fly_dsi

Same category (sample)

fly_hex_resample


*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.