procrustes_align — SHAPESTAT procrustes op

• Datenarten: points × points → points

• Aufruf: import fullseye as fs; fs.ledger.procrustes_align(source, target, scaling: 'bool' = True, reflection: 'bool' = False) (die Implementierung direkt: import shapestats; shapestats.procrustes_align(source, target, scaling: 'bool' = True, reflection: 'bool' = False); aus dem Register: opsshapestat.get("procrustes_align"))

Verwendung

Punkte von *source*, auf *target* überlagert. → (N, 3) (Anwendung von procrustes_fit).

Berechnet M = procrustes_fit(source, target, scaling, reflection) und gibt source @ M[:3, :3].T + M[:3, 3] zurück. Die Transformation ist eine Ähnlichkeitstransformation aus Schwerpunktabgleich + Drehung per SVD (+ optional Skalierung), und sie setzt voraus, dass die i-ten Punkte einander entsprechen. Punktmengen ohne Korrespondenz lösen keine Ausnahme aus, sondern ergeben eine bedeutungslose Anordnung (in dem Fall eine Registrierung der ICP-Familie verwenden).

• source, target: (N, 3), gleiches N, endlich. Auch N = 1 geht durch (nur Verschiebung).

• scaling=True: absorbiert auch Größenunterschiede. False ergibt eine Starrkörpertransformation. Sind alle Punkte von source identisch (Ausdehnung 0), bleibt die Skalierung 1.

• reflection=False (Standard): erzwingt det(R) = +1. True erlaubt auch Spiegelbilder -- bei der Messung von Links-rechts-Asymmetrie verschwände diese dadurch, daher normalerweise beim Standard bleiben.

• Rückgabewert: (N, 3) float64. Für das Residuum als Zahl procrustes_distance, für die Transformationsmatrix selbst procrustes_fit.

• Fehler: ValueError (Form nicht (N, 3), N stimmt nicht überein, nicht endlich).

Um viele Formen gleichzeitig auszurichten: generalized_procrustes.

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie shape_statistics

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.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

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

• shapestat_landmark_tour — py -3.11 examples/shapestat_landmark_tour.py

Typkompatible Folge-Operatoren (nehmen points als Eingabe)

shape_perturb · procrustes_fit · procrustes_distance · shape_project · shape_mahalanobis · mirror_plane_from_pairs · landmark_asymmetry · signed_surface_distance

Gleiche Kategorie (procrustes)

procrustes_fit · procrustes_distance · generalized_procrustes · shape_mean


*Provenance: shapestats.py — SHAPESTAT 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.