model op• 資料種類:metrologymodel → scalar
• 呼叫: import fullseye as fs; fs.ledger.add_metrology_object_circle_measure(model, row, col, radius, n: 'int' = 40) -> 'int'(要直接呼叫實作,import metrology; metrology.add_metrology_object_circle_measure(model, row, col, radius, n: 'int' = 40) -> 'int';從台帳取用則 opsmeasure1d.get("add_metrology_object_circle_measure"))
新增圓量測物件(add_metrology_object_circle_measure)。
把參考圓(中心 (row, col)、半徑 radius [px])堆疊到 model["objects"] (原地更新 dict)。apply_metrology_model 在把圓周 n 等分的角度上放置點,在各點沿半徑方向(外法線)拉出量測線,取得次像素邊緣,用最小平方圓擬合重新求出中心與半徑。
• radius: 參考半徑 [px]。與實物的偏差必須落在 apply 的 measure_length (預設 ±6 px)以內 —— 超出範圍的邊緣找不到。
• n: 圓周上的取樣數(預設 40)。半徑越大的圓越應增加。
• 參數在此不做驗證(0 以下的半徑也能堆疊,但沒有意義)。
• 回傳值: 新增位置的 index(從 0 開始)。apply 結果的 params 為 row / col / radius,rms 為距圓的徑向殘差 [px]。
用於孔徑、銷徑的檢查以及圓形零件的定心。
n 的參考值(2026-09-15 實測,模糊 σ=1 px 的合成圓盤):偏差與 n 無關(R=8〜128 px、n=6〜240 時固定在 ±0.005 px 以內。偏差本身因邊緣圓化隨 R 變化,−0.09 → −0.006 px)。n 影響的是離散:雜訊 σ=0.03 時,只要圓周上的取樣間隔 2πR/n 約 3 px 以上,std·√n 就保持固定(= 樣本獨立,std ∝ 1/√n),再加密也不再下降(R=16:n=40 時 0.0174,n=240 時 0.0164 px)。因此超過 n ≈ 2πR / 3(R=20 時 40 = 預設值,R=64 時 130,R=128 時 270)只會增加時間(n=1000 時 22 ms)。圓周缺 25 % 時增大 n 也修不好偏差(−0.005 → −0.020 px)。若只是缺口一側找不到邊緣,rms 反而下降(0.051 → 0.018);若在缺口邊界拾取了假邊緣,rms 會跳升 —— 缺口僅憑 rms 看不出,所以也要把 edge_points 的個數作為門(examples/example_inner_diameter_mm.py)。參考半徑的偏差以 measure_length(預設 ±6 px)為上限,+5.5 px 可通過,+6.5 px 時 params=None。
空輸入(model 為空 dict)會引發 ValueError。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• 演算法的正典(作者、年份)與用途見上面的族使用指南。
• example_inner_diameter_mm — py -3.11 examples/example_inner_diameter_mm.py
• poc_calipers_under_illusion — py -3.11 examples/poc_calipers_under_illusion.py
• poc_dimensional_inspection — py -3.11 examples/poc_dimensional_inspection.py
• poc_telecentric_metrology — py -3.11 examples/poc_telecentric_metrology.py
scalar 作為輸入)—
model)create_metrology_model · add_metrology_object_line_measure · add_metrology_object_rectangle2_measure · add_metrology_object_ellipse_measure · add_metrology_object_generic
*Provenance: metrology.py — MEASURE1D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.