diff options
author | Théo de la Hogue | 2023-09-20 12:07:50 +0200 |
---|---|---|
committer | Théo de la Hogue | 2023-09-20 12:07:50 +0200 |
commit | f9046f1c979f2daf9d7180286df002059a97fc3b (patch) | |
tree | 703eaab205402dd2eefb1d069e40729cd1549c77 /src/argaze/ArFeatures.py | |
parent | 0fea09cdeee6367cde0454c92ea495d49dff5933 (diff) | |
download | argaze-f9046f1c979f2daf9d7180286df002059a97fc3b.zip argaze-f9046f1c979f2daf9d7180286df002059a97fc3b.tar.gz argaze-f9046f1c979f2daf9d7180286df002059a97fc3b.tar.bz2 argaze-f9046f1c979f2daf9d7180286df002059a97fc3b.tar.xz |
Working on ArUcoMarkersGroup and ArUcoScene drawing features.
Diffstat (limited to 'src/argaze/ArFeatures.py')
-rw-r--r-- | src/argaze/ArFeatures.py | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/src/argaze/ArFeatures.py b/src/argaze/ArFeatures.py index b9a29de..96976c2 100644 --- a/src/argaze/ArFeatures.py +++ b/src/argaze/ArFeatures.py @@ -510,7 +510,7 @@ DEFAULT_ARFRAME_IMAGE_PARAMETERS = { }, "deepness": 0 }, - "draw_gaze_position": { + "draw_gaze_positions": { "color": (0, 255, 255), "size": 2 } @@ -976,7 +976,7 @@ class ArFrame(): # Return look data return identified_gaze_movement, scan_step_analysis, layer_analysis, execution_times, exception - def __image(self, background_weight: float = None, heatmap_weight: float = None, draw_scan_path: dict = None, draw_layers: dict = None, draw_gaze_position: dict = None) -> numpy.array: + def __image(self, background_weight: float = None, heatmap_weight: float = None, draw_scan_path: dict = None, draw_layers: dict = None, draw_gaze_positions: dict = None, draw_fixations: dict = None, draw_saccades: dict = None) -> numpy.array: """ Get background image with overlaid visualisations. @@ -985,7 +985,9 @@ class ArFrame(): heatmap_weight: weight of heatmap overlay draw_scan_path: [GazeFeatures.ScanPath.draw](argaze.md/#argaze.GazeFeatures.ScanPath.draw) parameters (if None, no scan path is drawn) draw_layers: dictionary of [ArLayer.draw](argaze.md/#argaze.ArFeatures.ArLayer.draw) parameters per layer (if None, no layer is drawn) - draw_gaze_position: [GazeFeatures.GazePosition.draw](argaze.md/#argaze.GazeFeatures.GazePosition.draw) parameters (if None, no gaze position is drawn) + draw_gaze_positions: [GazeFeatures.GazePosition.draw](argaze.md/#argaze.GazeFeatures.GazePosition.draw) parameters (if None, no gaze position is drawn) + draw_fixations: [GazeFeatures.Fixation.draw](argaze.md/#argaze.GazeFeatures.Fixation.draw) parameters (if None, no fixation is drawn) + draw_saccades: [GazeFeatures.Saccade.draw](argaze.md/#argaze.GazeFeatures.Saccade.draw) parameters (if None, no saccade is drawn) """ # Lock frame exploitation @@ -1025,10 +1027,20 @@ class ArFrame(): self.layers[layer_name].draw(image, **draw_layer) + # Draw current fixation if required + if draw_fixations is not None and self.gaze_movement_identifier is not None: + + self.gaze_movement_identifier.current_fixation.draw(image, **draw_fixations) + + # Draw current saccade if required + if draw_saccades is not None and self.gaze_movement_identifier is not None: + + self.gaze_movement_identifier.current_saccade.draw(image, **draw_saccades) + # Draw current gaze position if required - if draw_gaze_position is not None: + if draw_gaze_positions is not None: - self.__gaze_position.draw(image, **draw_gaze_position) + self.__gaze_position.draw(image, **draw_gaze_positions) # Unlock frame exploitation self.__look_lock.release() @@ -1280,15 +1292,15 @@ class ArScene(): # Project layer aoi scene yield name, aoi_scene_copy.project(tvec, rvec, self.parent.aruco_detector.optic_parameters.K) - def draw_axis(self, image: numpy.array): + def draw(self, image: numpy.array, **kwargs): """ - Draw scene axis into image. + Draw scene into image. Parameters: image: where to draw """ - raise NotImplementedError('draw_axis() method not implemented') + raise NotImplementedError('draw() method not implemented') @dataclass class ArCamera(ArFrame): |