acceptance_layout — ACCEPTANCE layout op

• Data kinds: none → table (an op determined by its arguments alone — it takes no image or data input)

• Call: import fullseye as fs; fs.ledger.acceptance_layout(volume_mm=(400.0, 300.0, 300.0), center_mm=(0.0, 0.0, 800.0), sphere_diameter_mm=25.0, bar_length_mm=None, plane_size_mm=(300.0, 150.0), plane_tilt_deg=25.0) (to call the implementation directly, import acceptance3d; acceptance3d.acceptance_layout(volume_mm=(400.0, 300.0, 300.0), center_mm=(0.0, 0.0, 800.0), sphere_diameter_mm=25.0, bar_length_mm=None, plane_size_mm=(300.0, 150.0), plane_tilt_deg=25.0); from the registry, opsacceptance.get("acceptance_layout"))

• GPU: none (CPU reference implementation only)

Usage

Builds the layout of the test artefacts in the measuring volume (1 probing sphere, ball bar in 7 positions, flat in 7 positions) (table).

> The detailed description below is the original text — the summary and the headings are translated.

Place the artefacts in the measuring volume: one probing sphere at the centre, a ball bar in 7 orientations and a flat in 7 orientations. Coordinates are the sensor frame (x right, y down, z along the optical axis, mm), the volume a box of volume_mm centred on center_mm.

ダンベルの 7 姿勢 = 空間対角線 4 本 + 面の対角線 3 本(xy・xz・yz)、どれも体積の中心を通る。光軸(z)に平行な姿勢は手前の球が奥の球を隠すので取らない。平面の 7 姿勢 = 正対 1 + x 軸・y 軸まわりに ±plane_tilt_deg の 4 + 対角の軸まわり ±tilt の 2。★これは Fullseye の約束 で、VDI/VDE 2634 の図の写しではない(考え方 = 体積を対角に貫く長さで尺度の誤差を見る、に沿っただけ)。This 7+7 convention is Fullseye's own, modelled on the guideline's idea (span the volume diagonally so a scale error shows up); it is not a copy of the normative figure.

bar_length_mm の既定 = 7 方向のうち最も短い「体積を貫く長さ」の 0.8 倍から球の直径を引いた値。

返す dict: kind = "acceptance_layout"、volume_mm、center_mm、sphere_diameter_mm、bar_length_mm、probe([{"center", "diameter"}])、bars(7 個の {"name", "center_a", "center_b", "length", "diameter", "direction"})、planes(7 個の {"name", "center", "normal", "u", "v", "size"})。

Raises ValueError: 寸法が正でない・非有限、center_mm の z が体積の半分以下(センサの後ろに入る)、球やダンベルや平面が体積からはみ出す、平面の傾きが [0, 60] 度の外。

Detailed usage guide

• optical_3d_acceptance family guide

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• poc_virtual_acceptance_3d — py -3.11 examples/poc_virtual_acceptance_3d.py

Ops the type connects to (they accept table as input)

acceptance_verdict · acceptance_scan · virtual_acceptance_test · acceptance_error_budget

Same category (layout)

—


*Provenance: acceptance3d.py — ACCEPTANCE operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

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