course op• Data kinds: none → table (an op determined by its arguments alone — it takes no image or data input)
• Call: import fullseye as fs; fs.ledger.course_intersection(width=7.0, arm=20.0, corner_radius=3.0, arc_pts=16, stop_setback=2.0, crosswalk=4.0) (to call the implementation directly, import drivecourse; drivecourse.course_intersection(width=7.0, arm=20.0, corner_radius=3.0, arc_pts=16, stop_setback=2.0, crosswalk=4.0); from the registry, opsdrive.get("course_intersection"))
Four-way intersection on the main course: 2 roads of width w cross at right angles at the origin, each arm has length arm (from the edge of the crossing area), and the 4 concave corners are rounded off with radius corner_radius.
Area = 2(2·arm + w)w − w² + 4r²(1 − π/4). Following left-hand traffic, each arm has 1 crosswalk (crosswalks (4, 2, 2): the centreline of the band crossing the road with width crosswalk (default 4 m) from the end of the corner cut), and each approach (in the order eastbound → northbound → westbound → southbound, approach direction yaw = 0, π/2, π, 3π/2) has 1 stop line (stop_lines (4, 2, 2): segment across the approach lane = the left half in the direction of travel, stop_setback (default 2 m) before the crosswalk) and 1 traffic signal (signal_poses (4, 3): on the far side of the intersection, at the left corner outside the exit-side crosswalk (0.5 m outside on the left), yaw = facing the approaching vehicle = approach direction + π). centerline is the east–west road axis.
Standards and criteria (2026-09-30, user: "match Japanese standards and rules"): width ≥ 7, corner cut ≥ 3 (Tokyo Metropolitan Police Department examination criteria) → params["regulation"]. Intersections with traffic signals are provided with crosswalks and stop lines (Criteria for Conducting Driving Licence Skill Tests, Reiwa 4 (2022), National Police Agency Notice Hei-Unpatsu No. 12, Attachment, Setting of In-Course Layout (4)); the standard stop line is 2 m before the crosswalk (commentary on the traffic-signal installation guidelines), and vehicle signal heads are placed on the far side (exit side) of the intersection (same source); crosswalk width is generally 4 m or more (road marking 201).
Raises ValueError: width or arm not positive, r < 0, crosswalk < 0, arm < r + crosswalk + stop_setback, invalid arc_pts.
• 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.
• poc_driving_longitudinal — py -3.11 examples/poc_driving_longitudinal.py
• poc_driving_school — py -3.11 examples/poc_driving_school.py
• poc_driving_weather — py -3.11 examples/poc_driving_weather.py
table as input)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
course)course_crank · course_s_curve · course_turnaround · course_slope · course_parallel_parking · course_crossing · course_road · course_loop_bend
*Provenance: drivecourse.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.