selfmotion op• Data kinds: table × table → table
• Call: import fullseye as fs; fs.ledger.fly_eye_merge(lattice_a, lattice_b, *more) (implementation को सीधे call करना हो तो import flyvision; flyvision.fly_eye_merge(lattice_a, lattice_b, *more), registry से लेना हो तो opsflyvision.get("fly_eye_merge"))
कई lattices को एक चौड़ी आँख के रूप में देखा जाता है — उन सभी की viewing दिशाएँ।
> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।
fly_hex_resample needs a lattice that fits inside one pinhole image, which caps a single patch at well under a hemisphere. A fly is not so
limited: its two compound eyes together see almost the whole sphere, and the wide-field cells that read self-motion out of them integrate over all of it. This op is that integration made explicit — render each patch through its own camera, run the pathway on each, then merge the *geometry* so that one least-squares fit sees every ommatidium at once.
It matters more than it looks. In a naturalistic 1/f scene the response of a correlation detector is contrast-weighted, so a narrow patch is at the mercy of whichever few large features happen to be in it; widening the field is what turns the estimate from a guess into a measurement (the PoC measures how much).
lattice_a / lattice_b / *more: two or more fly_hex_lattice results. They must share the inter-ommatidial angle and the geometry (different spacings are different eyes and the merged field would silently mix two sampling scales), and no two ommatidia may look in exactly the same direction (merging a patch with itself would double its vote without saying so).
Returns a lattice dict with the same keys plus "eye", the index of the patch each ommatidium came from, in input order. The merged lattice is what fly_matched_filter and fly_egomotion_from_flow take; fly_hex_resample and fly_flow_from_directions stay per patch, because a pinhole image and a hexagonal neighbourhood are both local.
Raises ValueError: a malformed lattice (including a sequence handed in where a lattice was expected), a mismatched dphi_rad or geometry, and a direction that appears twice.
• 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 में दिए गए हैं।
• poc_fly_optomotor_steering — py -3.11 examples/poc_fly_optomotor_steering.py
table को input के रूप में लेते हैं)fly_t4t5_field · fly_flow_from_directions · fly_matched_filter · fly_egomotion_from_flow · fly_hex_resample · fly_hs_readout
selfmotion)fly_matched_filter · fly_egomotion_from_flow
*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.