fullseye

vol_boundary_points — 3D boundary op

使い方

Boundary shell as an (N, 3) point cloud in (z, y, x) order.

The bridge from the voxel world to the point-cloud world at minimal memory: only the surface voxels of the mask become points (inner boundary, see :func:vol_boundary), so a solid object of a million voxels typically yields a few tens of thousands of points — ready for fit_sphere3 / smallest_box3 / register_fpfh and friends without ever materialising the full grid as points.

Coordinates are (index + origin) * spacing per axis: pass spacing (sz, sy, sx) (or a :class:volio.VolumeMeta) for physical millimetre coordinates, and pass the offset returned by :func:vol_crop_domain as origin so points from a cropped volume land in the uncropped frame (origin is in voxel units — it is added to the index before the spacing multiply; it must be finite, and may be fractional for a subvoxel shift). An empty mask returns an empty (0, 3) array (a valid question with a valid empty answer — unlike a crop, which needs a box to exist).

Returns an (N, 3) float64 array, rows ordered z-major (deterministic).

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

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

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

points_to_voxel · gaussians_to_voxel · estimate_point_normals · to_points · match_points_ncc · match_pca · moment_axes · icp_point2point_3d

同カテゴリ(boundary)

vol_boundary


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

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