marker_divergence — DRIVE tactorque op

• Data kinds: matrix × matrix × scalar → table

• Call: import fullseye as fs; fs.ledger.marker_divergence(pts, u, radius: 'float', min_neighbors: 'int' = 4, k_max: 'int' = 24) -> 'dict' (implementation को सीधे call करना हो तो import tactorque; tactorque.marker_divergence(pts, u, radius: 'float', min_neighbors: 'int' = 4, k_max: 'int' = 24) -> 'dict', registry से लेना हो तो opsdrive.get("marker_divergence"))

उपयोग

बिखरे markers pts (N, 2) और displacements u (N, 2) से हर बिंदु का divergence div = ∂ux/∂x + ∂uy/∂y और curl curl = ∂uy/∂x − ∂ux/∂y (इकाई = u की इकाई ÷ pts की इकाई)। पड़ोस त्रिज्या radius के भीतर (अधिकतम k_max) बिंदुओं पर plane c0 + c1 x + c2 y least squares से fit करता है (नियमित grid + त्रिज्या 1.01 pitch पर यह 5-point central difference के बराबर है और sceneflow.flow_divergence से 1e-15 तक मेल; त्रिज्या 1.5 pitch के 9 बिंदु row-averaged difference देते हैं जो किनारे पर 11 % अलग है, मापा गया)। normal equations को सभी बिंदुओं के लिए एक साथ हल करता है। min_neighbors से कम पड़ोसी वाले, या singular (collinear) normal equations वाले बिंदुओं पर valid = False, div/curl = nan (fail-closed: चुपचाप 0 नहीं)। FEM के बिखरे nodes पर भी यही op। Raises ValueError: pts/u (N, 2) नहीं, shapes अलग, radius ≤ 0, N < min_neighbors।

संदर्भ (sample data, साहित्य)

• 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 में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_tactile_dipole_torque — py -3.11 examples/poc_tactile_dipole_torque.py

वे अगले ops जिनसे type जुड़ता है (table को input के रूप में लेते हैं)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

इसी category के (tactorque)

punch_pressure · punch_surface_uz · hertz_pressure_shifted · ellipse_pressure_shifted · pressure_first_moment · boussinesq_kernel · boussinesq_surface_displacement · surface_divergence_closed_form


*Provenance: tactorque.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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