feature opvoxel → voxelimport fullseye as fs; fs.ledger.vol_orientation_coherence(vol, sigma=1.0, rho=3.0) (実装を直接呼ぶなら import volops; volops.vol_orientation_coherence(vol, sigma=1.0, rho=3.0)、台帳から引くなら ops3d.get("vol_orientation_coherence"))How strongly the local structure points one way (3-D structure tensor).
Builds J = G_rho * (grad I)(grad I)^T and returns
(l1 - l3) / (l1 + l2 + l3), l1 >= l2 >= l3
in [0, 1]: 1 where one direction dominates (a fibre, a lamella edge,
a crack face), 0 where the gradient is isotropic (a uniform block, white
noise) or where two directions are equally strong. sigma smooths before
differentiating (so noise is not differentiated into structure); rho is the
integration width — make it larger than the spacing of the structure you are
measuring.
HALCON computes this tensor and throws it away: coherence_enhancing_diff
uses it to steer a diffusion but exposes neither the orientation nor the
coherence. Returning the measurement is the point of this operator.
Applicability. (1) rho too small collapses the tensor to rank 1 and
the answer sticks at 1 everywhere — that is not perfect alignment, it is a
failure to measure. (2) Two fibre families crossing at equal strength read
as 0, indistinguishable from a uniform block; pair it with vol_local_std
to tell “no direction” from “no structure”. (3) Voxels whose tensor trace is
below 1e-6 of the volume maximum return 0.
Returns a (D, H, W) float64 volume in [0, 1].
py -3.11 examples_3d/ct_porosity_and_fibre_morphometry.pyvoxel を入力に取れる)voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa
feature)sobel3d · hessian3d · curvature_maps · edt_jfa · edt_jfa_vector · vol_frangi · vol_local_std · vol_local_thickness
Provenance: volops.py — 3D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.