fuzzy_measure_pairing — MEASURE1D caliper op

• 数据种类:image2d × measurehandle → table

• 调用: import fullseye as fs; fs.ledger.fuzzy_measure_pairing(image, measure, sigma=1.0, threshold=0.1, pair_size=None)(要直接调用实现,import measuring1d; measuring1d.fuzzy_measure_pairing(image, measure, sigma=1.0, threshold=0.1, pair_size=None);从台账取用则 opsmeasure1d.get("fuzzy_measure_pairing"))

用法

选择最符合模糊准则(预期宽度 pair_size)的边缘对(fuzzy_measure_pairing)。

步骤: 用 measure_pairs(image, measure, sigma, threshold) 取极性不同的相邻边缘对,给各对附上 fuzzy_score = exp(-((width - pair_size) / (0.5 pair_size))^2),并按得分降序排列。恰为预期宽度时为 1, 宽度偏离 ±0.5 pair_size 时为 e^-1 ≈ 0.37。第一个元素是最吻合的对。

• image: 2-D float(灰度值单位与输入相同)。

• measure: gen_measure_rectangle2 / gen_measure_arc 的 dict。

• sigma: 轮廓曲线的平滑 σ [采样]。threshold: 采用的边缘的最小 |灰度差|(图像单位)。

• pair_size: 预期宽度 [px]。为 None 时既不排序也不打分,原样返回 measure_pairs 的结果(沿测量线的顺序)。0 或负值不做校验(为 0 时分母变为 1e-9,所有对的得分几乎都压成 0 或 1)。

• 返回值: 对的 dict 的 list(table 类型)。各 dict 含 first / second (采样 index)、width [px]、first_point / second_point ((row, col))、first_amplitude / second_amplitude、fuzzy_score。1 个对都没有时返回空 list(不作为异常)。

想按宽度的下限、上限截取时,请自行用 width 过滤此结果(本 op 只做排序,不按阈值排除)。

详细使用指南

• subpixel_measuring 族使用指南

参考(示例数据、文献)

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

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

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

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

• poc_calipers_under_illusion — py -3.11 examples/poc_calipers_under_illusion.py

• poc_dimensional_inspection — py -3.11 examples/poc_dimensional_inspection.py

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

—

同类别(caliper)

gen_measure_rectangle2 · gen_measure_arc · translate_measure · measure_pos · measure_pairs


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

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