stream_synth — DRIVE scoop op

• Datenarten: scalar × scalar × scalar → table

• Aufruf: import fullseye as fs; fs.ledger.stream_synth(flux: 'float', radius: 'float', width: 'float', *, v0: 'float' = 0.3, s0: 'float' = 0.02, rows: 'int' = 192, cols: 'int' = 64, pitch: 'float' = 0.0005, dt: 'float' = 0.0015, n_frames: 'int' = 16, supersample: 'int' = 4, seed: 'int | None' = 0) -> 'dict' (die Implementierung direkt: import scoop; scoop.stream_synth(flux: 'float', radius: 'float', width: 'float', *, v0: 'float' = 0.3, s0: 'float' = 0.02, rows: 'int' = 192, cols: 'int' = 64, pitch: 'float' = 0.0005, dt: 'float' = 0.0015, n_frames: 'int' = 16, supersample: 'int' = 4, seed: 'int | None' = 0) -> 'dict'; aus dem Register: opsdrive.get("stream_synth"))

Verwendung

Synthetisiert eine Frame-Folge des Bedeckungsgrads eines aus der Öffnung fallenden Pulverstroms (ein dünnes Band in Seitenansicht).

Körner verlassen die Öffnung als Poisson-Prozess (Rate flux [Körner/s]), mit über die Breite width gleichverteilter seitlicher Position, und fallen frei mit Anfangsgeschwindigkeit v0, s = v₀ τ + ½ g τ² (Fallstrecke s ab der Öffnung). Bildzeile 0 liegt bei s = s0, ein Pixel ist pitch. Vereinigung von Scheiben mit Radius radius (Bedeckung mit supersample² Unterabtastungen). Da die Positionen unabhängig sind, folgt die Bedeckung dem Boolean-Modell —— der Synthesizer verwendet diese Formel nicht (ein unabhängiger Prüfling für stream_areal_density).

Rückgabe: frames (n_frames Bilder), dt, pitch, s_rows (Fallstrecke der Zeilenmitten), truth (flux, crossings (tatsächliche Anzahl der Körner, die jede Zeilenmittenhöhe während [0, n_frames·dt) kreuzen / Zeit = realisierter Fluss), v (Freifall- geschwindigkeit an den Zeilenmitten), radius_px). Raises ValueError: Argument außerhalb des Bereichs.

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)

• poc_powder_scoop_pour — py -3.11 examples/poc_powder_scoop_pour.py

Typkompatible Folge-Operatoren (nehmen table als Eingabe)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

Gleiche Kategorie (scoop)

spoon_bowl_volume · scoop_synth_side · revolution_volume_side · two_view_volume · scoop_volume_read · scoop_count · scoop_image_limit · tilt_wedge_retained


*Provenance: scoop.py — DRIVE 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.