Skip to content

Add support for defining and using regions-of-interest (ROIs) #377

@niksirbi

Description

@niksirbi

Overarching theme

One of the key elements of the project's long-term vision is:

Integrate spatial data about the animal’s environment for combined analysis with motion tracks. This covers regions of interest (ROIs) such as the arena in which the animal is moving and the location of objects within it.

Having a representation for ROIs is crucial for many useful and popular metrics such as:

  • time spent in specific areas
  • number of entries/exits into specific areas
  • relative orientation of an animal with respect to an object in its environment

Specific aims

To support this goal, users should be able to define ROIs either by passing coordinate values, or ideally, by drawing them on top of the video/frame.

On the Python API side, users should be able to define objects such as points, lines, polygons (and maybe also circles, ellipses, and rectangles, for convenience) by passing vertex coordinates or the geometric parameters of each shape (e.g. for the circle this could be centre + radius).

Ideally, we should rely on existing mature solutions as much as possible, for example, the Shapely Geometry classes, with thin convenience wrappers on top of them (if and as needed).

Additional context

Related to #368 and #370.

This issue is meant to track the data structures and API interface for ROIs.
The drawing of the ROIs via a graphical user interface is a separate issue #378.

Metadata

Metadata

Labels

core featurea core functionality that must be implementedenhancementNew optional feature

Projects

Status

🚧 In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions