foothold_candidates — DRIVE walkterrain op

• Data kinds: depth → table

• Call: import fullseye as fs; fs.ledger.foothold_candidates(grid, cell: 'float' = 0.05, window: 'int' = 3, min_score: 'float' = 0.6, min_dist: 'float' = 0.15, max_n: 'int' = 50, extent=None) (to call the implementation directly, import terrain; terrain.foothold_candidates(grid, cell: 'float' = 0.05, window: 'int' = 3, min_score: 'float' = 0.6, min_dist: 'float' = 0.15, max_n: 'int' = 50, extent=None); from the registry, opsdrive.get("foothold_candidates"))

• GPU: none (CPU reference implementation only)

Usage

Pick discrete safe stepping targets from the terrain.

Scores every cell with foothold_score, keeps local maxima above *min_score*, and greedily suppresses candidates within *min_dist* (world units) of a better one — turning the continuous flatness field into a short list of "here are places you may put a foot". Returns a list of dicts sorted best-first, each with cell (row, col), score, and xy (world) when *extent* is given. The actionable output a foot-placement planner consumes.

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• consumer_hillco — py -3.11 examples/consumer_hillco.py

• physical_ai_perception — py -3.11 examples/physical_ai_perception.py

• walking_ops_tour — py -3.11 examples/walking_ops_tour.py

Ops the type connects to (they accept table as input)

course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same

Same category (walkterrain)

elevation_map · fill_gaps · elevation_traversability · foothold_score · ground_surface · ground_plane · detect_obstacles · fuse_elevation


*Provenance: terrain.py — DRIVE operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.