aboutsummaryrefslogtreecommitdiff
path: root/docs/user_guide/gaze_analysis_pipeline/ar_layer_configuration_and_execution.md
diff options
context:
space:
mode:
authorThéo de la Hogue2023-08-28 15:05:01 +0200
committerThéo de la Hogue2023-08-28 15:05:01 +0200
commitf93d3e2b011fe1c1de93d0094ca45584ddd49936 (patch)
treea627bdcf45da2a63caaf40d66a12668301acff63 /docs/user_guide/gaze_analysis_pipeline/ar_layer_configuration_and_execution.md
parenteb8915ec0750699695e4d70af4abef56f56fbe9f (diff)
downloadargaze-f93d3e2b011fe1c1de93d0094ca45584ddd49936.zip
argaze-f93d3e2b011fe1c1de93d0094ca45584ddd49936.tar.gz
argaze-f93d3e2b011fe1c1de93d0094ca45584ddd49936.tar.bz2
argaze-f93d3e2b011fe1c1de93d0094ca45584ddd49936.tar.xz
Improving gaze analysis pipeline documentation.
Diffstat (limited to 'docs/user_guide/gaze_analysis_pipeline/ar_layer_configuration_and_execution.md')
-rw-r--r--docs/user_guide/gaze_analysis_pipeline/ar_layer_configuration_and_execution.md23
1 files changed, 16 insertions, 7 deletions
diff --git a/docs/user_guide/gaze_analysis_pipeline/ar_layer_configuration_and_execution.md b/docs/user_guide/gaze_analysis_pipeline/ar_layer_configuration_and_execution.md
index c9ca097..3503d1a 100644
--- a/docs/user_guide/gaze_analysis_pipeline/ar_layer_configuration_and_execution.md
+++ b/docs/user_guide/gaze_analysis_pipeline/ar_layer_configuration_and_execution.md
@@ -18,6 +18,7 @@ Here is the JSON ArFrame configuration file example where one layer is added:
...
"layers": {
"MyLayer": {
+ "aoi_color": [0, 0, 255],
"aoi_scene" : {
"upper_left_corner": [[0, 0], [960, 0], [960, 540], [0, 540]],
"upper_right_corner": [[960, 0], [1920, 0], [1920, 540], [960, 540]],
@@ -57,7 +58,9 @@ from argaze import ArFeatures
for name, ar_layer in ar_frame.layers.items():
print("name:", ar_layer.name)
+ print("AOI color:", ar_layer.aoi_color)
print("AOI scene:", ar_layer.aoi_scene)
+ print("AOI matcher type:", type(ar_layer.aoi_matcher))
print("AOI scan path:", ar_layer.aoi_scan_path)
for module, analyzer in ar_layer.aoi_scan_path_analyzers.items():
@@ -70,6 +73,7 @@ Finally, here is what the program writes in console:
...
name: MyLayer
+AOI color: [0, 0, 255]
AOI scene:
upper_left_corner:
[[0, 0], [960, 0], [960, 540], [0, 540]]
@@ -79,6 +83,7 @@ AOI scene:
[[0, 540], [960, 540], [960, 1080], [0, 1080]]
lower_right_corner:
[[960, 540], [1920, 540], [1920, 1080], [960, 1080]]
+AOI matcher type: <class 'argaze.GazeAnalysis.DeviationCircleCoverage.AOIMatcher'>
AOI scan path: []
AOI scan path analyzer module: argaze.GazeAnalysis.Basic
AOI scan path analyzer module: argaze.GazeAnalysis.TransitionMatrix
@@ -91,6 +96,10 @@ Now, let's understand the meaning of each JSON entry.
The name of the [ArLayer](../../../argaze/#argaze.ArFeatures.ArLayer). Basically useful for visualisation purpose.
+### AOI Color
+
+The color of [ArLayer](../../../argaze/#argaze.ArFeatures.ArLayer)'s AOI. Basically useful for visualisation purpose.
+
### AOI Scene
The [AOIScene](../../../argaze/#argaze.AreaOfInterest.AOIFeatures.AOIScene) defines a set of 2D [AreaOfInterest](../../../argaze/#argaze.AreaOfInterest.AOIFeatures.AreaOfInterest) registered by name.
@@ -103,9 +112,9 @@ The first [ArLayer](../../../argaze/#argaze.ArFeatures.ArLayer) pipeline step ai
![AOI Matcher](../../img/ar_layer_aoi_matcher.png)
-The matching method can be selected by instantiating a particular [AOIMatcher](../../../argaze/#argaze.GazeFeatures.AOIMatcher) from the [argaze.GazeAnalysis](../../../argaze/#argaze.GazeAnalysis) submodule or [another python package](../advanced_topics/plugin_loading).
+The matching algorithm can be selected by instantiating a particular [AOIMatcher](../../../argaze/#argaze.GazeFeatures.AOIMatcher) from the [argaze.GazeAnalysis](../../../argaze/#argaze.GazeAnalysis) submodule or [from another python package](../advanced_topics/module_loading).
-In the example file, the choosen matching method is the [Deviation Circle Coverage](../../../argaze/#argaze.GazeAnalysis.DeviationCircleCoverage) which has one specific *coverage_threshold* attribute.
+In the example file, the choosen matching algorithm is the [Deviation Circle Coverage](../../../argaze/#argaze.GazeAnalysis.DeviationCircleCoverage) which has one specific *coverage_threshold* attribute.
!!! warning
JSON *aoi_matcher* entry is mandatory. Otherwise, the AOIScanPath and AOIScanPathAnalyzers steps are disabled.
@@ -116,18 +125,18 @@ The second [ArLayer](../../../argaze/#argaze.ArFeatures.ArLayer) pipeline step a
![AOI Scan Path](../../img/ar_layer_aoi_scan_path.png)
-Once fixations and saccades are identified and fixations are matched to AOI, they are automatically appended to the AOIScanPath if required.
+Once identified gaze movements are matched to AOI, they are automatically appended to the AOIScanPath if required.
The [AOIScanPath.duration_max](../../../argaze/#argaze.GazeFeatures.AOIScanPath.duration_max) attribute is the duration from which older AOI scan steps are removed each time new AOI scan steps are added.
+!!! note
+ JSON *aoi_scan_path* entry is not mandatory. If aoi_scan_path_analyzers entry is not empty, the AOIScanPath step is automatically enabled.
+
### AOI Scan Path Analyzers
Finally, the last [ArLayer](../../../argaze/#argaze.ArFeatures.ArLayer) pipeline step consists in passing the previously built [AOIScanPath](../../../argaze/#argaze.GazeFeatures.AOIScanPath) to each loaded [AOIScanPathAnalyzer](../../../argaze/#argaze.GazeFeatures.AOIScanPathAnalyzer).
-Each analysis algorithm can be selected by instantiating a particular [AOIScanPathAnalyzer](../../../argaze/#argaze.GazeFeatures.AOIScanPathAnalyzer) from the [argaze.GazeAnalysis](../../../argaze/#argaze.GazeAnalysis) submodule or [another python package](../advanced_topics/plugin_loading).
-
-!!! note
- JSON *aoi_scan_path* entry is not mandatory. If aoi_scan_path_analyzers entry is not empty, the AOIScanPath step is automatically enabled.
+Each analysis algorithm can be selected by instantiating a particular [AOIScanPathAnalyzer](../../../argaze/#argaze.GazeFeatures.AOIScanPathAnalyzer) from the [argaze.GazeAnalysis](../../../argaze/#argaze.GazeAnalysis) submodule or [from another python package](../advanced_topics/module_loading).
## Pipeline execution