fly_emd_response — FLYVISION motion op

• Data kinds: signal × signal → signal

• Call: import fullseye as fs; fs.ledger.fly_emd_response(signal_a, signal_b, tau_s=0.05, dt_s=0.001) (implementation को सीधे call करना हो तो import flyvision; flyvision.fly_emd_response(signal_a, signal_b, tau_s=0.05, dt_s=0.001), registry से लेना हो तो opsflyvision.get("fly_emd_response"))

उपयोग

दो पड़ोसी ommatidial signals के बीच Hassenstein-Reichardt correlator।

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

The opponent elementary motion detector::

R(t) = LP(a)(t) * b(t) - a(t) * LP(b)(t)

where LP is a first-order low-pass of time constant *tau_s*. Delaying one channel and multiplying it against the other, then subtracting the mirror pair, gives a signal whose sign is the direction of motion and whose steady-state mean encodes the temporal frequency.

signal_a / signal_b: the two 1-D input time series (same length).

tau_s: the low-pass time constant, seconds.

dt_s: the sample interval, seconds.

Returns a 1-D float64 array R(t) of the same length.

Ground truth: for two sinusoids of temporal frequency f (omega = 2 pi f) with a spatial phase psi = 2 pi dphi/lambda between them, the steady-state mean is R_bar = dI^2 * sin(psi) * omega tau/(1 + (omega tau)^2) (to 5%), which is zero at lambda = 2 dphi (psi = pi) and maximal at f = 1/(2 pi tau) independent of lambda (pinned in the tests).

Raises ValueError: a non-1-D / empty / too-short (< 2) / non-finite *signal_a* or *signal_b*, mismatched lengths, a signal over MAX_SIGNAL_POINTS, and a non-positive *tau_s* / *dt_s*.

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

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

fly_hex_quantize · fly_lgmd_eta · fly_tau_from_expansion · fly_dsi

इसी category के (motion)

—


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