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 패밀리 가이드

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL 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 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

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