pegtactile op• Data kinds: matrix → table
• Call: import fullseye as fs; fs.ledger.symmetry_order_contour(contour, K: 'int' = 24, rel: 'float' = 0.01) -> 'dict' (implementation को सीधे call करना हो तो import pegtactile; pegtactile.symmetry_order_contour(contour, K: 'int' = 24, rel: 'float' = 0.01) -> 'dict', registry से लेना हो तो opsdrive.get("symmetry_order_contour"))
बंद contour (N, 2) = (row, col) के complex Fourier coefficients (fourierdesc.contour_fourier_complex, arc length से resample, ±K orders) से n-fold symmetry का order पढ़ता है: n-fold symmetric हो तो non-zero coefficients केवल k ≡ 1 (mod n) पर होते हैं। महत्वपूर्ण (|c_k| > rel·|c_1|, k ≠ 0, 1) k के (k − 1) का GCD n है। कोई महत्वपूर्ण k न हो तो वृत्त (n = 0 = continuous)। दिशा α̂ = arg(c₁₋ₙ c₁ⁿ⁻¹)/n (शुरुआती बिंदु के चुनाव से स्वतंत्र invariant, mod 2π/n)। n = 1 पर c₂ c₁⁻² से α̂ = −arg(·) —— k = −1 (amplitude 3 गुना) का स्थिर phase आकार पर निर्भर है, इसलिए branch (α / α + π) reference के बिना तय नहीं हो सकती (prototype में 180° की गलती हुई)। return n, angle (rad, n = 0 पर nan), amps (k → |c_k|/|c_1|), sig, centroid (c₀ = (row, col))। 2nd-order moments की दिशा n ≥ 3 पर inertia isotropic होने से उपयोगी नहीं (PoC के जाल का gate)। Raises ValueError: contour (N ≥ 8, 2) नहीं, K < 6।
• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।
• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।
• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।
• poc_peg_insertion_tactile — py -3.11 examples/poc_peg_insertion_tactile.py
table को input के रूप में लेते हैं)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
pegtactile)pad_params · pad_context · peg_wrench_to_pad_loads · pad_loads_to_peg_wrench · pad_shear_asymmetry · pad_marker_displacement · pad_tactile_frame · pad_tactile_read
*Provenance: pegtactile.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.