simulate op• データ種: table × table → points
• 呼び出し: import fullseye as fs; fs.ledger.acceptance_scan(sensor, artifact, seed=0) (実装を直接呼ぶなら import acceptance3d; acceptance3d.acceptance_scan(sensor, artifact, seed=0)、台帳から引くなら opsacceptance.get("acceptance_scan"))
• GPU: なし(CPU 参照実装のみ)
シミュレーションのセンサで 1 つの試験体を撮り、その点群 (N, 3) を返す(points)。
Scan one artefact (probe sphere, ball bar or plane from acceptance_layout) with a simulated sensor and return its points (N, 3) in the sensor frame, mm. For a ball bar the points of both spheres are concatenated in the order a, b (use virtual_acceptance_test for the split).
センサ(sensor の kind):
• "ideal" —— 真の視線距離をそのまま返す(雑音なし)。往復の検算用。
• "triangulation" —— 奥行き z に正規雑音 σ_z = z²·σ_d / (f·b)(z = f·b/d の誤差伝播、disparity_sigma_px = σ_d、baseline_mm = b)。構造化光・ステレオの雑音則の代表で、縞を描いて復号するわけではない(限界)。
• "itof" —— 既存の itof.itof_capture → itof.itof_phase_amplitude で 4 位相の生信号から距離を出す(ショット雑音・反射率・背景光・supersample による縁の混合 = フライングピクセル・ multipath_amplitude の 2 経路の多重反射)。多重反射は「全画素に一様な第 2 経路(余分な経路長 multipath_extra_mm)」の最も粗いモデル。
校正の誤差は逆投影に入る: fx_rel_error・fy_rel_error(相対)、cx_error_px・cy_error_px、距離の尺度 range_scale とオフセット range_offset_mm。真値は場面の解析解(光線と球・平面の交点)。
Raises ValueError: センサの表に kind が無い(空の表は既定値で黙って走らせない)・鍵が未知・値が範囲外、試験体が配置の形でない、点が 10 点未満しか写らない。
• optical_3d_acceptance ファミリ ガイド
• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。
• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。
• アルゴリズムの正典(著者・年)と用途は上記ファミリ使い方ガイドに記載。
• poc_virtual_acceptance_3d — py -3.11 examples/poc_virtual_acceptance_3d.py
points を入力に取れる)sphere_probing_error · sphere_spacing_error · plane_flatness_error
simulate)*Provenance: acceptance3d.py — ACCEPTANCE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.