CameraFrame#

class rapidtools.processing.street_tracking.CameraFrame(image_id: str, lon: float, lat: float, compass_angle: float, is_pano: bool = True, captured_at: str | None = None, sequence_id: str | None = None, focal_norm: float | None = None)[source]#

Bases: object

Where one survey frame was taken and what it could see.

One record per frame, including frames with no detection of the class: those are the ones that can say an object is not somewhere.

Variables:
  • image_id (str) – Mapillary image ID.

  • lat (lon,) – Camera position.

  • compass_angle (float) – Camera heading in degrees clockwise from north.

  • is_pano (bool) – Whether the frame is a 360-degree panorama.

  • captured_at (str | None) – ISO timestamp (the date part identifies the survey day).

  • sequence_id (str | None) – Mapillary sequence.

  • focal_norm (float | None) – Focal length over the larger image side (OpenSfM), for the horizontal field of view of a perspective camera.

Methods

from_observation

The frame record of a sighting's camera.

sees

Whether a ground point at bearing lies inside the frame.

property day: str | None#

The survey day (YYYY-MM-DD), if the capture time is known.

property horizontal_fov_deg: float#

Horizontal field of view; 360 for a panorama.

sees(bearing: float, margin_deg: float = 5.0) → bool[source]#

Whether a ground point at bearing lies inside the frame.

classmethod from_observation(obs: Observation) → CameraFrame[source]#

The frame record of a sighting’s camera.