morphology op• Data kinds: voxel → voxel
• Call: import fullseye as fs; fs.ledger.morph_gradient3d(vol, r=1, device='cpu', se='cube') (implementation को सीधे call करना हो तो import match3d; match3d.morph_gradient3d(vol, r=1, device='cpu', se='cube'), registry से लेना हो तो ops3d.get("morph_gradient3d"))
• GPU: इस op का GPU path है (device="cuda")
3D morphological gradient = dilation − erosion। boundary/surface निकालता है (sobel के विकल्प के रूप में edge source)।
उसी SE (side length 2r+1 का cube या त्रिज्या r का ball) पर local max − local min। मान हमेशा 0 या अधिक होता है, uniform क्षेत्र में 0, और उजले/अंधेरे boundary पर step का आकार (r जितना बड़ा, boundary उतनी मोटी; r=1 पर 2 voxel चौड़ाई)। दिशा की जानकारी नहीं होती (दिशा चाहिए तो sobel3d)। sobel3d के विपरीत gain correction की ज़रूरत नहीं, और 2-valued volume में "boundary voxel = 1" वाला shell सीधे मिलता है। se "cube"/"ball" है (अन्य पर ValueError), device केवल cube+torch में प्रभावी है। Return value (D,H,W) float32 numpy है।
उपयोग: match_chamfer_3d के लिए edge source; hough_plane_3d को देने से पहले surface extraction का विकल्प।
• 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 के स्रोत।
• morphology_3d — py -3.11 examples_3d/morphology_3d.py
voxel को input के रूप में लेते हैं)voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa
morphology)morph_dilate3d · morph_erode3d · morph_open3d · morph_close3d · morph_tophat3d · morph_blackhat3d
*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.