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.

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.