tb_voxel_grid_downsample — 2D typed op

Data kinds: pointspoints

Call: fullseye.apply(img, "tb_voxel_grid_downsample", a=0.5, b=0.5) (the 2-D model is one image plus two scalar knobs a,b∈[0,1])

*No figure: this op takes points as input. A Studio program starting from an image cannot reach that type — see the runnable examples below for how it is used.*

Usage

Thins the point cloud with a grid of cell size voxel_size, aggregating each cell into a single centroid point (deterministic).

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

空間を一辺 `voxel_size` の立方体セルに区切り、同じセルに落ちた点をその重心

1 点で代表させる。密度ムラを均し、下流(ICP・特徴量)の計算量を点数で抑える標準手法。

出力順はボクセル座標の辞書順で固定(同じ入力なら常に同じ出力=決定論的)。

Parameters

----------

points : array_like, shape (N, 3)

入力点群。

voxel_size : float

セルの一辺(> 0)。大きいほど強く間引く。

Returns

-------

ndarray, shape (M, 3)

各占有セルの重心(M <= N)。すべて入力の軸並行 bounding box 内に収まる。

Notes

-----

`voxel_size <= 0` は ValueError。空入力は空 (0,3) を返す(graceful)。

重心はセル内の点の平均なので、必ず入力点の凸包(ゆえに bbox)内に入る。

2-D 進化レジストリへ橋渡しした 3d の op `voxel_grid_downsample。実装は同じで、呼び出し規約だけ op(v, a, b) に合わせてある。この op に調整点は無く、ab` も使われない。

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)

• (none yet)

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

identity · tb_points_to_voxel · tb_estimate_point_normals · tb_iss_keypoints · tb_angle_3points · tb_project_points · tb_render_point_depth · tb_statistical_outlier_removal

Same category (typed)

tb_points_to_voxel · tb_estimate_point_normals · tb_iss_keypoints · tb_angle_3points · tb_project_points · tb_render_point_depth · tb_statistical_outlier_removal · tb_radius_outlier_removal


*Provenance: ops.py — 2D 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.