sobel3d — 3D feature op

• Data kinds: voxel → gradient

• Call: import fullseye as fs; fs.ledger.sobel3d(vol, device='cpu') (implementation को सीधे call करना हो तो import match3d; match3d.sobel3d(vol, device='cpu'), registry से लेना हो तो ops3d.get("sobel3d"))

• Ledger के ज़रिए return value: fullseye.ledger.sobel3d(...) केवल घोषित out type gradient का value लौटाता है (मूल function सहायक जानकारी भी लौटाता है)। जो हिस्सा छोड़ दिया गया है उसकी ज़रूरत हो तो fullseye.ledger.sobel3d.raw(...) का उपयोग करें, या match3d.sobel3d को सीधे call करें।

• GPU: इस op का GPU path है (device="cuda")

उपयोग

3D gradient (gz,gy,gx)। derivative [-1,0,1] × smoothing [1,2,1] का separable conv3d।

vol को numpy या torch tensor (GPU पर भी) दोनों रूपों में लिया जाता है (scene_flow आदि में data को device पर बनाए रखने के लिए)।

Return value 3 torch tensor हैं (numpy नहीं), हर एक (1,1,D,H,W) float32, device पर। gz axis 0 की दिशा का, gy axis 1 का, gx axis 2 का derivative है (input (D,H,W) हो तो (depth,row,col) क्रम)। numpy में वापस लाने के लिए g[0, 0].cpu().numpy()।

Gain: derivative [-1,0,1] (slope 1 पर 2) × बाकी 2 axis का smoothing [1,2,1] (हर एक 4) से असली gradient का 32 गुना मिलता है (normalise नहीं होता)। असली मान चाहिए तो 32 से भाग दें (curvature_maps / scene_flow_lk अंदर ही भाग देते हैं। hessian3d का gain 1 है, इसलिए दोनों को मिलाते समय सावधान रहें)। किनारों पर replicate padding (boundary पर नकली edge नहीं बनते)। Tensor input 3-D हो तो batch dimension जोड़ा जाता है, 5-D हो तो वैसे ही इस्तेमाल होता है। dtype को float32 कर दिया जाता है।

आगे: curvature_maps / match_shape_3d के unit gradient, hough_plane_3d के normals। दिशा के बिना edge strength चाहिए तो morph_gradient3d भी विकल्प है।

संदर्भ (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 करते हैं)

• diff_features — py -3.11 examples_3d/diff_features.py

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

fuse_to_voxel

इसी category के (feature)

hessian3d · curvature_maps · edt_jfa · edt_jfa_vector · vol_frangi · vol_local_std · vol_local_thickness · vol_orientation_coherence


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

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