fly_hex_resample — FLYVISION sample op

• Data kinds: image2d × table → signal

• Call: import fullseye as fs; fs.ledger.fly_hex_resample(image2d, lattice, drho_deg=8.23, fov_deg=90.0, mode='pinhole') (implementation को सीधे call करना हो तो import flyvision; flyvision.fly_hex_resample(image2d, lattice, drho_deg=8.23, fov_deg=90.0, mode='pinhole'), registry से लेना हो तो opsflyvision.get("fly_hex_resample"))

उपयोग

pinhole image को ommatidial lattice पर resample करता है (आँख का दृश्य)।

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

Each ommatidium integrates the image under a Gaussian acceptance function of full width at half maximum *drho_deg* weighted by the pixel solid angle::

signal_i = sum_p w_ip * image_p / sum_p w_ip

w_ip = exp(-4 ln2 * a_ip^2 / drho_deg^2) * (1 + X_p^2 + Y_p^2)^(-3/2)

with a_ip the angular distance between ommatidium *i* and pixel *p*, cut off at a <= 2*drho_deg, and X, Y the pinhole-normalised pixel coordinates. The image is a perspective (pinhole) view whose optical axis is the lattice centre and whose *fov_deg* is the full vertical field of view.

image2d: a 2-D (H, W) pinhole image.

lattice: the dict returned by fly_hex_lattice.

drho_deg: the acceptance FWHM in degrees.

fov_deg: the full vertical field of view in degrees.

mode: "pinhole" (the only projection implemented).

Returns a 1-D float64 signal of n ommatidial intensities.

Ground truth: an azimuthal sinusoid of angular wavelength lambda is sampled with its amplitude scaled by the analytic modulation transfer exp(-pi^2 drho_deg^2 nu^2 / (4 ln2)), nu = 1/lambda, to within 0.05 over lambda from 15 to 80 degrees at equatorial ommatidia (pinned in the tests).

Raises ValueError: a non-2-D / empty / non-finite *image2d*, an image over the element cap, a *lattice* that is not a fly_hex_lattice result, a non-positive *drho_deg* / *fov_deg*, a *fov_deg* not below 180, an unknown *mode*, a n_ommatidia * n_pixels product over MAX_RESAMPLE_ELEMENTS, and — this is the field-of-view guard — any ommatidium whose nearest pixel is farther than dphi_rad/2 away (the eye is looking outside the image).

उपयोग की विस्तृत 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

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

fly_hex_quantize · fly_emd_response · fly_lgmd_eta · fly_tau_from_expansion · fly_dsi

इसी category के (sample)

fly_hex_quantize


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