fullseye

gaussians_to_voxel — REPRCONV gaussians op

使い方

gaussians → 密度 voxel (D,H,W)gaussians の 2 つ目の出口。

各ガウシアンを truncate * sigma で打ち切って加算する。格子の原点と 刻みを明示引数にしてあるのが要点で、既定の spacing=(1,1,1) を そのまま使うと「世界座標をそのまま添字にする」ことになり、実データでは まず間違う —— しかも例外は出ず、密度が別の場所に立つだけなので気づけない。 tests/test_reprconv.py はこの取り違えを明示的に測っている。

不可逆。損失は 3 つあり、どれも数字で測れる:

Args: gaussians: mu / sigma / w を持つ dict。mu は (z, y, x)。 shape: (D, H, W)。 origin: 格子の (z, y, x) 原点(世界座標)。 spacing: 格子の (dz, dy, dx) 刻み(世界単位 / voxel)。 truncate: 何 sigma で打ち切るか(既定 3)。 Returns: (D, H, W) float64 の密度(値は「voxel あたりの重み和」で、体積積分が sum(w) に近づく)。 Raises: ValueError: shape/spacing 不正 / truncate <= 0 / gaussians 不正。

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(voxel を入力に取れる)

correlation_score

同カテゴリ(gaussians)

points_to_gaussians · gaussians_to_points


Provenance: reprconv.py — REPRCONV operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

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