fly_hex_quantize — FLYVISION sample op

• Datenarten: signal → signal

• Aufruf: import fullseye as fs; fs.ledger.fly_hex_quantize(signal, bits=3, mode='log', contrast=0.2) (die Implementierung direkt: import flyvision; flyvision.fly_hex_quantize(signal, bits=3, mode='log', contrast=0.2); aus dem Register: opsflyvision.get("fly_hex_quantize"))

Verwendung

Quantisiert die Ommatidiensignale auf dieselbe Weise wie das Auge: logarithmische Kompression, dann n Bit pro Ommatidium (mode="onoff" ergibt 2 Kanäle ON / OFF).

Ein Facettenauge ist von Natur aus ein Quantisierer: etwa 800 Ommatidien pro Auge (Abstand 4.6°), Photorezeptoren komprimieren die Intensität logarithmisch und passen sich dem Mittelwert an, und die Lamina-Zellen L1 / L2 teilen die Abweichung vom Mittelwert in ON und OFF. Dieses op reproduziert dieses Budget, sodass man ein nachgelagertes Modell (reservoir, Retinotopie-Test) fragen kann, "wie viele Bits es wirklich braucht".

Ein Facettenauge ist von Natur aus ein Quantisierer: ~800 Ommatidien pro Auge im Abstand von 4.6 deg, Photorezeptoren, die die Intensität logarithmisch komprimieren und sich dem Mittelwert anpassen, und Lamina-Zellen (L1/L2), die die Abweichung in ON- und OFF-Kanäle aufteilen. Dieses op reproduziert dieses Budget, sodass man ein nachgelagertes Modell (reservoir, Retinotopie-Test) fragen kann, wie viele Bits es wirklich braucht.

Parameters

signal : (n,) float

Intensitäten je Ommatidium >= 0 (Ausgabe von fly_hex_resample).

bits : int

1..8 Stufen = 2**bits (bei mode="onoff" ignoriert: die Ausgabe ist das vorzeichenbehaftete Paar unten).

mode : str

"log": log1p-Kompression relativ zum Mittelwert, das dunkelste Ommatidium auf 0 schieben, dann

gleichmäßige Stufen über den komprimierten Bereich; "linear": gleichmäßige Stufen über [0, max]; "onoff": Abweichung vom Mittelwert

relativ zu contrast, auf [-1, 1] beschnitten und als 2 * n Werte [ON..., OFF...] zurückgegeben

(ON = positiver Teil, OFF = negativer Teil), jeweils >= 0.

contrast : float

Kontrast nach Michelson, der die ON/OFF-Kanäle sättigt (nur mode="onoff").

Returns

(n,) float in [0, 1] (Stufen / (2**bits - 1)); bei "onoff" (2n,) in [0, 1].

Notes

Nicht endliche oder negative Eingaben werden abgewiesen. Ein konstantes Signal quantisiert zu lauter Nullen ("log" / "onoff") -- es gibt keinen Kontrast zu kodieren.

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie fly_vision

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• poc_eye_to_brain — py -3.11 examples/poc_eye_to_brain.py

Typkompatible Folge-Operatoren (nehmen signal als Eingabe)

fly_emd_response · fly_lgmd_eta · fly_tau_from_expansion · fly_dsi

Gleiche Kategorie (sample)

fly_hex_resample


*Provenance: flyvision.py — FLYVISION Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.