fusion op• 資料種類:any → voxel
• 呼叫: import fullseye as fs; fs.ledger.fuse_to_voxel(items, size=64, bounds=None, device='cpu', smooth=0.8)(要直接呼叫實作,import fuse3d; fuse3d.fuse_to_voxel(items, size=64, bounds=None, device='cpu', smooth=0.8);從台帳取用則 ops3d.get("fuse_to_voxel"))
• 經台帳呼叫的回傳值: fullseye.ledger.fuse_to_voxel(...) 只回傳宣告的 out 型別 voxel 的值(底層函式還會回傳輔助資訊)。需要被捨棄的部分時,請用 fullseye.ledger.fuse_to_voxel.raw(...),或直接呼叫 fuse3d.fuse_to_voxel。
• 底層回傳: (voxel, bounds)
• GPU:該運算子有 GPU 路徑(device="cuda")
把多種結構融合到共同的密度體素(TRIZ 整合)。items=[(data,kind,params_dict), ...]。
將 mesh(topology)+ points(sample)+ depth(觀測)等互補的結構合為 1 種表示。回傳值 (voxel, bounds)。
步驟: 以 to_points(data, kind, **params) 將各 (data, kind, params) 轉為點雲後縱向串接,再以 match3d.points_to_voxel splat 到 size^3 的密度網格(每個點落入的 cell +1,若 smooth > 0 則以 σ = smooth voxel 的 Gaussian 平滑)。bounds=None 時以串接後點雲的 (min, max) 作為網格範圍。
參數:
• items: 非空的 list/tuple,各元素為長度 3 的 (data, kind, params_dict) (params_dict 必須是 dict)。若要改變 to_points 的 samples,則在 params 中放入 samples=。
• size: 每 1 軸的 voxel 數(固定為立方網格)。
• bounds: (lo, hi),各自長度為 3。將多個點雲放到同一網格上時(比較、voxel_iou)務必明確指定。
• device: torch 裝置("cpu" / "cuda")。smooth: Gaussian σ [voxel]。
回傳值: (voxel, bounds) —— voxel 是 (size, size, size) float64 的 點數密度(總和 ≈ 總點數,不是機率),bounds 是實際使用的 (lo, hi)。網格 index 為 points_to_voxel 的 floor((p - lo) / span * (size - 1)), 軸 0 對應點的 x 分量(voxel 的軸順序 = 點的分量順序)。
驗證(ValueError): items 不是 list/tuple、為空、元素不是 3 元組、params 不是 dict(在入口處阻止直接傳入原始資料的誤用)。
• depth_sensors — 深度感測器知識 —— 測距原理、實機數值、缺測的表現
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• transforms_repr — py -3.11 examples_3d/transforms_repr.py
voxel 作為輸入)voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa
fusion)*Provenance: fuse3d.py — 3D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.