diff options
Diffstat (limited to 'docs/user_guide/gaze_analysis')
-rw-r--r-- | docs/user_guide/gaze_analysis/gaze_movement.md | 28 | ||||
-rw-r--r-- | docs/user_guide/gaze_analysis/gaze_position.md | 12 | ||||
-rw-r--r-- | docs/user_guide/gaze_analysis/introduction.md | 4 | ||||
-rw-r--r-- | docs/user_guide/gaze_analysis/scan_path.md | 50 |
4 files changed, 47 insertions, 47 deletions
diff --git a/docs/user_guide/gaze_analysis/gaze_movement.md b/docs/user_guide/gaze_analysis/gaze_movement.md index e022be0..83f67e1 100644 --- a/docs/user_guide/gaze_analysis/gaze_movement.md +++ b/docs/user_guide/gaze_analysis/gaze_movement.md @@ -9,26 +9,26 @@ Gaze movement Citation from ["One algorithm to rule them all? An evaluation and discussion of ten eye movement event-detection algorithms"](https://link.springer.com/article/10.3758/s13428-016-0738-9) article. -[GazeFeatures](../../../argaze/#argaze.GazeFeatures) defines abstract [GazeMovement](../../../argaze/#argaze.GazeFeatures.GazeMovement) class, then abstract [Fixation](../../../argaze/#argaze.GazeFeatures.Fixation) and [Saccade](../../../argaze/#argaze.GazeFeatures.Saccade) classes which inherit from [GazeMovement](../../../argaze/#argaze.GazeFeatures.GazeMovement). +[GazeFeatures](../../argaze.md/#argaze.GazeFeatures) defines abstract [GazeMovement](../../argaze.md/#argaze.GazeFeatures.GazeMovement) class, then abstract [Fixation](../../argaze.md/#argaze.GazeFeatures.Fixation) and [Saccade](../../argaze.md/#argaze.GazeFeatures.Saccade) classes which inherit from [GazeMovement](../../argaze.md/#argaze.GazeFeatures.GazeMovement). -The **positions** [GazeMovement](../../../argaze/#argaze.GazeFeatures.GazeMovement) attribute contain all [GazePositions](../../../argaze/#argaze.GazeFeatures.GazePosition) belonging to itself. +The **positions** [GazeMovement](../../argaze.md/#argaze.GazeFeatures.GazeMovement) attribute contain all [GazePositions](../../argaze.md/#argaze.GazeFeatures.GazePosition) belonging to itself. ![Fixation and Saccade](../../img/fixation_and_saccade.png) ## Identification -[GazeFeatures](../../../argaze/#argaze.GazeFeatures) defines abstract [GazeMovementIdentifier](../../../argaze/#argaze.GazeFeatures.GazeMovementIdentifier) classe to let add various identification algorithms. +[GazeFeatures](../../argaze.md/#argaze.GazeFeatures) defines abstract [GazeMovementIdentifier](../../argaze.md/#argaze.GazeFeatures.GazeMovementIdentifier) classe to let add various identification algorithms. -Some gaze movement identification algorithms are available thanks to [GazeAnalysis](../../../argaze/#argaze.GazeAnalysis) submodule: +Some gaze movement identification algorithms are available thanks to [GazeAnalysis](../../argaze.md/#argaze.GazeAnalysis) submodule: -* [Dispersion threshold identification (I-DT)](../../../argaze/#argaze.GazeAnalysis.DispersionThresholdIdentification) -* [Velocity threshold identification (I-VT)](../../../argaze/#argaze.GazeAnalysis.VelocityThresholdIdentification) +* [Dispersion threshold identification (I-DT)](../../argaze.md/#argaze.GazeAnalysis.DispersionThresholdIdentification) +* [Velocity threshold identification (I-VT)](../../argaze.md/#argaze.GazeAnalysis.VelocityThresholdIdentification) ### Identify method -[GazeMovementIdentifier.identify](../../../argaze/#argaze.GazeFeatures.GazeMovementIdentifier.identify) method allows to fed its identification algorithm with successive gaze positions to output Fixation, Saccade or any kind of GazeMovement instances. +[GazeMovementIdentifier.identify](../../argaze.md/#argaze.GazeFeatures.GazeMovementIdentifier.identify) method allows to fed its identification algorithm with successive gaze positions to output Fixation, Saccade or any kind of GazeMovement instances. -Here is a sample of code based on [I-DT](../../../argaze/#argaze.GazeAnalysis.DispersionThresholdIdentification) algorithm to illustrate how to use it: +Here is a sample of code based on [I-DT](../../argaze.md/#argaze.GazeAnalysis.DispersionThresholdIdentification) algorithm to illustrate how to use it: ``` python from argaze import GazeFeatures @@ -81,13 +81,13 @@ gaze_movement_identifier = DispersionThresholdIdentification.GazeMovementIdentif ### Browse method -[GazeMovementIdentifier.browse](../../../argaze/#argaze.GazeFeatures.GazeMovementIdentifier.browse) method allows to pass a [TimeStampedGazePositions](../../../argaze/#argaze.GazeFeatures.TimeStampedGazePositions) buffer to apply identification algorithm on all gaze positions inside. +[GazeMovementIdentifier.browse](../../argaze.md/#argaze.GazeFeatures.GazeMovementIdentifier.browse) method allows to pass a [TimeStampedGazePositions](../../argaze.md/#argaze.GazeFeatures.TimeStampedGazePositions) buffer to apply identification algorithm on all gaze positions inside. Identified gaze movements are returned through: -* [TimeStampedGazeMovements](../../../argaze/#argaze.GazeFeatures.TimeStampedGazeMovements) instance where all fixations are stored by starting gaze position timestamp. -* [TimeStampedGazeMovements](../../../argaze/#argaze.GazeFeatures.TimeStampedGazeMovements) instance where all saccades are stored by starting gaze position timestamp. -* [TimeStampedGazeStatus](../../../argaze/#argaze.GazeFeatures.TimeStampedGazeStatus) instance where all gaze positions are linked to a fixation or saccade index. +* [TimeStampedGazeMovements](../../argaze.md/#argaze.GazeFeatures.TimeStampedGazeMovements) instance where all fixations are stored by starting gaze position timestamp. +* [TimeStampedGazeMovements](../../argaze.md/#argaze.GazeFeatures.TimeStampedGazeMovements) instance where all saccades are stored by starting gaze position timestamp. +* [TimeStampedGazeStatus](../../argaze.md/#argaze.GazeFeatures.TimeStampedGazeStatus) instance where all gaze positions are linked to a fixation or saccade index. ``` python # Assuming that timestamped gaze positions are provided through data reading @@ -136,13 +136,13 @@ ts_fixations, ts_saccades, ts_status = gaze_movement_identifier.browse(ts_gaze_p !!! note - [TimeStampedGazeMovements](../../../argaze/#argaze.GazeFeatures.TimeStampedGazeMovements), [TimeStampedGazeMovements](../../../argaze/#argaze.GazeFeatures.TimeStampedGazeMovements) and [TimeStampedGazeStatus](../../../argaze/#argaze.GazeFeatures.TimeStampedGazeStatus) classes inherit from [TimeStampedBuffer](../../../argaze/#argaze.DataStructures.TimeStampedBuffer) class. + [TimeStampedGazeMovements](../../argaze.md/#argaze.GazeFeatures.TimeStampedGazeMovements), [TimeStampedGazeMovements](../../argaze.md/#argaze.GazeFeatures.TimeStampedGazeMovements) and [TimeStampedGazeStatus](../../argaze.md/#argaze.GazeFeatures.TimeStampedGazeStatus) classes inherit from [TimeStampedBuffer](../../argaze.md/#argaze.DataStructures.TimeStampedBuffer) class. Read [Timestamped data](../timestamped_data/introduction.md) section to understand all features it provides. ### Generator method -[GazeMovementIdentifier](../../../argaze/#argaze.GazeFeatures.GazeMovementIdentifier) can be called with a [TimeStampedGazePositions](../../../argaze/#argaze.GazeFeatures.TimeStampedGazePositions) buffer in argument to generate gaze movement each time one is identified. +[GazeMovementIdentifier](../../argaze.md/#argaze.GazeFeatures.GazeMovementIdentifier) can be called with a [TimeStampedGazePositions](../../argaze.md/#argaze.GazeFeatures.TimeStampedGazePositions) buffer in argument to generate gaze movement each time one is identified. ``` python # Assuming that timestamped gaze positions are provided through data reading diff --git a/docs/user_guide/gaze_analysis/gaze_position.md b/docs/user_guide/gaze_analysis/gaze_position.md index 8dce2b8..48495b4 100644 --- a/docs/user_guide/gaze_analysis/gaze_position.md +++ b/docs/user_guide/gaze_analysis/gaze_position.md @@ -1,7 +1,7 @@ Gaze position ============= -[GazeFeatures](../../../argaze/#argaze.GazeFeatures) defines a [GazePosition](../../../argaze/#argaze.GazeFeatures.GazePosition) class to handle point coordinates with a precision value. +[GazeFeatures](../../argaze.md/#argaze.GazeFeatures) defines a [GazePosition](../../argaze.md/#argaze.GazeFeatures.GazePosition) class to handle point coordinates with a precision value. ``` python from argaze import GazeFeatures @@ -20,7 +20,7 @@ print(f'precision: {gaze_position.precision}') ## Validity -[GazeFeatures](../../../argaze/#argaze.GazeFeatures) defines also a [UnvalidGazePosition](../../../argaze/#argaze.GazeFeatures.UnvalidGazePosition) class that inherits from [GazePosition](../../../argaze/#argaze.GazeFeatures.GazePosition) to handle case where no gaze position exists because of any specific device reason. +[GazeFeatures](../../argaze.md/#argaze.GazeFeatures) defines also a [UnvalidGazePosition](../../argaze.md/#argaze.GazeFeatures.UnvalidGazePosition) class that inherits from [GazePosition](../../argaze.md/#argaze.GazeFeatures.GazePosition) to handle case where no gaze position exists because of any specific device reason. ``` python from argaze import GazeFeatures @@ -38,7 +38,7 @@ print(f'validity: {gaze_position.valid}') ## Distance -[GazePosition](../../../argaze/#argaze.GazeFeatures.GazePosition) class provides a **distance** method to calculate the distance to another gaze position instance. +[GazePosition](../../argaze.md/#argaze.GazeFeatures.GazePosition) class provides a **distance** method to calculate the distance to another gaze position instance. ![Distance](../../img/distance.png) @@ -49,7 +49,7 @@ d = gaze_position_A.distance(gaze_position_B) ## Overlapping -[GazePosition](../../../argaze/#argaze.GazeFeatures.GazePosition) class provides an **overlap** method to test if a gaze position overlaps another one considering their precisions. +[GazePosition](../../argaze.md/#argaze.GazeFeatures.GazePosition) class provides an **overlap** method to test if a gaze position overlaps another one considering their precisions. ![Gaze overlapping](../../img/overlapping.png) @@ -69,7 +69,7 @@ if gaze_position_A.overlap(gaze_position_B, both=True): ## Timestamped gaze positions -[TimeStampedGazePositions](../../../argaze/#argaze.GazeFeatures.TimeStampedGazePositions) inherits from [TimeStampedBuffer](../../../argaze/#argaze.DataStructures.TimeStampedBuffer) class to handle especially gaze positions. +[TimeStampedGazePositions](../../argaze.md/#argaze.GazeFeatures.TimeStampedGazePositions) inherits from [TimeStampedBuffer](../../argaze.md/#argaze.DataStructures.TimeStampedBuffer) class to handle especially gaze positions. ### Import from dataframe @@ -87,7 +87,7 @@ ts_gaze_positions = GazeFeatures.TimeStampedGazePositions.from_dataframe(datafra ``` ### Iterator -Like [TimeStampedBuffer](../../../argaze/#argaze.DataStructures.TimeStampedBuffer), [TimeStampedGazePositions](../../../argaze/#argaze.GazeFeatures.TimeStampedGazePositions) class provides iterator feature: +Like [TimeStampedBuffer](../../argaze.md/#argaze.DataStructures.TimeStampedBuffer), [TimeStampedGazePositions](../../argaze.md/#argaze.GazeFeatures.TimeStampedGazePositions) class provides iterator feature: ```python for timestamp, gaze_position in ts_gaze_positions.items(): diff --git a/docs/user_guide/gaze_analysis/introduction.md b/docs/user_guide/gaze_analysis/introduction.md index c888181..bf818ba 100644 --- a/docs/user_guide/gaze_analysis/introduction.md +++ b/docs/user_guide/gaze_analysis/introduction.md @@ -3,5 +3,5 @@ Gaze analysis This section refers to: -* [GazeFeatures](../../../argaze/#argaze.GazeFeatures) -* [GazeAnalysis](../../../argaze/#argaze.GazeAnalysis)
\ No newline at end of file +* [GazeFeatures](../../argaze.md/#argaze.GazeFeatures) +* [GazeAnalysis](../../argaze.md/#argaze.GazeAnalysis)
\ No newline at end of file diff --git a/docs/user_guide/gaze_analysis/scan_path.md b/docs/user_guide/gaze_analysis/scan_path.md index fba0524..46af28b 100644 --- a/docs/user_guide/gaze_analysis/scan_path.md +++ b/docs/user_guide/gaze_analysis/scan_path.md @@ -1,27 +1,27 @@ Scan path ========= -[GazeFeatures](../../../argaze/#argaze.GazeFeatures) defines classes to handle successive fixations/saccades and analyse their spatial or temporal properties. +[GazeFeatures](../../argaze.md/#argaze.GazeFeatures) defines classes to handle successive fixations/saccades and analyse their spatial or temporal properties. ## Fixation based scan path ### Definition -The [ScanPath](../../../argaze/#argaze.GazeFeatures.ScanPath) class is defined as a list of [ScanSteps](../../../argaze/#argaze.GazeFeatures.ScanStep) which are defined as a fixation and a consecutive saccade. +The [ScanPath](../../argaze.md/#argaze.GazeFeatures.ScanPath) class is defined as a list of [ScanSteps](../../argaze.md/#argaze.GazeFeatures.ScanStep) which are defined as a fixation and a consecutive saccade. ![Fixation based scan path](../../img/scan_path.png) -As fixations and saccades are identified, the scan path is built by calling respectively [append_fixation](../../../argaze/#argaze.GazeFeatures.ScanPath.append_fixation) and [append_saccade](../../../argaze/#argaze.GazeFeatures.ScanPath.append_saccade) methods. +As fixations and saccades are identified, the scan path is built by calling respectively [append_fixation](../../argaze.md/#argaze.GazeFeatures.ScanPath.append_fixation) and [append_saccade](../../argaze.md/#argaze.GazeFeatures.ScanPath.append_saccade) methods. ### Analysis -[GazeFeatures](../../../argaze/#argaze.GazeFeatures) defines abstract [ScanPathAnalyzer](../../../argaze/#argaze.GazeFeatures.ScanPathAnalyzer) classe to let add various analysis algorithms. +[GazeFeatures](../../argaze.md/#argaze.GazeFeatures) defines abstract [ScanPathAnalyzer](../../argaze.md/#argaze.GazeFeatures.ScanPathAnalyzer) classe to let add various analysis algorithms. -Some scan path analysis are available thanks to [GazeAnalysis](../../../argaze/#argaze.GazeAnalysis) submodule: +Some scan path analysis are available thanks to [GazeAnalysis](../../argaze.md/#argaze.GazeAnalysis) submodule: -* [K-Coefficient](../../../argaze/#argaze.GazeAnalysis.KCoefficient) -* [Nearest Neighbor Index](../../../argaze/#argaze.GazeAnalysis.NearestNeighborIndex) -* [Exploit Explore Ratio](../../../argaze/#argaze.GazeAnalysis.ExploitExploreRatio) +* [K-Coefficient](../../argaze.md/#argaze.GazeAnalysis.KCoefficient) +* [Nearest Neighbor Index](../../argaze.md/#argaze.GazeAnalysis.NearestNeighborIndex) +* [Exploit Explore Ratio](../../argaze.md/#argaze.GazeAnalysis.ExploitExploreRatio) ### Example @@ -65,23 +65,23 @@ kc_analyzer = KCoefficient.ScanPathAnalyzer() ### Definition -The [AOIScanPath](../../../argaze/#argaze.GazeFeatures.AOIScanPath) class is defined as a list of [AOIScanSteps](../../../argaze/#argaze.GazeFeatures.AOIScanStep) which are defined as set of consecutives fixations looking at a same Area Of Interest (AOI) and a consecutive saccade. +The [AOIScanPath](../../argaze.md/#argaze.GazeFeatures.AOIScanPath) class is defined as a list of [AOIScanSteps](../../argaze.md/#argaze.GazeFeatures.AOIScanStep) which are defined as set of consecutives fixations looking at a same Area Of Interest (AOI) and a consecutive saccade. ![AOI based scan path](../../img/aoi_scan_path.png) -As fixations and saccades are identified, the scan path is built by calling respectively [append_fixation](../../../argaze/#argaze.GazeFeatures.AOIScanPath.append_fixation) and [append_saccade](../../../argaze/#argaze.GazeFeatures.AOIScanPath.append_saccade) methods. +As fixations and saccades are identified, the scan path is built by calling respectively [append_fixation](../../argaze.md/#argaze.GazeFeatures.AOIScanPath.append_fixation) and [append_saccade](../../argaze.md/#argaze.GazeFeatures.AOIScanPath.append_saccade) methods. ### Analysis -[GazeFeatures](../../../argaze/#argaze.GazeFeatures) defines abstract [AOIScanPathAnalyzer](../../../argaze/#argaze.GazeFeatures.AOIScanPathAnalyzer) classe to let add various analysis algorithms. +[GazeFeatures](../../argaze.md/#argaze.GazeFeatures) defines abstract [AOIScanPathAnalyzer](../../argaze.md/#argaze.GazeFeatures.AOIScanPathAnalyzer) classe to let add various analysis algorithms. -Some scan path analysis are available thanks to [GazeAnalysis](../../../argaze/#argaze.GazeAnalysis) submodule: +Some scan path analysis are available thanks to [GazeAnalysis](../../argaze.md/#argaze.GazeAnalysis) submodule: -* [Transition matrix](../../../argaze/#argaze.GazeAnalysis.TransitionMatrix) -* [Entropy](../../../argaze/#argaze.GazeAnalysis.Entropy) -* [Lempel-Ziv complexity](../../../argaze/#argaze.GazeAnalysis.LempelZivComplexity) -* [N-Gram](../../../argaze/#argaze.GazeAnalysis.NGram) -* [K-modified coefficient](../../../argaze/#argaze.GazeAnalysis.KCoefficient) +* [Transition matrix](../../argaze.md/#argaze.GazeAnalysis.TransitionMatrix) +* [Entropy](../../argaze.md/#argaze.GazeAnalysis.Entropy) +* [Lempel-Ziv complexity](../../argaze.md/#argaze.GazeAnalysis.LempelZivComplexity) +* [N-Gram](../../argaze.md/#argaze.GazeAnalysis.NGram) +* [K-modified coefficient](../../argaze.md/#argaze.GazeAnalysis.KCoefficient) ### Example @@ -130,13 +130,13 @@ lzc_analyzer = LempelZivComplexity.AOIScanPathAnalyzer() ### Advanced -The [AOIScanPath](../../../argaze/#argaze.GazeFeatures.AOIScanPath) class provides some advanced features to analyse it. +The [AOIScanPath](../../argaze.md/#argaze.GazeFeatures.AOIScanPath) class provides some advanced features to analyse it. #### Letter sequence -When a new [AOIScanStep](../../../argaze/#argaze.GazeFeatures.AOIScanStep) is created, the [AOIScanPath](../../../argaze/#argaze.GazeFeatures.AOIScanPath) internally affects a unique letter index related to its AOI to ease pattern analysis. -Then, the [AOIScanPath letter_sequence](../../../argaze/#argaze.GazeFeatures.AOIScanPath.letter_sequence) property returns the concatenation of each [AOIScanStep](../../../argaze/#argaze.GazeFeatures.AOIScanStep) letter. -The [AOIScanPath get_letter_aoi](../../../argaze/#argaze.GazeFeatures.AOIScanPath.get_letter_aoi) method helps to get back the AOI related to a letter index. +When a new [AOIScanStep](../../argaze.md/#argaze.GazeFeatures.AOIScanStep) is created, the [AOIScanPath](../../argaze.md/#argaze.GazeFeatures.AOIScanPath) internally affects a unique letter index related to its AOI to ease pattern analysis. +Then, the [AOIScanPath letter_sequence](../../argaze.md/#argaze.GazeFeatures.AOIScanPath.letter_sequence) property returns the concatenation of each [AOIScanStep](../../argaze.md/#argaze.GazeFeatures.AOIScanStep) letter. +The [AOIScanPath get_letter_aoi](../../argaze.md/#argaze.GazeFeatures.AOIScanPath.get_letter_aoi) method helps to get back the AOI related to a letter index. ``` python # Assuming the following AOI scan path is built: Foo > Bar > Shu > Foo @@ -152,10 +152,10 @@ print(aoi_scan_path.get_letter_aoi('B')) #### Transition matrix -When a new [AOIScanStep](../../../argaze/#argaze.GazeFeatures.AOIScanStep) is created, the [AOIScanPath](../../../argaze/#argaze.GazeFeatures.AOIScanPath) internally counts the number of transitions from an AOI to another AOI to ease Markov chain analysis. -Then, the [AOIScanPath transition_matrix](../../../argaze/#argaze.GazeFeatures.AOIScanPath.transition_matrix) property returns a [Pandas DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) where indexes are transition departures and columns are transition destinations. +When a new [AOIScanStep](../../argaze.md/#argaze.GazeFeatures.AOIScanStep) is created, the [AOIScanPath](../../argaze.md/#argaze.GazeFeatures.AOIScanPath) internally counts the number of transitions from an AOI to another AOI to ease Markov chain analysis. +Then, the [AOIScanPath transition_matrix](../../argaze.md/#argaze.GazeFeatures.AOIScanPath.transition_matrix) property returns a [Pandas DataFrame](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html) where indexes are transition departures and columns are transition destinations. -Here is an exemple of transition matrix for the following [AOIScanPath](../../../argaze/#argaze.GazeFeatures.AOIScanPath): Foo > Bar > Shu > Foo > Bar +Here is an exemple of transition matrix for the following [AOIScanPath](../../argaze.md/#argaze.GazeFeatures.AOIScanPath): Foo > Bar > Shu > Foo > Bar | |Foo|Bar|Shu| |:--|:--|:--|:--| @@ -166,4 +166,4 @@ Here is an exemple of transition matrix for the following [AOIScanPath](../../.. #### Fixations count -The [AOIScanPath fixations_count](../../../argaze/#argaze.GazeFeatures.AOIScanPath.fixations_count) method returns the total number of fixations in the whole scan path and a dictionary to get the fixations count per AOI. +The [AOIScanPath fixations_count](../../argaze.md/#argaze.GazeFeatures.AOIScanPath.fixations_count) method returns the total number of fixations in the whole scan path and a dictionary to get the fixations count per AOI. |