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
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.
• Leitfaden zur Familie piv_displacement
• 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.
• piv_field_analysis_tour — py -3.11 examples/piv_field_analysis_tour.py
images als Eingabe)piv_ensemble_correlate · piv_time_statistics
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.