lattice op• データ種: なし → table(引数だけで決まる op —— 画像やデータの入力を取らない)
• 呼び出し: import fullseye as fs; fs.ledger.fly_hex_lattice(radius=15, dphi_deg=4.63, az0_deg=0.0, el0_deg=0.0, geometry='regular') (実装を直接呼ぶなら import flyvision; flyvision.fly_hex_lattice(radius=15, dphi_deg=4.63, az0_deg=0.0, el0_deg=0.0, geometry='regular')、台帳から引くなら opsflyvision.get("fly_hex_lattice"))
Hexagonal ommatidial lattice: viewing directions of a compound eye.
A hexagon of `n = 3*radius*(radius+1)+1` ommatidia on axial coordinates
`(u, v) with -radius <= u <= radius` and
`max(-radius, -radius-u) <= v <= min(radius, radius-u)` (u outer, v inner),
each given an azimuth, an elevation and a unit viewing direction in body
coordinates (x forward, y left, z up; `az = atan2(y, x)` left positive,
`el = asin(z)`).
`geometry="regular": az = az0 + dphi*(v + u/2)`,
`el = el0 + dphi*(sqrt(3)/2)*u` — an isotropic hexagon.
`geometry="boxeye"`: the pixel-grid distortion of the connectome-derived
models, `pixel (y, x) = (13*(u + v/2), 13*v) with 13 px = dphi`, so
`az = az0 - v*dphi and el = el0 - (u + v/2)*dphi`; the diagonal neighbour
is 1.118x the axial spacing.
radius: the hexagon radius in ommatidia.
dphi_deg: the inter-ommatidial angle in degrees.
az0_deg / el0_deg: the direction of the lattice centre (the optical axis).
geometry: one of :data:GEOMETRIES.
Returns a dict ``{"uv": (n,2) int, "az_rad": (n,), "el_rad": (n,),
"dirs": (n,3) unit vectors, "dphi_rad": float, "geometry": str}``.
Ground truth: `n == 3*radius*(radius+1)+1 exactly, every dirs` row is a
unit vector, and for `"boxeye"` the ratio of the diagonal to the axial
nearest-neighbour angular spacing is 1.118 (both pinned in the tests).
Raises `ValueError: a *radius* outside [1, MAX_LATTICE_RADIUS]`, a
non-positive *dphi_deg*, a non-real / non-finite / string / bool angle, and an
unknown *geometry*.
• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。
• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。
• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。
• poc_fly_vision — py -3.11 examples/poc_fly_vision.py
• poc_print_registration — py -3.11 examples/poc_print_registration.py
table を入力に取れる)fly_hex_resample · fly_hs_readout
lattice)—
*Provenance: flyvision.py — FLYVISION operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.