statistical_outlier_removal — 3D preprocess op

• Datenarten: points → points

• Aufruf: import fullseye as fs; fs.ledger.statistical_outlier_removal(points, k: 'int' = 16, std_ratio: 'float' = 2.0) (die Implementierung direkt: import pcl_filter; pcl_filter.statistical_outlier_removal(points, k: 'int' = 16, std_ratio: 'float' = 2.0); aus dem Register: ops3d.get("statistical_outlier_removal"))

• Rückgabewert über das Register: fullseye.ledger.statistical_outlier_removal(...) liefert nur den Wert des deklarierten Out-Typs points (die zugrunde liegende Funktion gibt zusätzlich Hilfsinformationen zurück). Wird das Verworfene gebraucht, nutze fullseye.ledger.statistical_outlier_removal.raw(...) oder rufe pcl_filter.statistical_outlier_removal direkt auf.

• Rückgabe der Funktion: (kept, mask)

Verwendung

Entfernt Punkte, deren mittlerer Abstand zu ihren k Nachbarn global ein Ausreißer ist (statistische Ausreißerentfernung).

Misst für jeden Punkt "den mittleren Abstand zu den k nächsten Punkten (ohne sich selbst)" und verwirft Punkte, die mean + std_ratio*std dieser Verteilung über alle Punkte überschreiten, als Ausreißer. Wirksam zum Bereinigen spärlicher Ausreißer; Punkte auf dichten Flächen bleiben erhalten.

Parameters

points : array_like, shape (N, 3)

Eingabe-Punktwolke.

k : int

Anzahl der Nachbarn (Standard 16). Bei wenigen Punkten intern auf n-1 gekürzt.

std_ratio : float

Großzügigkeit des Schwellwerts. Je größer, desto eher bleiben Punkte erhalten (schwächeres Entfernen).

Returns

filtered : ndarray, shape (M, 3)

Die verbliebenen Punkte (ursprüngliche Reihenfolge erhalten).

keep_mask : ndarray of bool, shape (N,)

Ob jeder Eingabepunkt erhalten bleibt (True=behalten). points[keep_mask] ist gleich filtered.

Notes

Bei Punktzahl < 3 ist keine Statistik möglich, daher bleiben alle Punkte erhalten (graceful).

Hintergrundwissen (Physik und Konventionen hinter diesem Operator)

• depth_sensors — Tiefensensoren — Messprinzipien, Werte realer Geräte, wie Messlücken entstehen

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)

• pcl_geodesic — py -3.11 examples_3d/pcl_geodesic.py

Typkompatible Folge-Operatoren (nehmen points als Eingabe)

points_to_voxel · gaussians_to_voxel · estimate_point_normals · to_points · match_points_ncc · match_pca · moment_axes · icp_point2point_3d

Gleiche Kategorie (preprocess)

radius_outlier_removal · voxel_grid_downsample · mls_smooth · volume_downsample


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