ttc op• Data kinds: image2d × image2d → table
• Call: import fullseye as fs; fs.ledger.ttc_from_flow(u, v, dt: 'float', *, foe=None, mask=None, min_speed: 'float' = 0.001, at_first_frame: 'bool' = True) -> 'dict' (to call the implementation directly, import drivettc; drivettc.ttc_from_flow(u, v, dt: 'float', *, foe=None, mask=None, min_speed: 'float' = 0.001, at_first_frame: 'bool' = True) -> 'dict'; from the registry, opsdrive.get("ttc_from_flow"))
τ (seconds) from optical flow: {"tau_map", "tau", "n", "foe"}.
Converts sceneflow.time_to_contact (per pixel, in frames, radius² from the FoE / radial flow) to seconds. The flow from a 2-frame difference gives τ at the time of the 2nd frame (Z₁ / (Z₀ − Z₁) frames), so at_first_frame=True (default) adds 1 frame to give τ at the first frame (exact for constant velocity; the same time as ttc_truth). If foe is omitted it is estimated from the flow (sceneflow.focus_of_expansion). The true FoE is foe_from_motion. tau is the median of finite, positive τ within mask (all pixels if omitted) (inf if none), and n is the number of those pixels.
• 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_ttc_rss — py -3.11 examples/poc_ttc_rss.py
table as input)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
ttc)relative_motion · foe_from_motion · flow_from_depth_motion · ttc_truth · ttc_from_scale · ttc_from_range · label_extent · foe_from_flow
*Provenance: drivettc.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.