aboutsummaryrefslogtreecommitdiff
path: root/docs/user_guide/gaze_analysis_pipeline/ar_frame_configuration_and_execution.md
diff options
context:
space:
mode:
authorThéo de la Hogue2023-09-20 09:48:15 +0200
committerThéo de la Hogue2023-09-20 09:48:15 +0200
commitb7b076577015a6356bd387221c6ea646a14251d0 (patch)
tree9443c98e73c70108b8159ca15ac9316cc4188d6a /docs/user_guide/gaze_analysis_pipeline/ar_frame_configuration_and_execution.md
parent9726f081357c64937377385a29139b7cfe50a898 (diff)
downloadargaze-b7b076577015a6356bd387221c6ea646a14251d0.zip
argaze-b7b076577015a6356bd387221c6ea646a14251d0.tar.gz
argaze-b7b076577015a6356bd387221c6ea646a14251d0.tar.bz2
argaze-b7b076577015a6356bd387221c6ea646a14251d0.tar.xz
Improving gaze analysis pipeline chapters name. Replacing pictures. Improving hints and examples.
Diffstat (limited to 'docs/user_guide/gaze_analysis_pipeline/ar_frame_configuration_and_execution.md')
-rw-r--r--docs/user_guide/gaze_analysis_pipeline/ar_frame_configuration_and_execution.md103
1 files changed, 0 insertions, 103 deletions
diff --git a/docs/user_guide/gaze_analysis_pipeline/ar_frame_configuration_and_execution.md b/docs/user_guide/gaze_analysis_pipeline/ar_frame_configuration_and_execution.md
deleted file mode 100644
index d649a4b..0000000
--- a/docs/user_guide/gaze_analysis_pipeline/ar_frame_configuration_and_execution.md
+++ /dev/null
@@ -1,103 +0,0 @@
-Configure and execute ArFrame
-=============================
-
-The [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame) class defines a rectangular area where timestamped gaze positions are projected in and inside which they need to be analyzed.
-
-![Empty frame area](../../img/ar_frame_empty.png)
-
-## Load JSON configuration file
-
-The [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame) internal pipeline is entirely customizable from a JSON configuration file thanks to [ArFrame.from_json](../../argaze.md/#argaze.ArFeatures.ArFrame.from_json) class method.
-
-Here is a simple JSON [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame) configuration file example:
-
-```json
-{
- "name": "My FullHD screen",
- "size": [1920, 1080],
- "gaze_movement_identifier": {
- "DispersionThresholdIdentification": {
- "deviation_max_threshold": 50,
- "duration_min_threshold": 200
- }
- },
- "scan_path": {
- "duration_max": 30000
- },
- "scan_path_analyzers": {
- "Basic": {},
- "ExploitExploreRatio": {
- "short_fixation_duration_threshold": 0
- }
- }
-}
-```
-
-Then, here is how to load the JSON file:
-
-```python
-from argaze import ArFeatures
-
-# Load ArFrame
-ar_frame = ArFeatures.ArFrame.from_json('./configuration.json')
-```
-
-Now, let's understand the meaning of each JSON entry.
-
-### Name
-
-The name of the [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame). Basically useful for visualisation purpose.
-
-### Size
-
-The size of the [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame) defines the dimension of the rectangular area where gaze positions are projected. Be aware that gaze positions have to be in the same range of value to be projected in.
-
-!!! warning
- **ArGaze doesn't impose any spatial unit.** Gaze positions can either be integer or float, pixels, millimeters or what ever you need. The only concern is that all spatial values used in further configurations have to be all the same unit.
-
-### Gaze Movement Identifier
-
-The first [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame) pipeline step is to identify fixations or saccades from consecutive timestamped gaze positions.
-
-![Gaze Movement Identifier](../../img/ar_frame_gaze_movement_identifier.png)
-
-The identification algorithm can be selected by instantiating a particular [GazeMovementIdentifier](../../argaze.md/#argaze.GazeFeatures.GazeMovementIdentifier) from the [argaze.GazeAnalysis](../../argaze.md/#argaze.GazeAnalysis) submodule or [from another python package](advanced_topics/module_loading.md).
-
-In the example file, the choosen identification algorithm is the [Dispersion Threshold Identification (I-DT)](../../argaze.md/#argaze.GazeAnalysis.DispersionThresholdIdentification) which has two specific *deviation_max_threshold* and *duration_min_threshold* attributes.
-
-!!! note
- In ArGaze, [Fixation](../../argaze.md/#argaze.GazeFeatures.Fixation) and [Saccade](../../argaze.md/#argaze.GazeFeatures.Saccade) are considered as particular [GazeMovements](../../argaze.md/#argaze.GazeFeatures.GazeMovement).
-
-!!! warning
- JSON *gaze_movement_identifier* entry is mandatory. Otherwise, the ScanPath and ScanPathAnalyzers steps are disabled.
-
-### Scan Path
-
-The second [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame) pipeline step aims to build a [ScanPath](../../argaze.md/#argaze.GazeFeatures.ScanPath) defined as a list of [ScanSteps](../../argaze.md/#argaze.GazeFeatures.ScanStep) made by a fixation and a consecutive saccade.
-
-![Scan Path](../../img/ar_frame_scan_path.png)
-
-Once fixations and saccades are identified, they are automatically appended to the ScanPath if required.
-
-The [ScanPath.duration_max](../../argaze.md/#argaze.GazeFeatures.ScanPath.duration_max) attribute is the duration from which older scan steps are removed each time new scan steps are added.
-
-!!! note
- JSON *scan_path* entry is not mandatory. If scan_path_analyzers entry is not empty, the ScanPath step is automatically enabled.
-
-### Scan Path Analyzers
-
-Finally, the last [ArFrame](../../argaze.md/#argaze.ArFeatures.ArFrame) pipeline step consists in passing the previously built [ScanPath](../../argaze.md/#argaze.GazeFeatures.ScanPath) to each loaded [ScanPathAnalyzer](../../argaze.md/#argaze.GazeFeatures.ScanPathAnalyzer).
-
-Each analysis algorithm can be selected by instantiating a particular [ScanPathAnalyzer](../../argaze.md/#argaze.GazeFeatures.ScanPathAnalyzer) from the [argaze.GazeAnalysis](../../argaze.md/#argaze.GazeAnalysis) submodule or [from another python package](advanced_topics/module_loading.md).
-
-## Pipeline execution
-
-Timestamped gaze positions have to be passed one by one to [ArFrame.look](../../argaze.md/#argaze.ArFeatures.ArFrame.look) method to execute the whole intanciated pipeline.
-
-```python
-# Assuming that timestamped gaze positions are available
-...
-
- # Look ArFrame at a timestamped gaze position
- ar_frame.look(timestamp, gaze_position)
-```