piv_multipass — PIV estimate op

• Datenarten: image2d × image2d → flow2d

• Aufruf: import fullseye as fs; fs.ledger.piv_multipass(a, b, windows=(64, 32), overlap=0.5, peak='gauss3', window_func='hann', outlier_threshold=2.0, normalize='overlap', search_limit=0.25) (die Implementierung direkt: import pivops; pivops.piv_multipass(a, b, windows=(64, 32), overlap=0.5, peak='gauss3', window_func='hann', outlier_threshold=2.0, normalize='overlap', search_limit=0.25); aus dem Register: opspiv.get("piv_multipass"))

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

• Rückgabe der Funktion: (flow, info) -> flow2d

• GPU: nein (nur CPU-Referenzimplementierung)

Verwendung

Mehrstufiges PIV, das von groben zu feinen Fenstern herabstuft. Rückgabe: (flow, info).

Verwenden Sie das Ergebnis jeder Stufe als vorhergesagte Verschiebung für die nächste Stufe (Verschiebung des zweiten Fensters um einen ganzzahligen Betrag). Es ist beabsichtigt, Ausreißer zu entfernen und den Raum zwischen den Zeilen auszufüllen – die Ausreißervektoren werden als Vorhersagen verwendet. Bei Verwendung bleibt das Fenster auf der nächsten Stufe an Ort und Stelle.

Argumente:

a, b: Bildpaar.

Fenster: Eine Reihe von Fenstern in absteigender Reihenfolge. Jede Stufe muss kein Vielfaches der vorherigen Stufe sein, sondern

Da sich das Gitter ändert, werden die Vorhersagen durch die nächsten Nachbarn ersetzt.

Overlap / Peak / window_func: Gleich wie piv_cross_correlate.

outlier_threshold: Schwellenwert für den normalisierten Mediantest zwischen den Stufen. Deaktiviert mit „Keine“.

normalisieren: Normalisierungsmethode für die Kreuzkorrelation in jeder Stufe.

search_limit: Prozentsatz der Fensterbreite, nach der von der vorhergesagten Position aus gesucht werden soll.

Rückgaben:

Die letzte Phase „(Flow, Info)“. Die Größe jeder Fensterreihe in „info[“passes“]“.

Ausführlicher Anwendungsleitfaden

• Leitfaden zur Familie piv_displacement

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)

• piv_field_analysis_tour — py -3.11 examples/piv_field_analysis_tour.py

• piv_flow_from_particles — py -3.11 examples/piv_flow_from_particles.py

• poc_strain_history — py -3.11 examples/poc_strain_history.py

Typkompatible Folge-Operatoren (nehmen flow2d als Eingabe)

piv_deform_pass · piv_outlier_mask · piv_replace_outliers · piv_vorticity · piv_divergence · piv_flow_magnitude · piv_to_velocity · piv_velocity_gradient

Gleiche Kategorie (estimate)

piv_cross_correlate · piv_deform_pass · piv_ensemble_correlate


*Provenance: pivops.py — PIV 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.