morph_open3d — 3D morphology op

• Data kinds: voxel → voxel

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

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

उपयोग

3D opening = erosion → dilation। SE से छोटी उजली structures (काँटे, दाने) हटाता है।

morph_dilate3d(morph_erode3d(vol, r, ...), r, ...), यानी वही SE 2 बार। आउटपुट इनपुट से अधिक नहीं होता (open <= vol): जिन चमकीले उभारों, isolated points और पतले bridges में SE (side length 2r+1 का cube या त्रिज्या r का ball) नहीं समाता, वे गायब हो जाते हैं, और बड़ी structures का आकार बना रहता है (idempotent: 2 बार लगाने पर भी वही परिणाम)। r voxel इकाई में है, se "cube"/"ball" है (अन्य पर ValueError), device केवल cube+torch में प्रभावी है। Return value (D,H,W) float32 numpy है।

उपयोग: vol − open ही morph_tophat3d है (छोटी चमकीली structures निकालना)। point-density voxel में isolated noise points हटाना, 2-valued occupancy में पतली रेखाएँ हटाना।

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

• morphology_3d — py -3.11 examples_3d/morphology_3d.py

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

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

इसी category के (morphology)

morph_dilate3d · morph_erode3d · morph_close3d · morph_gradient3d · 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.