pyronear / pyronear/pyro-api

Allow updating a camera's angle_of_view

Open
#694 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
29
Forks
14
Avg merge
9d 1h
Merged PRs (30d)
5

Description

The FOV is not constant across Reolink units — the value we set at camera creation is a spec sheet number, the measured one differs. Example: snow-valley-02 (id 172) was created with angle_of_view: 54.2, calibration measured 51.36.

Today there's no way to fix it after creation: CameraEdit only exposes elevation/lat/lon, and there is no PATCH on /cameras/{camera_id}. Only workaround is an UPDATE in DB, or deleting and recreating the camera (new id → breaks the engine config_json and loses history).

Proposal: expose angle_of_view in an admin PATCH route, e.g. PATCH /cameras/{camera_id}/angle_of_view, or add it to CameraEdit.

A wrong AOV skews the bbox → azimuth mapping, so the detection cone shown on the platform is off.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the CameraEdit model and existing camera route handlers to understand how camera fields are validated and persisted. Add an admin-supported way to update angle_of_view without recreating the camera, then verify that the updated value is returned and used for the detection-cone mapping while the camera id and history remain unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
fastapi, python
Domain
api, backend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.