granular op• Data kinds: image2d × scalar → table
• Call: import fullseye as fs; fs.ledger.repose_angle_heightmap(hm, pitch: 'float', *, ground=None, min_rel_height: 'float' = 0.1, max_rel_height: 'float' = 0.9, bin_deg: 'float' = 0.25, method: 'str' = 'horn', smooth_cells: 'int' = 1) -> 'dict' (implementation को सीधे call करना हो तो import granular; granular.repose_angle_heightmap(hm, pitch: 'float', *, ground=None, min_rel_height: 'float' = 0.1, max_rel_height: 'float' = 0.9, bin_deg: 'float' = 0.25, method: 'str' = 'horn', smooth_cells: 'int' = 1) -> 'dict', registry से लेना हो तो opsdrive.get("repose_angle_heightmap"))
heightmap से angle of repose φ —— demops.dem_slope के gradients के histogram का mode।
प्रक्रिया: (1) ground हो तो घटाएँ (datum सुधार; न हो तो सबसे बाहरी 1 पिक्सेल घेरे की माध्यिका को भूमि माना जाता है) (2) smooth_cells (विषम) का चल औसत —— दाने दिखने वाले ऊँचाई-मानचित्र में अनिवार्य: गोलों के ढेर (दाना आकार 5.3 px) को बिना समतलन के मापने पर ढलान का बहुलक 62 डिग्री (गोलों के किनारे) आता है; 2 दाना-आकार = 11 सेल पर 24.5 डिग्री (MuJoCo गोला-ढेर का मापन)। जहाँ दाने न दिखें ऐसे पाउडर के ढेर में 1 ही रखें
(3) केवल अधिकतम ऊँचाई के min_rel_height〜max_rel_height पट्टी वाले सेल उपयोग करें (तल की गोलाई और शिखर की कुंदता हटती है)
(4) dem_slope(method) को bin_deg अंतराल में गिनें; बहुलक bin और उसके दोनों पड़ोसियों में आने वाले मानों का औसत φ है (bin केंद्रों के केन्द्रक से आधे bin = 0.125 डिग्री का पूर्वाग्रह आया, मापा गया)।
रिटर्न: phi_deg, phi_median_deg, frac_within_1deg (बहुलक के ±1 डिग्री में आने वाले सेलों का अनुपात —— शंकु हो तो ≈ 1, उभार हो तो घटता है), n_cells, hist_centers, hist_counts। Raises ValueError: आकार, pitch, विकल्प (method केवल "horn" / "central") / ढेर नहीं (भूमि से ऊँचा कोई सेल नहीं) / पट्टी में 20 से कम सेल।
• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।
• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।
• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।
• poc_granular_heap_repose — py -3.11 examples/poc_granular_heap_repose.py
table को input के रूप में लेते हैं)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. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.