walkterrain op• Data kinds: depth → mask
• Call: import fullseye as fs; fs.ledger.detect_obstacles(grid, cell: 'float' = 0.05, clearance: 'float' = 0.12, ground: 'str' = 'plane', ground_radius: 'float' = 0.4, trim: 'float' = 0.3, min_area: 'float' = 0.01, extent=None) (implementation को सीधे call करना हो तो import terrain; terrain.detect_obstacles(grid, cell: 'float' = 0.05, clearance: 'float' = 0.12, ground: 'str' = 'plane', ground_radius: 'float' = 0.4, trim: 'float' = 0.3, min_area: 'float' = 0.01, extent=None), registry से लेना हो तो opsdrive.get("detect_obstacles"))
• Ledger के ज़रिए return value: fullseye.ledger.detect_obstacles(...) केवल घोषित out type mask का value लौटाता है (मूल function सहायक जानकारी भी लौटाता है)। जो हिस्सा छोड़ दिया गया है उसकी ज़रूरत हो तो fullseye.ledger.detect_obstacles.raw(...) का उपयोग करें, या terrain.detect_obstacles को सीधे call करें।
• GPU: नहीं (केवल CPU reference implementation)
चलने योग्य ज़मीन से *clearance* से अधिक ऊपर उठी cells को segment करता है।
> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।
The ground model isolates obstacles from a sloped surface: ground='plane' (default) fits a robust ground_plane (best when the ground is planar — flat or ramp); ground='opening' uses the morphological ground_surface envelope (best for rough/curved terrain); or pass a precomputed ground height array. So a ramp is not an obstacle but a box, curb, or rock on it is. Returns (mask, obstacles): a boolean obstacle mask and a list of per-obstacle dicts sorted largest-first, each with area_cells / area (m²) / height (peak rise above ground) / centroid_cell (row, col) / bbox_cells (i0, j0, i1, j1), plus centroid_xy in world units when *extent* (from elevation_map) is given. Blobs smaller than *min_area* (m²) are dropped as noise.
★ground_radius は ground='opening' のときだけ読まれ、trim は 'plane' のときだけ。空の入力(grid が 0 要素)は空の mask と空の listを返す(理由: 観測の無い地図には障害物も無く、形だけを保つ)。
• 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 में दिए गए हैं।
• walking_ops_tour — py -3.11 examples/walking_ops_tour.py
mask को input के रूप में लेते हैं)spin_from_marker_sequence · carla_transform_matrix · carla_pose_to_world · carla_camera_pose · carla_xy_yaw · carla_scene_load · town_chain · osm_parse
walkterrain)elevation_map · fill_gaps · elevation_traversability · foothold_score · ground_surface · ground_plane · fuse_elevation · roughness_map
*Provenance: terrain.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.