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)
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] 度の外。
• optical_3d_acceptance family guide
• 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.
• poc_virtual_acceptance_3d — py -3.11 examples/poc_virtual_acceptance_3d.py
table as input)acceptance_verdict · acceptance_scan · virtual_acceptance_test · acceptance_error_budget
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.