occupancy_grid — 3D occupancy op

• Datenarten: points → voxel

• Aufruf: import fullseye as fs; fs.ledger.occupancy_grid(points, bounds, res) (die Implementierung direkt: import occupancy; occupancy.occupancy_grid(points, bounds, res); aus dem Register: ops3d.get("occupancy_grid"))

Verwendung

Punktwolke (N,3) → 3-D-Belegungsvoxelgitter, bool (ein Voxel, in das ein Punkt fällt, gilt als belegt).

bounds=((xmin,xmax),(ymin,ymax),(zmin,zmax)) ist das vom Gitter aufgespannte Volumen, res die Anzahl der Voxel je Achse (Skalar = Würfel res³ oder Länge 3 je Achse). Voxel sind halboffene Intervalle [lo+i/res*span, lo+(i+1)/res*span), und Punkte am oberen Ende (frac==1) werden dem letzten Voxel zugerechnet. Punkte außerhalb von bounds werden verworfen (würde man sie auf die Randzellen clampen, häuften sich Phantomhindernisse am Rand). Während match3d.points_to_voxel eine Dichte (float) erzeugt, ist das Besondere hieran, dass eine Belegung (bool) für die Planung erzeugt wird.

Löst ValueError aus bei res<=0, points nicht (N,3) oder entarteten bounds.

Leere Eingabe (points mit 0 Elementen) liefert ein leeres Ergebnis (Grund: Bereich und Auflösung sind durch andere Argumente festgelegt, und Regionen ohne Punkte sind üblich, etwa ein leeres Band nach einem Höhenfilter. Ein Gitter mit lauter freien Voxeln ist die Antwort).

Referenzen (Beispieldaten, Literatur)

• 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.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• occupancy_esdf — py -3.11 examples_3d/occupancy_esdf.py

Typkompatible Folge-Operatoren (nehmen voxel als Eingabe)

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

Gleiche Kategorie (occupancy)

esdf · inflate · query_distance


*Provenance: occupancy.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.