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.