fly_hex_lattice — FLYVISION lattice op

• Data kinds: कोई नहीं → table (केवल arguments से तय होने वाला op — यह कोई image या data input नहीं लेता)

• Call: import fullseye as fs; fs.ledger.fly_hex_lattice(radius=15, dphi_deg=4.63, az0_deg=0.0, el0_deg=0.0, geometry='regular') (implementation को सीधे call करना हो तो import flyvision; flyvision.fly_hex_lattice(radius=15, dphi_deg=4.63, az0_deg=0.0, el0_deg=0.0, geometry='regular'), registry से लेना हो तो opsflyvision.get("fly_hex_lattice"))

उपयोग

hexagonal ommatidial lattice: compound eye की viewing दिशाएँ।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

A hexagon of n = 3*radius*(radius+1)+1 ommatidia on axial coordinates (u, v) with -radius <= u <= radius and max(-radius, -radius-u) <= v <= min(radius, radius-u) (u outer, v inner), each given an azimuth, an elevation and a unit viewing direction in body coordinates (x forward, y left, z up; az = atan2(y, x) left positive, el = asin(z)).

geometry="regular": az = az0 + dphi*(v + u/2), el = el0 + dphi*(sqrt(3)/2)*u — an isotropic hexagon.

geometry="boxeye": the pixel-grid distortion of the connectome-derived

models, pixel (y, x) = (13*(u + v/2), 13*v) with 13 px = dphi, so az = az0 - v*dphi and el = el0 - (u + v/2)*dphi; the diagonal neighbour is 1.118x the axial spacing.

radius: the hexagon radius in ommatidia.

dphi_deg: the inter-ommatidial angle in degrees. az0_deg / el0_deg: the direction of the lattice centre (the optical axis).

geometry: one of GEOMETRIES.

Returns a dict {"uv": (n,2) int, "az_rad": (n,), "el_rad": (n,), "dirs": (n,3) unit vectors, "dphi_rad": float, "geometry": str}.

Ground truth: n == 3*radius*(radius+1)+1 exactly, every dirs row is a unit vector, and for "boxeye" the ratio of the diagonal to the axial nearest-neighbour angular spacing is 1.118 (both pinned in the tests).

Raises ValueError: a *radius* outside [1, MAX_LATTICE_RADIUS], a non-positive *dphi_deg*, a non-real / non-finite / string / bool angle, and an unknown *geometry*.

उपयोग की विस्तृत 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_fly_optomotor_steering — py -3.11 examples/poc_fly_optomotor_steering.py

• poc_fly_vision — py -3.11 examples/poc_fly_vision.py

• poc_print_registration — py -3.11 examples/poc_print_registration.py

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

fly_t4t5_field · fly_flow_from_directions · fly_matched_filter · fly_egomotion_from_flow · fly_eye_merge · fly_hex_resample · fly_hs_readout

इसी category के (lattice)

—


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