transform op• 資料種類:sdf → voxel
• 呼叫: import fullseye as fs; fs.ledger.sdf_to_occupancy(sdf, iso=0.0)(要直接呼叫實作,import match3d; match3d.sdf_to_occupancy(sdf, iso=0.0);從台帳取用則 ops3d.get("sdf_to_occupancy"))
SDF → occupancy voxel(小於等於 iso=內側=1)。從 SDF 回到 voxel。
僅為 (sdf <= iso).astype(float64) 的 op。依 signed_distance_field 的約定(內側 <0), iso=0.0 時內側=1、外側=0。包含等號,所以恰好等於 iso 的 voxel 歸入內側。iso 為正時得到向外膨脹 iso 個 voxel 的佔據,為負時得到收縮的佔據(若 SDF 是真實距離,則等同於等向 dilation/erosion)。對 tsdf_from_depth 的輸出(表面前方 +、後方 −、未觀測 +1)也可用同樣的 iso=0.0,但未觀測區域會落在 0 一側(外)。不限輸入形狀,回傳同形狀的 float64(0.0 / 1.0)。NaN 比較為假,因此變為 0 (無警告)。
★傳入標籤 volume 時背景會成為「內側」。backends_typed.TYPE_TO_SORT 將 sdf / labels / voxel 摺疊為同一個 volume,所以直接接上 label_components 或 vol_label 的輸出也不會拋例外。標籤中 0 為背景、1 以上為前景,所以 <= 0 就是背景本身。實測(2026-09-08,24³ 的立方體,真實內側 1,728 voxel): 傳入 SDF 得 1,728, 傳入同形狀的 0/1/2 標籤得 9,504(5.5 倍)—— 符號反轉了。要從標籤產生佔據,請不要用 iso,而是自己寫 labels > 0。
• 範例資料目錄(下載 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
transform)points_to_voxel · gaussians_to_voxel · mesh_to_voxel · mesh_to_points · depth_to_points · voxel_to_mips · voxel_to_mesh · tsdf_from_depth
*Provenance: match3d.py — 3D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.