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) (implementation को सीधे call करना हो तो import flyvision; flyvision.fly_hex_quantize(signal, bits=3, mode='log', contrast=0.2), registry से लेना हो तो opsflyvision.get("fly_hex_quantize"))

उपयोग

ommatidia के signals को आँख के ही तरीके से quantise करता है: logarithmic compression के बाद हर ommatidium पर n bits (mode="onoff" में ON / OFF के 2 channels)।

compound eye जन्म से ही एक quantizer है: एक आँख में लगभग 800 ommatidia (अंतराल 4.6°), photoreceptor intensity को log-compress करके mean के अनुसार adapt होते हैं, और lamina के L1 / L2 mean से विचलन को ON और OFF में बाँटते हैं। यह op उसी budget को दोहराता है, ताकि downstream model (reservoir, retinotopy test) से पूछा जा सके कि "सच में कितने bit चाहिए"।

compound eye स्वभाव से quantizer है: एक आँख में ~800 ommatidia, 4.6 deg के अंतराल पर, photoreceptor intensity को log-compress करके mean के अनुसार adapt होते हैं, और lamina cell (L1/L2) विचलन को ON और OFF channel में बाँटते हैं। यह op उसी budget को दोहराता है, ताकि downstream model (reservoir, retinotopy test) से पूछा जा सके कि उसे सच में कितने bit चाहिए।

Parameters

signal : (n,) float

हर ommatidium की intensity >= 0 (fly_hex_resample का output)।

bits : int

1..8 level = 2**bits (mode="onoff" इसे नज़रअंदाज़ करता है: output नीचे वाली signed जोड़ी है)।

mode : str

"log": mean के सापेक्ष log1p-compress, सबसे अंधेरे ommatidium को 0 पर खिसकाना, फिर

compressed range पर uniform level; "linear": [0, max] पर uniform level; "onoff": mean से विचलन

contrast के सापेक्ष, [-1, 1] पर clip करके 2 * n मान [ON..., OFF...] के रूप में लौटाया जाता है

(ON = positive भाग, OFF = negative भाग), हर एक >= 0।

contrast : float

Michelson-style contrast जो ON/OFF channel को saturate करता है (केवल mode="onoff")।

Returns

(n,) float, [0, 1] में (level / (2**bits - 1)); "onoff" के लिए (2n,), [0, 1] में।

Notes

non-finite या negative input अस्वीकार किए जाते हैं। constant signal सब-शून्य में quantize होता है ("log" / "onoff") -- encode करने लायक कोई contrast नहीं है।

उपयोग की विस्तृत guide

• fly_vision family guide

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_eye_to_brain — py -3.11 examples/poc_eye_to_brain.py

वे अगले ops जिनसे type जुड़ता है (signal को input के रूप में लेते हैं)

fly_emd_response · fly_lgmd_eta · fly_tau_from_expansion · fly_dsi

इसी category के (sample)

fly_hex_resample


*Provenance: flyvision.py — FLYVISION operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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