granular op• Datenarten: table → table
• Aufruf: import fullseye as fs; fs.ledger.datum_tilt_check(result, warn_deg: 'float' = 1.0) -> 'dict' (die Implementierung direkt: import granular; granular.datum_tilt_check(result, warn_deg: 'float' = 1.0) -> 'dict'; aus dem Register: opsdrive.get("datum_tilt_check"))
Prüft anhand des Rückgabewerts von repose_angle_silhouette (linker/rechter Flankenwinkel und Bodenneigung), ob die Bezugsebene geneigt ist.
Die Neigung β eines nicht ebenen Bodens (datum) addiert sich zum Schüttwinkel (dieselbe Falle wie bei der bestehenden Volumen-PoC). Bei Scherung (z' = z + x tan β) sind die linke und rechte Flanke atan(tan φ ± tan β), bei einer Kamerarollbewegung (Rotation) φ ± β — in beiden Fällen ist die Links-Rechts-Differenz ≈ 2β, daher wird gewarnt, wenn die Links-Rechts-Differenz warn_deg überschreitet. Die beiden Modelle unterscheiden sich in erster Ordnung (bei β = 5 Grad und φ = 30 Grad linke Flanke 33.62 gegenüber 35.00 Grad, gemessen), daher werden beide Korrekturwerte zurückgegeben; welcher zu verwenden ist, hängt von der Herkunft des Bodens ab (datum der Höhenkarte oder Neigung der Kamera):
phi_shear_deg (Subtraktion der tan, verwendet ground_deg), phi_roll_deg (Subtraktion der Winkel = genau der Mittelwert von links und rechts), beta_shear_deg (aus der tan-Differenz links-rechts gelesenes β = atan((tan L − tan R)/2)), beta_roll_deg (= Links-Rechts-Differenz / 2). Raises ValueError: Feld fehlt / Winkel außerhalb des Bereichs / warn_deg ≤ 0.
• 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_geodetic_height_frames — py -3.11 examples/poc_geodetic_height_frames.py
• poc_granular_heap_repose — py -3.11 examples/poc_granular_heap_repose.py
table als Eingabe)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
granular)heap_volume_cone · heap_mass · heap_volume_heightmap · beverloo_rate · beverloo_fit · discharge_synth · dispense_mass_from_video · hopper_discharge_rate
*Provenance: granular.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.