fill_holes — 3D depth_denoise op

• Data kinds: depth → depth

• Call: import fullseye as fs; fs.ledger.fill_holes(depth: 'np.ndarray', max_radius: 'float', *, invalid: 'float | None' = 0.0, max_iter: 'int | None' = None, rel_tol: 'float' = 1e-06) -> 'np.ndarray' (implementation को सीधे call करना हो तो import depth_bilateral; depth_bilateral.fill_holes(depth: 'np.ndarray', max_radius: 'float', *, invalid: 'float | None' = 0.0, max_iter: 'int | None' = None, rel_tol: 'float' = 1e-06) -> 'np.ndarray', registry से लेना हो तो ops3d.get("fill_holes"))

उपयोग

invalid pixels (छेद) को पड़ोसी valid pixels से harmonic (Laplace) relaxation द्वारा interpolate करता है। → float64 (H,W)।

हर hole pixel की निकटतम valid pixel तक की दूरी max_radius या उससे कम हो तो उसे interpolate किया जाता है, उससे अधिक गहरे holes interpolate नहीं होते और NaN ही रहते हैं (fail-closed)। interpolation 4-neighbourhood average का iteration है (Dirichlet boundary = मूल valid pixels), और linear field (plane) discrete harmonic functions का fixed point है, इसलिए iteration के converge होने के साथ plane exact रूप से वापस मिल जाता है। प्रारंभिक मान निकटतम valid pixel का मान (EDT) है।

max_iter का default hole के आकार के अनुसार अपने-आप तय होता है, rel_tol depth scale के सापेक्ष convergence की कसौटी है। सभी pixels invalid वाले input में interpolation का कोई आधार नहीं होता, इसलिए ValueError (fail-closed)।

पृष्ठभूमि guides (इस op के पीछे की physics और conventions)

• blender_interop — Blender के साथ उपयोग — shape बनाएँ, fullseye से मापें (सावधानियाँ: axes, units, ground truth)

• depth_sensors — Depth sensors — ranging के सिद्धांत, असली devices के आँकड़े, dropouts कैसे दिखते हैं

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

• depth_denoise — py -3.11 examples_3d/depth_denoise.py

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

depth_to_points · tsdf_from_depth · to_points · fuse_to_voxel · depth_to_organized_points · normals_from_depth · occlusion_edges · bearing_angle_image

इसी category के (depth_denoise)

bilateral_filter_depth · joint_bilateral


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

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