occlusion_visible_intervals — DRIVE traffic op

• Data kinds: any → any

• Call: import fullseye as fs; fs.ledger.occlusion_visible_intervals(ego_xy, ego_heading: 'float', parked_box, emerge_xy, s_max: 'float') -> 'list' (to call the implementation directly, import drivetraffic; drivetraffic.occlusion_visible_intervals(ego_xy, ego_heading: 'float', parked_box, emerge_xy, s_max: 'float') -> 'list'; from the registry, opsdrive.get("occlusion_visible_intervals"))

Usage

While the ego vehicle's eye advances along p(s) = ego_xy + s h for 0 ≤ s ≤ s_max, the list of intervals of advance during which the point emerge_xy is visible.

occlusion_reveal_distance returns only "the first place where it becomes visible", but visibility is not monotonic: a point outside the band of the parked vehicle's width (on the pavement) is visible from afar through the gap between the car and the kerb, becomes hidden as one approaches, and becomes visible again. Here [0, s_max] is split at the candidates where visible/not visible can switch (intersections of corner-grazing lines of sight with the path, intersections of the path with the edges —— closed form), the line of sight is tested at the midpoint of each interval, and the visible intervals are returned as [(s0, s1), ...] (ascending, adjacent visible intervals merged). The longitudinal distance at an interval end is h · (e − p(s)). If the point is inside the box, [].

Raises ValueError: shape, non-finite, dimension ≤ 0, s_max ≤ 0.

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)

• poc_driving_traffic — py -3.11 examples/poc_driving_traffic.py

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

course_crank · course_s_curve · course_turnaround · course_slope · course_intersection · course_parallel_parking · course_crossing · course_road

Same category (traffic)

idm_accel · idm_equilibrium_gap · idm_platoon_simulate · driver_style · lateral_wobble · ou_estimate · social_force_step · pedestrian_crossing


*Provenance: drivetraffic.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.