fly_eye_merge — FLYVISION selfmotion op

• 資料種類:table × table → table

• 呼叫: import fullseye as fs; fs.ledger.fly_eye_merge(lattice_a, lattice_b, *more)(要直接呼叫實作,import flyvision; flyvision.fly_eye_merge(lattice_a, lattice_b, *more);從台帳取用則 opsflyvision.get("fly_eye_merge"))

用法

> 該運算子的說明尚無譯文,以下照原文給出。

Several lattices seen as one wide eye — the viewing directions of all of them.

:func: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 :func: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

:func:fly_matched_filter and :func:fly_egomotion_from_flow take;

:func:fly_hex_resample and :func: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.

詳細使用指南

• fly_vision 族使用指南

參考(範例資料・文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

• 演算法的正典(作者・年份)與用途見上面的族使用指南。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• poc_fly_optomotor_steering — py -3.11 examples/poc_fly_optomotor_steering.py

型別可銜接的下一個運算子(可接受 table 作為輸入)

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 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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