gaussians_to_voxel — 3D transform op

Data kinds: pointsvoxel

Call: import fullseye as fs; fs.ledger.gaussians_to_voxel(means, scales, opacities, size, bounds, device='cpu') (to call the implementation directly, import match3d; match3d.gaussians_to_voxel(means, scales, opacities, size, bounds, device='cpu'); from the registry, ops3d.get("gaussians_to_voxel"))

GPU: this op has a GPU path (device="cuda")

Usage

3DGS (anisotropic Gaussians) → a density voxel volume. Each Gaussian is placed at its mean with its opacity, then smoothed by the mean scale.

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

近似(等方 splat + 平滑): 厳密な異方共分散ラスタライズは重いので、まず means を opacity 重み

で splat → scale 平均ぶん gaussian 平滑。マッチングの coarse alignment には十分。

引数: `means (N,3) 中心、opacities` は長さ N に reshape されて splat の重みになる

(`points_to_voxel が 1 を足すところに opacity を足す)。scales` は形を問わず

平均値 1 つにまとめ、`σ = mean(scales)/mean(hi − lo)·size`(world 長 → voxel 長)を

平滑幅にする(下限 0.5 voxel。`scales` が空なら σ=1)。異方性・回転は無視される。

`bounds=(lo, hi) は必須(None 不可。_lo_hi` で検証し不正なら ValueError)。範囲外の

中心は端 voxel に clip される。返り値 `(size, size, size) float64、軸順は means` の列順。

opacity の総和はほぼ保存されるが正規化はしない。点群に落とすなら `gaussians_to_points`。

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.

Runnable examples (verified samples that actually call this op)

transforms_reprpy -3.11 examples_3d/transforms_repr.py

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

voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa

Same category (transform)

points_to_voxel · mesh_to_voxel · mesh_to_points · depth_to_points · voxel_to_mips · voxel_to_mesh · tsdf_from_depth · signed_distance_field


*Provenance: match3d.py — 3D 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.