geodesic op• Datenarten: points → graph
• Aufruf: import fullseye as fs; fs.ledger.knn_graph(points: numpy.ndarray, k: int = 8) -> Tuple[numpy.ndarray, numpy.ndarray] (die Implementierung direkt: import geodesic3d; geodesic3d.knn_graph(points: numpy.ndarray, k: int = 8) -> Tuple[numpy.ndarray, numpy.ndarray]; aus dem Register: ops3d.get("knn_graph"))
Die k Nächste-Nachbar-Indizes und euklidischen Abstände jedes Punktes (ohne sich selbst). → (idx (N,k) int, dist (N,k) float).
Sucht mit scipy.spatial.cKDTree die k+1 nächsten Nachbarn jedes Punktes und liefert die k ohne den Punkt selbst (Abstand 0). idx[i, j] ist der Index des j-nächsten Punktes zu Punkt i, dist[i, j] dessen Euclid-Abstand (in Koordinateneinheiten), und jede Zeile ist nach aufsteigendem Abstand sortiert.
• points: Koordinaten beliebiger Dimension wie (N,3) (in float64 umgewandelt). Die Form wird nicht geprüft.
• k: Anzahl der Nachbarn (Standard 8). Werte über N-1 werden stillschweigend auf N-1 gekürzt.
• Bei N < 2 wird keine Ausnahme ausgelöst; es werden 2 leere Arrays der Form (N,0) geliefert.
Falle: Bei doppelten Koordinaten liefert der KD-tree den Punkt selbst eventuell nicht in Spalte 0. Dann wird pro Zeile die Position des Punktes selbst gesucht und entfernt; ist der Punkt selbst nicht unter den k+1, wird der entfernteste 1 verworfen (das Ergebnis hat weiterhin k). geodesic_distances / farthest_point_sampling machen aus diesem Ergebnis eine Adjazenzmatrix (gerichtetes CSR, auf der Dijkstra-Seite ungerichtet gemacht) und nutzen sie zur Näherung des geodätischen Abstands.
• 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.
• pcl_geodesic — py -3.11 examples_3d/pcl_geodesic.py
graph als Eingabe)geodesic)geodesic_distances · geodesic_mesh · farthest_point_sampling
*Provenance: geodesic3d.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.