aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThéo de la Hogue2023-09-26 10:47:43 +0200
committerThéo de la Hogue2023-09-26 10:47:43 +0200
commit12ae7e20aba323624d360567ea424ac2d315fbc7 (patch)
treefd76adc669febf6ec19526c6f8278d2d853e8646 /src
parent08791230814241baf2283c07cc6b16b00dcccca4 (diff)
downloadargaze-12ae7e20aba323624d360567ea424ac2d315fbc7.zip
argaze-12ae7e20aba323624d360567ea424ac2d315fbc7.tar.gz
argaze-12ae7e20aba323624d360567ea424ac2d315fbc7.tar.bz2
argaze-12ae7e20aba323624d360567ea424ac2d315fbc7.tar.xz
Harmonizing AOI/aoi without s at the end.
Diffstat (limited to 'src')
-rw-r--r--src/argaze.test/AreaOfInterest/AOI2DScene.py6
-rw-r--r--src/argaze.test/AreaOfInterest/AOI3DScene.py6
-rw-r--r--src/argaze.test/GazeFeatures.py4
-rw-r--r--src/argaze/ArFeatures.py24
-rw-r--r--src/argaze/AreaOfInterest/AOI2DScene.py6
-rw-r--r--src/argaze/AreaOfInterest/AOI3DScene.py10
-rw-r--r--src/argaze/GazeAnalysis/DeviationCircleCoverage.py14
-rw-r--r--src/argaze/GazeAnalysis/TransitionMatrix.py2
-rw-r--r--src/argaze/GazeFeatures.py22
9 files changed, 47 insertions, 47 deletions
diff --git a/src/argaze.test/AreaOfInterest/AOI2DScene.py b/src/argaze.test/AreaOfInterest/AOI2DScene.py
index 4e96e98..10ff430 100644
--- a/src/argaze.test/AreaOfInterest/AOI2DScene.py
+++ b/src/argaze.test/AreaOfInterest/AOI2DScene.py
@@ -187,14 +187,14 @@ class TestTimeStampedAOIScenesClass(unittest.TestCase):
aoi_2D_B = AOIFeatures.AreaOfInterest([[1, 1], [1, 2], [2, 2], [2, 1]])
aoi_2d_scene = AOI2DScene.AOI2DScene({"A": aoi_2D_A, "B": aoi_2D_B})
- ts_aois_scenes = AOIFeatures.TimeStampedAOIScenes()
+ ts_aoi_scenes = AOIFeatures.TimeStampedAOIScenes()
- ts_aois_scenes[0] = aoi_2d_scene
+ ts_aoi_scenes[0] = aoi_2d_scene
# Check that only AOIScene can be added
with self.assertRaises(AssertionError):
- ts_aois_scenes[1] = "This string is not an AOI2DScene"
+ ts_aoi_scenes[1] = "This string is not an AOI2DScene"
if __name__ == '__main__':
diff --git a/src/argaze.test/AreaOfInterest/AOI3DScene.py b/src/argaze.test/AreaOfInterest/AOI3DScene.py
index b386432..d09f2a8 100644
--- a/src/argaze.test/AreaOfInterest/AOI3DScene.py
+++ b/src/argaze.test/AreaOfInterest/AOI3DScene.py
@@ -107,14 +107,14 @@ class TestTimeStampedAOIScenesClass(unittest.TestCase):
aoi_3D_B = AOIFeatures.AreaOfInterest([[1, 1, 0], [1, 2, 0], [2, 2, 0], [2, 1, 0]])
aoi_3d_scene = AOI3DScene.AOI3DScene({"A": aoi_3D_A, "B": aoi_3D_B})
- ts_aois_scenes = AOIFeatures.TimeStampedAOIScenes()
+ ts_aoi_scenes = AOIFeatures.TimeStampedAOIScenes()
- ts_aois_scenes[0] = aoi_3d_scene
+ ts_aoi_scenes[0] = aoi_3d_scene
# Check that only AOIScene can be added
with self.assertRaises(AssertionError):
- ts_aois_scenes[1] = "This string is not an AOI3DScene"
+ ts_aoi_scenes[1] = "This string is not an AOI3DScene"
if __name__ == '__main__':
diff --git a/src/argaze.test/GazeFeatures.py b/src/argaze.test/GazeFeatures.py
index d609dd2..b41c7c7 100644
--- a/src/argaze.test/GazeFeatures.py
+++ b/src/argaze.test/GazeFeatures.py
@@ -497,10 +497,10 @@ class TestAOIScanStepClass(unittest.TestCase):
aoi_scan_step = GazeFeatures.AOIScanStep(movements, 'Test')
-def build_aoi_scan_path(expected_aois, aoi_path):
+def build_aoi_scan_path(expected_aoi, aoi_path):
"""Build AOI scan path"""
- aoi_scan_path = GazeFeatures.AOIScanPath(expected_aois)
+ aoi_scan_path = GazeFeatures.AOIScanPath(expected_aoi)
# Append a hidden last step to allow last given step creation
aoi_path.append(aoi_path[-2])
diff --git a/src/argaze/ArFeatures.py b/src/argaze/ArFeatures.py
index 0750cb5..122efe8 100644
--- a/src/argaze/ArFeatures.py
+++ b/src/argaze/ArFeatures.py
@@ -96,7 +96,7 @@ DEFAULT_ARLAYER_DRAW_PARAMETERS = {
@dataclass
class ArLayer():
"""
- Defines a space where to make matching of gaze movements and AOIs and inside which those matchings need to be analyzed.
+ Defines a space where to make matching of gaze movements and AOI and inside which those matchings need to be analyzed.
Parameters:
name: name of the layer
@@ -203,10 +203,10 @@ class ArLayer():
new_aoi_scene = AOI2DScene.AOI2DScene()
# Edit expected AOI list by removing AOI with name equals to layer name
- expected_aois = list(new_aoi_scene.keys())
+ expected_aoi = list(new_aoi_scene.keys())
- if new_layer_name in expected_aois:
- expected_aois.remove(new_layer_name)
+ if new_layer_name in expected_aoi:
+ expected_aoi.remove(new_layer_name)
# Load aoi matcher
try:
@@ -230,13 +230,13 @@ class ArLayer():
try:
new_aoi_scan_path_data = layer_data.pop('aoi_scan_path')
- new_aoi_scan_path_data['expected_aois'] = expected_aois
+ new_aoi_scan_path_data['expected_aoi'] = expected_aoi
new_aoi_scan_path = GazeFeatures.AOIScanPath(**new_aoi_scan_path_data)
except KeyError:
new_aoi_scan_path_data = {}
- new_aoi_scan_path_data['expected_aois'] = expected_aois
+ new_aoi_scan_path_data['expected_aoi'] = expected_aoi
new_aoi_scan_path = None
# Load AOI scan path analyzers
@@ -1208,7 +1208,7 @@ class ArScene():
# Check that the frame have a layer named like this scene layer
aoi_2d_scene = new_frame.layers[scene_layer_name].aoi_scene
- # Transform 2D frame layer AOIs into 3D scene layer AOIs
+ # Transform 2D frame layer AOI into 3D scene layer AOI
# Then, add them to scene layer
scene_layer.aoi_scene |= aoi_2d_scene.dimensionalize(frame_3d, new_frame.size)
@@ -1228,12 +1228,12 @@ class ArScene():
if frame_layer.aoi_scan_path is not None:
# Edit expected AOI list by removing AOI with name equals to frame layer name
- expected_aois = list(layer.aoi_scene.keys())
+ expected_aoi = list(layer.aoi_scene.keys())
- if frame_layer_name in expected_aois:
- expected_aois.remove(frame_layer_name)
+ if frame_layer_name in expected_aoi:
+ expected_aoi.remove(frame_layer_name)
- frame_layer.aoi_scan_path.expected_aois = expected_aois
+ frame_layer.aoi_scan_path.expected_aoi = expected_aoi
except KeyError:
@@ -1353,7 +1353,7 @@ class ArCamera(ArFrame):
continue
- layer.aoi_scan_path.expected_aois = all_aoi_list
+ layer.aoi_scan_path.expected_aoi = all_aoi_list
# Init a lock to share scene projections into camera frame between multiple threads
self._frame_lock = threading.Lock()
diff --git a/src/argaze/AreaOfInterest/AOI2DScene.py b/src/argaze/AreaOfInterest/AOI2DScene.py
index 4dc47f4..a726b23 100644
--- a/src/argaze/AreaOfInterest/AOI2DScene.py
+++ b/src/argaze/AreaOfInterest/AOI2DScene.py
@@ -26,9 +26,9 @@ AOI3DSceneType = TypeVar('AOI3DScene', bound="AOI3DScene")
class AOI2DScene(AOIFeatures.AOIScene):
"""Define AOI 2D scene."""
- def __init__(self, aois_2d: dict = None):
+ def __init__(self, aoi_2d: dict = None):
- super().__init__(2, aois_2d)
+ super().__init__(2, aoi_2d)
@classmethod
def from_svg(self, svg_filepath: str) -> AOI2DSceneType:
@@ -121,7 +121,7 @@ class AOI2DScene(AOIFeatures.AOIScene):
yield name, aoi, matching
def draw_raycast(self, image: numpy.array, pointer:tuple, exclude=[], base_color=(0, 0, 255), matching_color=(0, 255, 0)):
- """Draw AOIs with their matching status."""
+ """Draw AOI with their matching status."""
for name, aoi, matching in self.raycast(pointer):
diff --git a/src/argaze/AreaOfInterest/AOI3DScene.py b/src/argaze/AreaOfInterest/AOI3DScene.py
index bfe189a..33a815c 100644
--- a/src/argaze/AreaOfInterest/AOI3DScene.py
+++ b/src/argaze/AreaOfInterest/AOI3DScene.py
@@ -38,15 +38,15 @@ AOI2DSceneType = TypeVar('AOI2DScene', bound="AOI2DScene")
class AOI3DScene(AOIFeatures.AOIScene):
"""Define AOI 3D scene."""
- def __init__(self, aois_3d: dict = None):
+ def __init__(self, aoi_3d: dict = None):
- super().__init__(3, aois_3d)
+ super().__init__(3, aoi_3d)
@classmethod
def from_obj(self, obj_filepath: str) -> AOI3DSceneType:
"""Load AOI3D scene from .obj file."""
- aois_3d = {}
+ aoi_3d = {}
# regex rules for .obj file parsing
OBJ_RX_DICT = {
@@ -111,12 +111,12 @@ class AOI3DScene(AOIFeatures.AOIScene):
# retreive all aoi3D vertices and sort them in clockwise order
for name, face in faces.items():
aoi3D = AOIFeatures.AreaOfInterest([ vertices[i-1] for i in reversed(face) ])
- aois_3d[name] = aoi3D
+ aoi_3d[name] = aoi3D
except IOError:
raise IOError(f'File not found: {obj_filepath}')
- return AOI3DScene(aois_3d)
+ return AOI3DScene(aoi_3d)
def to_obj(self, obj_filepath: str):
"""Save AOI3D scene into .obj file."""
diff --git a/src/argaze/GazeAnalysis/DeviationCircleCoverage.py b/src/argaze/GazeAnalysis/DeviationCircleCoverage.py
index f0decfc..6dadaba 100644
--- a/src/argaze/GazeAnalysis/DeviationCircleCoverage.py
+++ b/src/argaze/GazeAnalysis/DeviationCircleCoverage.py
@@ -34,7 +34,7 @@ class AOIMatcher(GazeFeatures.AOIMatcher):
self.__look_count = 0
self.__looked_aoi_data = (None, None)
self.__circle_ratio_sum = {}
- self.__aois_coverages = {}
+ self.__aoi_coverages = {}
self.__matched_gaze_movement = None
self.__matched_region = None
@@ -79,14 +79,14 @@ class AOIMatcher(GazeFeatures.AOIMatcher):
self.__looked_aoi_data = most_likely_looked_aoi_data
# Calculate looked aoi circle ratio means
- self.__aois_coverages = {}
+ self.__aoi_coverages = {}
for aoi_name, circle_ratio_sum in self.__circle_ratio_sum.items():
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
+ self.__aoi_coverages[aoi_name] = circle_ratio_mean if circle_ratio_mean < 1 else 1
# Update matched gaze movement
self.__matched_gaze_movement = gaze_movement
@@ -95,7 +95,7 @@ class AOIMatcher(GazeFeatures.AOIMatcher):
self.__matched_region = matched_region
# Return
- if self.__aois_coverages[most_likely_looked_aoi_data[0]] > self.coverage_threshold:
+ if self.__aoi_coverages[most_likely_looked_aoi_data[0]] > self.coverage_threshold:
return self.__looked_aoi_data
@@ -179,8 +179,8 @@ class AOIMatcher(GazeFeatures.AOIMatcher):
return self.__looked_aoi_data[0]
@property
- def aois_coverages(self) -> dict:
- """Get all aois coverage means for current fixation.
+ def aoi_coverages(self) -> dict:
+ """Get all aoi coverage means for current fixation.
It represents the ratio of fixation deviation circle surface that used to cover the aoi."""
- return self.__aois_coverages \ No newline at end of file
+ return self.__aoi_coverages \ No newline at end of file
diff --git a/src/argaze/GazeAnalysis/TransitionMatrix.py b/src/argaze/GazeAnalysis/TransitionMatrix.py
index 6f408e4..b346b5a 100644
--- a/src/argaze/GazeAnalysis/TransitionMatrix.py
+++ b/src/argaze/GazeAnalysis/TransitionMatrix.py
@@ -42,7 +42,7 @@ class AOIScanPathAnalyzer(GazeFeatures.AOIScanPathAnalyzer):
row_sum = aoi_scan_path.transition_matrix.apply(lambda row: row.sum(), axis=1)
# Editing transition matrix probabilities
- # Note: when no transiton starts from an aoi, destination probabilites is equal to 1/S where S is the number of aois
+ # Note: when no transiton starts from an aoi, destination probabilites is equal to 1/S where S is the number of aoi
self.__transition_matrix_probabilities = aoi_scan_path.transition_matrix.apply(lambda row: row.apply(lambda p: p / row_sum[row.name] if row_sum[row.name] > 0 else 1 / row_sum.size), axis=1)
# Calculate matrix density
diff --git a/src/argaze/GazeFeatures.py b/src/argaze/GazeFeatures.py
index 2dd1cab..814753e 100644
--- a/src/argaze/GazeFeatures.py
+++ b/src/argaze/GazeFeatures.py
@@ -842,13 +842,13 @@ AOIScanPathType = TypeVar('AOIScanPathType', bound="AOIScanPathType")
class AOIScanPath(list):
"""List of aoi scan steps over successive aoi."""
- def __init__(self, expected_aois: list[str] = [], duration_max: int|float = 0):
+ def __init__(self, expected_aoi: list[str] = [], duration_max: int|float = 0):
super().__init__()
self.duration_max = duration_max
- self.expected_aois = expected_aois
+ self.expected_aoi = expected_aoi
self.__duration = 0
@property
@@ -903,13 +903,13 @@ class AOIScanPath(list):
return sequence
@property
- def expected_aois(self):
+ def expected_aoi(self):
"""List of all expected aoi."""
- return self.__expected_aois
+ return self.__expected_aoi
- @expected_aois.setter
- def expected_aois(self, expected_aois: list[str] = []):
+ @expected_aoi.setter
+ def expected_aoi(self, expected_aoi: list[str] = []):
"""Edit list of all expected aoi.
!!! warning
@@ -917,15 +917,15 @@ class AOIScanPath(list):
"""
self.clear()
- self.__expected_aois = expected_aois
+ self.__expected_aoi = expected_aoi
self.__movements = TimeStampedGazeMovements()
self.__current_aoi = ''
self.__index = ord('A')
self.__aoi_letter = {}
self.__letter_aoi = {}
- size = len(self.__expected_aois)
- self.__transition_matrix = pandas.DataFrame(numpy.zeros((size, size)), index=self.__expected_aois, columns=self.__expected_aois)
+ size = len(self.__expected_aoi)
+ self.__transition_matrix = pandas.DataFrame(numpy.zeros((size, size)), index=self.__expected_aoi, columns=self.__expected_aoi)
@property
def current_aoi(self):
@@ -953,7 +953,7 @@ class AOIScanPath(list):
!!! warning
It could raise AOIScanStepError"""
- if looked_aoi not in self.__expected_aois:
+ if looked_aoi not in self.__expected_aoi:
raise AOIScanStepError('AOI not expected', looked_aoi)
@@ -1013,7 +1013,7 @@ class AOIScanPath(list):
"""Get how many fixations are there in the scan path and how many fixation are there in each aoi."""
scan_fixations_count = 0
- aoi_fixations_count = {aoi: 0 for aoi in self.__expected_aois}
+ aoi_fixations_count = {aoi: 0 for aoi in self.__expected_aoi}
for aoi_scan_step in self: