pegsym op• データ種: image2d → table
• 呼び出し: import fullseye as fs; fs.ledger.polygon_yaw_read(topview, n: 'int | None' = None, polarity: 'str' = 'dark', K: 'int' = 24, rel: 'float' = 0.02) -> 'dict' (実装を直接呼ぶなら import pegsym; pegsym.polygon_yaw_read(topview, n: 'int | None' = None, polarity: 'str' = 'dark', K: 'int' = 24, rel: 'float' = 0.02) -> 'dict'、台帳から引くなら opsdrive.get("polygon_yaw_read"))
上から見た図(plane_topview、列 = +x・行 = −y)の物体の輪郭(副画素の等値線、pegtactile と同じ threshold_sub_pix) の複素フーリエ係数から、向きを周期 2π/n を法として読む。n 回対称なら非零の係数は k ≡ 1 (mod n) だけで、arg(c₁₋ₙ c₁ⁿ⁻¹)/n は始点に依らない(pegtactile.symmetry_order_contour)。n を渡すと検出した n でなくその n の位相を使う(図面で n が分かっている時。実画像の縁の揺れで余分な係数が有意になっても位相は読める)。polarity = 物体が暗い("dark"、穴)か明るい("bright"、ペグの端面)。濃淡は 2 % と 98 % の分位で 0..1 に伸ばしてから 0.5 の等値線。返り n_detected・n_used・yaw(世界の向き、像の行が −y なので符号を戻す、周期 2π/n_used の代表 [0, P))・centroid_px (row, col)・amps。n_used = 0(円)なら yaw = nan。Raises ValueError: polarity が不明、像が平ら、輪郭が無い、n < 0。
• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。
• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。
• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。
• poc_peg_symmetry_search — py -3.11 examples/poc_peg_symmetry_search.py
table を入力に取れる)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
pegsym)polygon_peg · polygon_offset · polygon_fit_check · rotation_window · polygon_two_point_depth · polygon_coverage_image · plane_topview · relative_yaw_from_images
*Provenance: pegsym.py — DRIVE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.