aboutsummaryrefslogtreecommitdiff
path: root/src/argaze/GazeAnalysis/DeviationCircleCoverage.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/argaze/GazeAnalysis/DeviationCircleCoverage.py')
-rw-r--r--src/argaze/GazeAnalysis/DeviationCircleCoverage.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/argaze/GazeAnalysis/DeviationCircleCoverage.py b/src/argaze/GazeAnalysis/DeviationCircleCoverage.py
index 4cfab72..f0decfc 100644
--- a/src/argaze/GazeAnalysis/DeviationCircleCoverage.py
+++ b/src/argaze/GazeAnalysis/DeviationCircleCoverage.py
@@ -51,7 +51,7 @@ class AOIMatcher(GazeFeatures.AOIMatcher):
for name, aoi in aoi_scene.items():
- # BAD: we use deviation_max attribute which is an atttribute of DispersionThresholdIdentification.Fixation class
+ # BAD: we use deviation_max attribute which is an attribute of DispersionThresholdIdentification.Fixation class
region, _, circle_ratio = aoi.circle_intersection(gaze_movement.focus, gaze_movement.deviation_max)
if name not in self.exclude and circle_ratio > 0:
@@ -83,7 +83,10 @@ class AOIMatcher(GazeFeatures.AOIMatcher):
for aoi_name, circle_ratio_sum in self.__circle_ratio_sum.items():
- self.__aois_coverages[aoi_name] = int(100 * circle_ratio_sum / self.__look_count) / 100
+ circle_ratio_mean = circle_ratio_sum / self.__look_count
+
+ # filter circle ration mean greater than 1
+ self.__aois_coverages[aoi_name] = circle_ratio_mean if circle_ratio_mean < 1 else 1
# Update matched gaze movement
self.__matched_gaze_movement = gaze_movement
@@ -100,6 +103,10 @@ class AOIMatcher(GazeFeatures.AOIMatcher):
self.__post_init__()
+ elif not gaze_movement.valid:
+
+ self.__post_init__()
+
return (None, None)
def draw(self, image: numpy.array, aoi_scene: AOIFeatures.AOIScene, draw_matched_fixation: dict = None, draw_matched_fixation_positions: dict = None, draw_matched_region: dict = None, draw_looked_aoi: dict = None, update_looked_aoi: bool = False, looked_aoi_name_color: tuple = None, looked_aoi_name_offset: tuple = (0, 0)):