sample opimage2d × table → signalimport fullseye as fs; fs.ledger.fly_hex_resample(image2d, lattice, drho_deg=8.23, fov_deg=90.0, mode='pinhole') (実装を直接呼ぶなら import flyvision; flyvision.fly_hex_resample(image2d, lattice, drho_deg=8.23, fov_deg=90.0, mode='pinhole')、台帳から引くなら opsflyvision.get("fly_hex_resample"))Resample a pinhole image onto an ommatidial lattice (the eye’s view).
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 :func: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 :func: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 :data: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).
py -3.11 examples/poc_fly_vision.pysignal を入力に取れる)fly_emd_response · fly_lgmd_eta · fly_tau_from_expansion · fly_dsi
sample)—
Provenance: flyvision.py — FLYVISION operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.