aboutsummaryrefslogtreecommitdiff
path: root/src/argaze/GazeFeatures.py
diff options
context:
space:
mode:
authorThéo de la Hogue2023-08-23 11:31:28 +0200
committerThéo de la Hogue2023-08-23 11:31:28 +0200
commit2c7562e6d64dcd34529f105bfd4d007f2d1addf9 (patch)
tree76bd571e5cd5f6dd7355cbe2fad97d83dd14c97b /src/argaze/GazeFeatures.py
parent1b8fc172daf2d6bf6fdded278766289aeaf61e06 (diff)
downloadargaze-2c7562e6d64dcd34529f105bfd4d007f2d1addf9.zip
argaze-2c7562e6d64dcd34529f105bfd4d007f2d1addf9.tar.gz
argaze-2c7562e6d64dcd34529f105bfd4d007f2d1addf9.tar.bz2
argaze-2c7562e6d64dcd34529f105bfd4d007f2d1addf9.tar.xz
Externalizing aoi matching algorithm as a new configurable pipeline step.
Diffstat (limited to 'src/argaze/GazeFeatures.py')
-rw-r--r--src/argaze/GazeFeatures.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/argaze/GazeFeatures.py b/src/argaze/GazeFeatures.py
index bb5f991..33fd562 100644
--- a/src/argaze/GazeFeatures.py
+++ b/src/argaze/GazeFeatures.py
@@ -15,6 +15,7 @@ import json
from inspect import getmembers
from argaze import DataStructures
+from argaze.AreaOfInterest import AOIFeatures
import numpy
import pandas
@@ -700,6 +701,20 @@ class ScanPathAnalyzer():
raise NotImplementedError('analyze() method not implemented')
+class AOIMatcher():
+ """Abstract class to define what should provide an AOI matcher algorithm."""
+
+ def match(self, aoi_scene: AOIFeatures.AOIScene, gaze_movement: GazeMovement, exclude=[]) -> str:
+ """Which AOI is looked in the scene?"""
+
+ raise NotImplementedError('match() method not implemented')
+
+ @property
+ def looked_aoi(self) -> str:
+ """Get most likely looked aoi name."""
+
+ raise NotImplementedError('looked_aoi getter not implemented')
+
AOIScanStepType = TypeVar('AOIScanStep', bound="AOIScanStep")
# Type definition for type annotation convenience