aboutsummaryrefslogtreecommitdiff
path: root/src/argaze/utils/demo_data/demo_layer_logger.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/argaze/utils/demo_data/demo_layer_logger.py')
-rw-r--r--src/argaze/utils/demo_data/demo_layer_logger.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/argaze/utils/demo_data/demo_layer_logger.py b/src/argaze/utils/demo_data/demo_layer_logger.py
new file mode 100644
index 0000000..eba7c74
--- /dev/null
+++ b/src/argaze/utils/demo_data/demo_layer_logger.py
@@ -0,0 +1,38 @@
+#!/usr/bin/env python
+
+""" """
+
+__author__ = "Théo de la Hogue"
+__credits__ = []
+__copyright__ = "Copyright 2023, Ecole Nationale de l'Aviation Civile (ENAC)"
+__license__ = "BSD"
+
+from argaze import ArFeatures, GazeFeatures
+from argaze.utils import UtilsFeatures
+
+from argaze import ArFeatures, GazeFeatures, DataFeatures
+from argaze.utils import UtilsFeatures
+
+class AOIScanPathAnalysisLogger(DataFeatures.PipelineStepObserver, UtilsFeatures.FileWriter):
+
+ def on_look(self, timestamp, layer):
+ """Log aoi scan path metrics"""
+
+ #print(timestamp, "AOIScanPathAnalysisLogger.on_look:", type(self), type(layer))
+
+ if layer.aoi_scan_path_analyzed:
+
+ log = (
+ timestamp,
+ layer.aoi_scan_path_analyzers['argaze.GazeAnalysis.Basic'].path_duration,
+ layer.aoi_scan_path_analyzers['argaze.GazeAnalysis.Basic'].steps_number,
+ layer.aoi_scan_path_analyzers['argaze.GazeAnalysis.KCoefficient'].K,
+ layer.aoi_scan_path_analyzers['argaze.GazeAnalysis.LempelZivComplexity'].lempel_ziv_complexity
+ )
+
+ self.write(log)
+
+# Export loggers instances to register them as pipeline step object observers
+__observers__ = {
+ "AOI Scan path analysis logger": AOIScanPathAnalysisLogger(path="_export/logs/aoi_scan_path_metrics.csv", header="Timestamp (ms), Duration (ms), Step, K, LZC")
+ } \ No newline at end of file