scoop op• Datenarten: image2d × scalar → table
• Aufruf: import fullseye as fs; fs.ledger.revolution_volume_side(side, pitch: 'float', *, axis_col: 'float | None' = None, threshold: 'float' = 0.5) -> 'dict' (die Implementierung direkt: import scoop; scoop.revolution_volume_side(side, pitch: 'float', *, axis_col: 'float | None' = None, threshold: 'float' = 0.5) -> 'dict'; aus dem Register: opsdrive.get("revolution_volume_side"))
Volumen aus 1 Seitenbild unter Annahme von Achsensymmetrie — Pappus-Form V = π Σ |x − x_axis| c(x, z) pitch³ (c = Bedeckungsgrad, x = Spalte der Pixelmitte).
Da linear in der Bedeckung, entsteht auch in Zeilen, die eine flache Pulveroberfläche mittendrin kreuzt, kein Versatz (die Summe von Scheiben mit der Zeilenbreite als Durchmesser, Σ π (w/2)², zählt eine Zeile mit Füllgrad f als f² und lag 1.5 % zu niedrig, gemessen). Rauschen wird zuerst außerhalb und innerhalb des Objekts entfernt (_clean_coverage). Wird die Achse axis_col (Pixelränder ganzzahlig) nicht angegeben, wird die Spalte des Bedeckungsschwerpunkts verwendet. An die Schwerpunkte je Zeile wird eine Gerade angepasst und auch die Achsneigung axis_tilt_deg (atan2) zurückgegeben (eine geneigte Schale gewinnt Volumen; die Bewertung liegt beim Aufrufer).
Rückgabe: V [Kubik der pitch-Einheit], V_px, V_discs (Scheibensumme, zum Vergleich), radius_px (halbe Breite je Zeile), axis_col, axis_tilt_deg, rows_used, height_px. Raises ValueError: keine Bedeckung / kein Pulver sichtbar / berührt den linken oder rechten Rand (abgeschnitten).
• 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.
• poc_powder_scoop_pour — py -3.11 examples/poc_powder_scoop_pour.py
table als Eingabe)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
scoop)spoon_bowl_volume · scoop_synth_side · two_view_volume · scoop_volume_read · scoop_count · scoop_image_limit · tilt_wedge_retained · tilt_pour_rate
*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.