vol_granulometry — 3D feature op

数据种类:voxelmeasurement

调用: import fullseye as fs; fs.ledger.vol_granulometry(vol_binary, radii=None, spacing=None)(要直接调用实现,import volops; volops.vol_granulometry(vol_binary, radii=None, spacing=None);从台账取用则 ops3d.get("vol_granulometry"))

经台账调用的返回值: fullseye.ledger.vol_granulometry(...) 只返回**声明的 out 类型 measurement 的值**(底层函数还会返回辅助信息)。需要被丢弃的部分时,使用 fullseye.ledger.vol_granulometry.raw(...),或直接调用 volops.vol_granulometry

• 底层返回: 中央径

用法

二值体的孔径・粒径分布(来自开运算序列)。

> 以下的详细说明为原文 —— 摘要与标题已翻译。

Opening by a ball of radius `r deletes every feature narrower than 2r`.

Tracking the surviving volume fraction as `r` grows gives the cumulative

size distribution `F(r)`; its negative increment is the size density — the

fraction of material that sits in features of that size. This is Matheron's

granulometry, the measurement behind every "pore size distribution" plot in

casting, foam and powder work.

Computed from the local-thickness volume rather than by repeated openings:

the two agree exactly (a voxel survives the opening of radius `r` iff its

local thickness is at least `2r`) and one distance transform replaces N

morphological passes.

*radii* are in the units of *spacing* (millimetres when *spacing* is given,

voxels otherwise); leave it `None for min(spacing)`-steps up to the

largest thickness present. Returns ``{"radii": [...], "surviving_fraction":

[...], "density": [...], "mean_size": float, "d50": float, "units": "mm"|"voxel"}``

where sizes are diameters (`2r`), because that is what a pore diameter

means.

Applicability. (1) A distribution is only as good as the threshold that

made the binary volume — report it. (2) Features touching the volume border

are truncated and bias the distribution downward; crop or state it.

(3) `d50` is interpolated between the two bracketing radii, so it is no

finer than the radius step.

HALCON has no granulometry operator.

参考(示例数据・文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

可运行的示例(实际调用该算子并已验证的样例)

ct_porosity_and_fibre_morphometrypy -3.11 examples_3d/ct_porosity_and_fibre_morphometry.py

类型可衔接的下一个算子(可接受 measurement 作为输入)

vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle

同类别(feature)

sobel3d · hessian3d · curvature_maps · edt_jfa · vol_frangi · vol_local_std · vol_local_thickness · vol_orientation_coherence


*Provenance: volops.py — 3D 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

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