piv_synth_sequence — PIV synth op

• Datenarten: keine → images (ein Operator, der allein durch seine Argumente bestimmt ist — er nimmt kein Bild und keine Daten entgegen)

• Aufruf: import fullseye as fs; fs.ledger.piv_synth_sequence(shape, displacement, n_frames=8, density=0.02, diameter_px=2.5, seed=0, noise_sigma=0.0, intensity=(0.6, 1.0), background=0.0, jitter=0.0) (die Implementierung direkt: import pivops; pivops.piv_synth_sequence(shape, displacement, n_frames=8, density=0.02, diameter_px=2.5, seed=0, noise_sigma=0.0, intensity=(0.6, 1.0), background=0.0, jitter=0.0); aus dem Register: opspiv.get("piv_synth_sequence"))

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

• Rückgabe der Funktion: (frames, truth) -> images

Verwendung

Bildfolge, in der dieselben Partikel wiederholt bewegt werden. Rückgabe: (frames, truth).

Während piv_synth_pair 2 Bilder erzeugt, erzeugt dies eine Folge, die 1 Strömung fortlaufend verfolgt. Ensemble-Korrelation und Zeitstatistik lassen sich nur damit prüfen —— nennt man aneinandergereihte unabhängige Paare eine Folge, gibt es zwischen 2 benachbarten Bildern keine Zuordnung, und die Statistik wird sinnlos (gemessen: bei einem Mittel von 0.73 px betrug die Schwankungs-RMS 4.05 px, eine Zahl, die die Erzeugungsweise statt der Strömung gemessen hat).

Args:

shape: (H, W).

displacement: Verschiebung pro 1 Frame (gleiches Format wie piv_synth_pair).

n_frames: Anzahl der Frames (2 oder mehr).

jitter: Standardabweichung [px] der pro Frame dem ganzen Feld hinzugefügten Störung. 0 bedeutet stationäre Strömung.

Um Zeitstatistik (Schwankungen, Reynolds-Spannungen) zu testen, diesen Wert größer als 0 setzen.

★ Es ist eine Störung pro Frame, keine unabhängige Störung pro Partikel.

Pro Partikel variiert würde sie im Fenster gemittelt und um die Quadratwurzel von N kleiner,

und eingespeister und gemessener Wert stimmen nicht überein (gemessen: 0.15 bei eingespeisten 0.3).

Das ist eine Eigenschaft von PIV und kein Fehler, aber für die Prüfung der Zeitstatistik unbrauchbar, daher bildet dies eine instationäre Strömung selbst nach.

density / diameter_px / seed / noise_sigma / intensity / background:

wie piv_synth_pair.

Returns:

(frames: list of (H, W), truth: (2, H, W)). truth ist die mittlere Verschiebung

pro 1 Frame.

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

Typkompatible Folge-Operatoren (nehmen images als Eingabe)

piv_ensemble_correlate · piv_time_statistics

Gleiche Kategorie (synth)

piv_synth_particles · piv_synth_pair


*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.