feature op• データ種: voxel → measurement
• 呼び出し: 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.
• サンプルデータ カタログ(DL URL / ライセンス) — 2-D は skimage.data(BSD/public)+ 合成、3-D は実データ源(Stanford/PDS 等)の DL URL。
• 演算子の来歴・参考文献 — この op 族の元になった研究/手法の出典。
• ct_porosity_and_fibre_morphometry — py -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 operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.