fly_dsi — FLYVISION tuning op

Datenarten: signaltable

Aufruf: import fullseye as fs; fs.ledger.fly_dsi(responses, angles_deg) (die Implementierung direkt: import flyvision; flyvision.fly_dsi(responses, angles_deg); aus dem Register: opsflyvision.get("fly_dsi"))

Verwendung

> Für diesen Operator gibt es noch keine Übersetzung. Es folgt der Originaltext unverändert.

Direction-selectivity index and preferred direction from tuning responses.

A vector sum on the circle::

DSI = |sum_k r_k exp(i theta_k)| / (sum_k r_k + 1e-9)

preferred = angle(sum_k r_k exp(i theta_k))

where `r_k >= 0` is the response to a stimulus moving at angle

`theta_k = angles_deg[k]` (negatives clipped to 0).

responses: a 1-D array of responses, one per direction.

angles_deg: the stimulus directions in degrees, same length.

Returns a dict `{"dsi": float, "pref_deg": float} with pref_deg` in

`[-180, 180]`.

Ground truth: a response at a single direction gives `dsi == 1`; an isotropic

response over directions evenly spanning the circle gives `dsi == 0` (pinned

in the tests).

Raises `ValueError`: a non-1-D / empty / non-finite *responses* or

*angles_deg*, mismatched lengths, an array over :data:MAX_SIGNAL_POINTS, and

an all-zero *responses* (no direction tuning to report).

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

poc_fly_visionpy -3.11 examples/poc_fly_vision.py

Typkompatible Folge-Operatoren (nehmen table als Eingabe)

fly_hex_resample · fly_hs_readout

Gleiche Kategorie (tuning)


*Provenance: flyvision.py — FLYVISION Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.