robust_gaussian_profile — ROUGHNESS prepare op

• 数据种类:signal → signal

• 调用: import fullseye as fs; fs.ledger.robust_gaussian_profile(z, dx, lambda_c, c=4.4, order=1, robust=True, truncate=1.0, max_iter=None, tol=1e-06)(要直接调用实现,import roughness; roughness.robust_gaussian_profile(z, dx, lambda_c, c=4.4, order=1, robust=True, truncate=1.0, max_iter=None, tol=1e-06);从台账取用则 opsroughness.get("robust_gaussian_profile"))

• 经台账调用的返回值: fullseye.ledger.robust_gaussian_profile(...) 只返回声明的 out 类型 signal 的值(底层函数还会返回辅助信息)。需要被丢弃的部分时,使用 fullseye.ledger.robust_gaussian_profile.raw(...),或直接调用 roughness.robust_gaussian_profile。

• 底层返回: (roughness, mean_line, info)

用法

稳健高斯回归滤波器(截面):不被离群点和划痕拖动的平均线与粗糙度。

> 以下的详细说明为原文 —— 摘要与标题已翻译。

ガウス重みの局所回帰(次数 order)に Tukey の biweight を掛けて反復する。普通のガウスフィルタは深い溝や突起にそのまま引きずられ、平均線が傷の側へ凹む。この op は傷の部分の重みを下げる(|r| ≥ c·median|r| で 0)ので、平均線は傷を無視する。

戻り値は (roughness, mean_line, info)。roughness = z - mean_line。端は 削らず 全長を返す(窓に入るデータだけで回帰するので、ガウス平均と違って端でも偏らない。端の信頼度が気になるなら両端 λc/2 を捨てる)。info は反復回数・収束・重みの要約。

引数

z 断面 z[i](1 次元、有限値のみ)。

dx 標本間隔。

lambda_c カットオフ波長(透過率 50 %)。2*dx 以上、評価長さ以下。

c biweight の定数(既定 4.4)。しきい値は c × median|残差|。

order 0 = 重み付き平均、1 = 局所直線(既定)。内部の核はどちらも同じで、

カットオフでの透過率は 0.5(閉形式 exp(-π (α λc f)²)、f = 1/λc)。

robust False なら重み 1 のまま(普通の線形ガウス回帰。比較・基準用)。

truncate 窓の半径 truncate·λc(0.5 以上)。既定 1.0。0.75(GAUSS_TRUNCATE)に

すると、既存の surface_filter と内部で一致する(0.5 は規格の文面の打ち切り)。

max_iter 反復の上限(None = 200)。収束しなければ 拒否する。

tol 収束判定: 平均線の変化の最大が tol × median|残差| 以下。

fail-closed

• 配列が 1 次元でない / 8 点未満 / NaN・Inf を含む。

• dx / lambda_c / c / tol が有限の正でない、lambda_c が範囲外、order が 0/1 以外、truncate < 0.5。

• 窓の中に重みを持つデータが無い(傷が窓より広い)/ 正規方程式が退化する。

• biweight の反復が max_iter 回で収束しない(外れ値が半数に近い等)。

出典(式は論文のものを再実装。規格の本文は写していない): ISO 16610-21 / -31 のガウス回帰の考え方、Seewig, "Gaussian Regression Filters"(*Computational Surface and Roundness Metrology*, Springer 2009)、沼田・藤原・舟橋・輿水、精密工学会誌 76 (2010)(高速 M 推定)。

详细使用指南

• surface_roughness 族使用指南

参考(示例数据、文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

• 算法的正典(作者、年份)与用途见上面的族使用指南。

可运行的示例(实际调用该算子并已验证的样例)

• example_robust_profile_filter — py -3.11 examples/example_robust_profile_filter.py

• poc_robust_profile_filter — py -3.11 examples/poc_robust_profile_filter.py

类型可衔接的下一个算子(可接受 signal 作为输入)

robust_spline_profile · profile_params

同类别(prepare)

surface_form_remove · surface_filter · robust_spline_profile · robust_gaussian_surface


*Provenance: roughness.py — ROUGHNESS 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

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