contact_radius_ring — DRIVE tacsim op

• Data kinds: image2d × scalar → table

• Call: import fullseye as fs; fs.ledger.contact_radius_ring(h, pitch: 'float', n_az: 'int' = 72, step_px: 'float' = 0.25, r_max_px: 'float | None' = None) -> 'dict' (implementation को सीधे call करना हो तो import tacsim; tacsim.contact_radius_ring(h, pitch: 'float', n_az: 'int' = 72, step_px: 'float' = 0.25, r_max_px: 'float | None' = None) -> 'dict', registry से लेना हो तो opsdrive.get("contact_radius_ring"))

उपयोग

height field से contact radius a बिना model के पढ़ता है: contact edge r = a वह ring है जहाँ radial slope |∂h/∂r| अधिकतम है (Hertz में अंदर r/R से बढ़ता है और बाहर √ से तेज़ी से गिरता है, cusp)। azimuth में n_az radial lines के साथ |∇h| को step_px steps में bilinear interpolate करता है, हर line के peak को parabolic interpolation से subpixel बनाता है → 72 बिंदुओं पर measure.fit_circle (2nd implementation) और त्रिज्याओं का median।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

返り: a(中央値 × pitch)[m]、a_circle(円当てはめの半径 × pitch)、r_px・cy・cx・rms_px(円)、radii_px(方位角ごとのピーク半径)、centre(重心 (cy, cx))、bias_px_per_a(分解能の限界の目安 = −0.7 px / a、双線形補間がカスプを約 1 px 平滑するので a が 14 px なら −5 %、21 px なら −3 % 内側に出る —— 実測値、模型なしの代償)。しきい値の帯の重心(試作 v1)が 9 % 内側に寄った反省から、帯でなくピーク位置を使い、半径方向の傾きは h の双線形標本の 1 px スパン差分(np.gradient の 2 px より平滑が少ない)で取る。既定(r_max_px=None)は窓の縁 − 2 px まで探す。膜の裾の外側に別のピーク(隣の接触・縁の影)がある実機の画像では r_max_px を明示すること。Raises ValueError: へこみが無い、pitch ≤ 0、探索半径が 2 px 未満(へこみが窓の縁に寄りすぎ)。

संदर्भ (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_tacscalib_sphere_lut — py -3.11 examples/poc_tacscalib_sphere_lut.py

• poc_tacsim_elastic_membrane — py -3.11 examples/poc_tacsim_elastic_membrane.py

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

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

इसी category के (tacsim)

combined_modulus · hertz_sphere · hertz_force · hertz_cylinder · hertz_surface_uz · hertz_pressure · membrane_indent_sphere · membrane_indent_shape


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

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