fullseye

vol_boundary — 3D boundary op

使い方

Boundary shell of a binary volume (the 3-D region_boundary).

side='inner' keeps the foreground voxels that touch background: mask & ~erode(mask). side='outer' keeps the background voxels that touch foreground: dilate(mask) & ~mask. connectivity (6/18/26) decides which neighbours count as “touching” — 6 uses face neighbours only (the thinnest shell); 26 also counts a diagonal background contact, so shells at convex corners come out thicker. The volume border counts as background for the inner shell (a mask reaching the border has a boundary there — the same convention as the surface-area estimate in :func:vol_region_props); the outer shell can only occupy voxels that exist, so a mask filling the whole volume has an empty outer boundary.

A solid region’s interior drops out entirely: the shell of a solid ball of radius r voxels is roughly a 3/r fraction of it (surface over volume), so the saving grows with size — which is exactly why boundary representations (and :func:vol_boundary_points) are the memory-frugal way to hand a shape to the point-cloud / metrology operators.

Returns a (D, H, W) float64 {0, 1} volume (chainable into :func:vol_label, :func:vol_boundary_points, …).

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

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

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

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

同カテゴリ(boundary)

vol_boundary_points


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

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