fusion op• Data kinds: any → voxel
• Call: import fullseye as fs; fs.ledger.fuse_to_voxel(items, size=64, bounds=None, device='cpu', smooth=0.8) (implementation को सीधे call करना हो तो import fuse3d; fuse3d.fuse_to_voxel(items, size=64, bounds=None, device='cpu', smooth=0.8), registry से लेना हो तो ops3d.get("fuse_to_voxel"))
• Ledger के ज़रिए return value: fullseye.ledger.fuse_to_voxel(...) केवल घोषित out type voxel का value लौटाता है (मूल function सहायक जानकारी भी लौटाता है)। जो हिस्सा छोड़ दिया गया है उसकी ज़रूरत हो तो fullseye.ledger.fuse_to_voxel.raw(...) का उपयोग करें, या fuse3d.fuse_to_voxel को सीधे call करें।
• मूल function का return: (voxel, bounds)
• GPU: इस op का GPU path है (device="cuda")
कई structures को एक common density voxel में fuse करता है (TRIZ integration)। items=[(data,kind,params_dict), ...]।
mesh (topology) + points (sample) + depth (observation) जैसी पूरक संरचनाओं को 1 representation में लाता है। लौटाता है (voxel, bounds)।
प्रक्रिया: हर (data, kind, params) को to_points(data, kind, **params) से point cloud बनाकर ऊर्ध्वाधर रूप से जोड़ा जाता है, और match3d.points_to_voxel से size^3 के density grid में splat किया जाता है (हर point जिस cell में गिरे उसमें +1; smooth > 0 हो तो σ = smooth voxel के Gaussian से smoothing)। bounds=None हो तो जोड़े गए point cloud का (min, max) grid की सीमा बनता है।
Args:
• items: खाली न हो ऐसा list/tuple, जिसका हर element लंबाई 3 का (data, kind, params_dict) हो (params_dict का dict होना ज़रूरी)। to_points के samples बदलने हों तो params में samples= डालें।
• size: प्रति 1 axis voxel की संख्या (घनाकार grid स्थिर)।
• bounds: (lo, hi), दोनों लंबाई 3 के। कई cloud को एक ही grid पर रखते समय (तुलना, voxel_iou) इसे हमेशा स्पष्ट रूप से दें।
• device: torch device ("cpu" / "cuda")। smooth: Gaussian σ [voxel]।
Returns: (voxel, bounds) — voxel (size, size, size) float64 का point-संख्या density है (योग ≈ कुल points, probability नहीं), bounds वास्तव में उपयोग हुआ (lo, hi) है। grid index points_to_voxel का floor((p - lo) / span * (size - 1)) है, और axis 0 points के x component से मेल खाता है (voxel का axis क्रम = points के component का क्रम)।
सत्यापन (ValueError): items list/tuple नहीं, खाली, element 3 का समूह नहीं, params dict नहीं (raw data सीधे देने के दुरुपयोग को प्रवेश पर ही रोकता है)।
• depth_sensors — Depth sensors — ranging के सिद्धांत, असली devices के आँकड़े, dropouts कैसे दिखते हैं
• 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 के स्रोत।
• transforms_repr — py -3.11 examples_3d/transforms_repr.py
voxel को input के रूप में लेते हैं)voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa
fusion)*Provenance: fuse3d.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.