fullseye

vol_orientation_coherence — 3D feature op

使い方

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].

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(voxel を入力に取れる)

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.