tsdf_fusion op• Datenarten: depth → sdf
• Aufruf: import fullseye as fs; fs.ledger.fuse(depths: 'Sequence[np.ndarray]', Ks: 'Sequence', Rs: 'Sequence', ts: 'Sequence', bounds: 'Bounds', res: 'int', trunc: 'float') -> 'Tuple[np.ndarray, np.ndarray]' (die Implementierung direkt: import tsdf_fusion; tsdf_fusion.fuse(depths: 'Sequence[np.ndarray]', Ks: 'Sequence', Rs: 'Sequence', ts: 'Sequence', bounds: 'Bounds', res: 'int', trunc: 'float') -> 'Tuple[np.ndarray, np.ndarray]'; aus dem Register: ops3d.get("fuse"))
Fusioniert eine Tiefenserie mit new_volume + integrate zu einem TSDF-Volumen. Liefert (tsdf, weight).
(K,R,t) jedes Frames ist world→camera. Beobachten mehrere Ansichten dieselbe Oberfläche, summieren sich die Gewichte, und Flächen, die in einem einzelnen Frame unsichtbar (selbstverdeckt) sind, werden von anderen Ansichten aufgefüllt.
• depths: Liste von (H,W) Tiefenbildern (Kamera-Z-Tiefe; Pixel ≤0 oder nicht endlich gelten als unbeobachtet). Die Größe darf von Frame zu Frame verschieden sein.
• Ks / Rs / ts: (3,3) intrinsische Matrix, (3,3) Rotation, (3,) Translation pro Frame (X_cam = R X + t).
• bounds: world-Bereich ((xmin,xmax),(ymin,ymax),(zmin,zmax)) (auf jeder Achse max > min).
• res: Anzahl der voxel pro Seitenlänge (positiver int). Das volume ist res×res×res, Achsenreihenfolge (x,y,z) mit indexing='ij'.
• trunc: Abschneidedistanz (world-Einheiten, positiver endlicher Wert). Richtwert ist ein Mehrfaches der voxel-Größe; zu klein, und die Beobachtungen landen nicht auf beiden Seiten der Oberfläche, zu groß, und Vorder- und Rückseite dünner Strukturen vermischen sich.
Rückgabewert: tsdf (res,res,res) float32 (unbeobachtet +1.0, vor der Oberfläche positiv, dahinter negativ, [-1,1]) und weight (res,res,res) float32 (Anzahl der Beobachtungen). Oberflächenpunkte werden mit extract_surface_points(tsdf, weight, bounds, res) extrahiert. fail-closed: 0 Frames, ungleiche Listenlängen, degenerierte bounds, nicht positives res / trunc lösen ValueError aus. Details der Integration (die Regel, verdeckte Bereiche nicht zu aktualisieren) siehe integrate.
• depth_sensors — Tiefensensoren — Messprinzipien, Werte realer Geräte, wie Messlücken entstehen
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• tsdf_fusion_demo — py -3.11 examples_3d/tsdf_fusion_demo.py
sdf als Eingabe)sdf_to_occupancy · fuse_to_voxel · integrate · extract_surface_points · query_distance · sdf_union · sdf_intersect · sdf_subtract
tsdf_fusion)integrate · extract_surface_points
*Provenance: tsdf_fusion.py — 3D Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.