revolution_volume_side — DRIVE 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"))

Verwendung

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

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