distance_ridge — 3D medial op

Data kinds: voxelvoxel

Call: import fullseye as fs; fs.ledger.distance_ridge(vol, min_radius=0.0) (to call the implementation directly, import medial; medial.distance_ridge(vol, min_radius=0.0); from the registry, ops3d.get("distance_ridge"))

Return value through the ledger: fullseye.ledger.distance_ridge(...) returns **only the declared out type voxel** (the underlying function also returns auxiliary values). When you need what was dropped, use fullseye.ledger.distance_ridge.raw(...) or call medial.distance_ridge directly.

• Underlying return: (ridge, dist)

Usage

Extract the ridge of the EDT (the local maxima of the distance field) as the medial axis. Returns (ridge_mask, edt).

> The detailed description below is the original text — the summary and the headings are translated.

各前景 voxel の EDT を計算し、26 近傍の局所極大(自分の EDT が周囲 26 voxel の最大以上)を

medial とみなす。この基準は物体の局所次元に応じて自然に次元を出し分ける:

塊(球) -> EDT が単峰 -> 点状の medial(中心 1 点)。

管(円柱)-> 軸方向に平坦・半径方向に単峰 -> 線状の medial(軸線)。

板(スラブ)-> 面内で平坦・厚み方向に単峰 -> 面状の medial(中心面)。

境界 voxel は内側の隣が必ず大きいため極大にならず、外殻は自然に除かれる。平坦な尾根

(軸/面)は同値の隣接を許容(>=)することで連続した線/面として残る。

Args:

vol: バイナリ voxel(bool / 0-1 の 3D)。

min_radius: この EDT 値以下の弱い尾根を捨てる閾値(既定 0 = 捨てない)。ノイズ抑制用。

Returns:

ridge_mask (bool 3D): medial voxel。

edt (float64 3D): 各 voxel の背景までのユークリッド距離(= 局所半径)。

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

Runnable examples (verified samples that actually call this op)

pcl_geodesicpy -3.11 examples_3d/pcl_geodesic.py

Ops the type connects to (they accept voxel as input)

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

Same category (medial)

skeletonize_vol · medial_axis_points · topology_signature · medial_match · skeleton_junctions3d · skeleton_endpoints3d · skeleton_prune3d · skeleton_branches3d


*Provenance: medial.py — 3D operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

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