robust_spline_profile — ROUGHNESS prepare op

• Data kinds: signal → signal

• Call: import fullseye as fs; fs.ledger.robust_spline_profile(z, dx, lambda_c, c=4.4, robust=True, max_iter=None, tol=1e-06) (implementation को सीधे call करना हो तो import roughness; roughness.robust_spline_profile(z, dx, lambda_c, c=4.4, robust=True, max_iter=None, tol=1e-06), registry से लेना हो तो opsroughness.get("robust_spline_profile"))

• Ledger के ज़रिए return value: fullseye.ledger.robust_spline_profile(...) केवल घोषित out type signal का value लौटाता है (मूल function सहायक जानकारी भी लौटाता है)। जो हिस्सा छोड़ दिया गया है उसकी ज़रूरत हो तो fullseye.ledger.robust_spline_profile.raw(...) का उपयोग करें, या roughness.robust_spline_profile को सीधे call करें।

• मूल function का return: (roughness, mean_line, info)

उपयोग

Robust spline filter (profile): ऐसी mean line और roughness जिसे outliers खींच नहीं पाते।

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

平均線 w を Σ δ_i (z_i - w_i)² + β Σ (Δ² w)_i² の最小化で求める(2 階差分の罰則つき最小二乗 = 離散の三次平滑化スプライン、Whittaker 1923 / Eilers 2003 / Krystek, Measurement 18 (1996) 9-15)。重み δ は biweight で反復して更新する。ガウスと違って 端に自然境界条件が付く ので、端を削らなくても平均線が端で外へ振れにくい。

β = 1 / (16 sin⁴(π dx/λc)) と置くと、線形(robust=False)の内部の伝達関数が H(λ) = 1 / (1 + (sin(π dx/λ) / sin(π dx/λc))⁴) になり、λ = λc でちょうど 50 % (閉形式)。dx/λ が小さい極限では 1/(1+(λc/λ)⁴)(張力 0 の三次スプラインフィルタの形)。

戻り値は (roughness, mean_line, info)。引数と fail-closed は robust_gaussian_profile と同じ(order / truncate は無い)。重みを持つデータが 2 点未満なら拒否する。

उपयोग की विस्तृत guide

• surface_roughness family guide

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

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

robust_gaussian_profile · profile_params

इसी category के (prepare)

surface_form_remove · surface_filter · robust_gaussian_profile · robust_gaussian_surface


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

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