canny3d — 3D edges op

• Data kinds: voxel → voxel

• Call: import fullseye as fs; fs.ledger.canny3d(vol, low: 'float', high: 'float', sigma: 'float' = 1.0) -> 'np.ndarray' (implementation को सीधे call करना हो तो import edges3d; edges3d.canny3d(vol, low: 'float', high: 'float', sigma: 'float' = 1.0) -> 'np.ndarray', registry से लेना हो तो ops3d.get("canny3d"))

उपयोग

3D Canny edge detection (non-maximum suppression + hysteresis)।

Parameters

vol : (D,H,W) array

grey voxel।

low, high : float

hysteresis के निचले / ऊपरी threshold (gradient magnitude के सापेक्ष)। 0 <= low <= high, high > 0।

sigma : float

smoothing का standard deviation।

Returns

edge_mask : (D,H,W) bool

1 voxel तक thin किए गए edge।

Notes

(1) gradient3d से smoothed gradient लें → (2) gradient direction के साथ NMS (trilinear interpolation) से local maxima रखें

→ (3) high threshold को seed मानकर low threshold पर 26-connectivity से बढ़ाएँ। threshold absolute मान हैं, इसलिए object के अनुसार gmag.max() के scale पर देना robust है।

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• edges_3d — py -3.11 examples_3d/edges_3d.py

वे अगले ops जिनसे type जुड़ता है (voxel को input के रूप में लेते हैं)

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

इसी category के (edges)

gradient3d · log_zero_crossings · link_edges · edge_points


*Provenance: edges3d.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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