thin_frames

Contents

thin_frames#

rapidtools.processing.street_localization.thin_frames(frames: Sequence[tuple[str, float, float, str | None, str | None]], spacing_m: float) → set[str][source]#

Keep one frame per spacing_m metres along each sequence.

Parameters:
  • frames – (image_id, lon, lat, captured_at, sequence_id) tuples. Frames are ordered by captured_at within a sequence.

  • spacing_m – Minimum distance between kept frames; 0 keeps all.

Returns:

set[str] – The image IDs to keep.

Example

>>> frames = [('a', 0.0, 0.0, '1', 's'), ('b', 0.00003, 0.0, '2', 's'),
...           ('c', 0.0002, 0.0, '3', 's')]
>>> sorted(thin_frames(frames, spacing_m=10))
['a', 'c']