aboutsummaryrefslogtreecommitdiff
path: root/src/argaze/utils/tobii_segment_gaze_metrics_export.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/argaze/utils/tobii_segment_gaze_metrics_export.py')
-rw-r--r--src/argaze/utils/tobii_segment_gaze_metrics_export.py44
1 files changed, 2 insertions, 42 deletions
diff --git a/src/argaze/utils/tobii_segment_gaze_metrics_export.py b/src/argaze/utils/tobii_segment_gaze_metrics_export.py
index a138087..1e530e0 100644
--- a/src/argaze/utils/tobii_segment_gaze_metrics_export.py
+++ b/src/argaze/utils/tobii_segment_gaze_metrics_export.py
@@ -60,7 +60,6 @@ def main():
fixations_json_filepath = f'{destination_path}/gaze_fixations.json'
saccades_json_filepath = f'{destination_path}/gaze_saccades.json'
- movements_json_filepath = f'{destination_path}/gaze_movements.json'
gaze_status_json_filepath = f'{destination_path}/gaze_status.json'
gaze_metrics_period_filepath = f'{destination_path}/gaze_metrics_{int(args.period)}s.csv'
@@ -72,13 +71,11 @@ def main():
# Load gaze movements
ts_fixations = GazeFeatures.TimeStampedGazeMovements.from_json(fixations_json_filepath)
ts_saccades = GazeFeatures.TimeStampedGazeMovements.from_json(saccades_json_filepath)
- ts_movements = GazeFeatures.TimeStampedGazeMovements.from_json(movements_json_filepath)
ts_status = GazeFeatures.TimeStampedGazeStatus.from_json(gaze_status_json_filepath)
print(f'\nLoaded gaze movements count:')
print(f'\tFixations: {len(ts_fixations)}')
print(f'\tSaccades: {len(ts_saccades)}')
- print(f'\tMovements: {len(ts_movements)}')
# Load tobii segment
tobii_segment = TobiiEntities.TobiiSegment(args.segment_path, int(args.time_range[0] * 1e6), int(args.time_range[1] * 1e6) if args.time_range[1] != None else None)
@@ -98,7 +95,6 @@ def main():
positions_exist = len(ts_gaze_positions) > 0
fixations_exist = len(ts_fixations) > 0
saccades_exist = len(ts_saccades) > 0
- movements_exist = len(ts_movements) > 0
status_exist = len(ts_status) > 0
if positions_exist:
@@ -131,17 +127,6 @@ def main():
# Add 'end' column
saccades_dataframe['end'] = saccades_dataframe.index + saccades_dataframe.duration
- if movements_exist:
-
- # Create pandas dataframe
- movements_dataframe = ts_movements.as_dataframe()
-
- # Reset time range offset
- movements_dataframe.index = movements_dataframe.index - movements_dataframe.index[0]
-
- # Add 'end' column
- movements_dataframe['end'] = movements_dataframe.index + movements_dataframe.duration
-
# Define a function to export metrics for a period of time
def metrics_for_period(period_start_ts, period_end_ts):
@@ -220,35 +205,10 @@ def main():
period_metrics['saccades_duration_ratio (%)'] = saccades_duration_sum / period_duration * 100
period_metrics['saccades_distance_mean (px)'] = saccades_period_dataframe.distance.mean()
- # Default movements movement analysis
- movements_duration_sum = 0.0
- period_metrics['movements_number'] = 0
- period_metrics['movements_duration_mean (ms)'] = None
- period_metrics['movements_duration_sum (ms)'] = None
- period_metrics['movements_duration_ratio (%)'] = None
- period_metrics['movements_distance_mean (px)'] = None
-
- # Analyse movements movements
- if movements_exist:
-
- # Select period
- movements_period_dataframe = movements_dataframe[(movements_dataframe.index >= period_start_ts) & (movements_dataframe.end < period_end_ts)]
-
- if not movements_period_dataframe.empty:
-
- #print('\n* Unknown movements:\n', movements_period_dataframe)
-
- movements_duration_sum = movements_period_dataframe.duration.sum()
- period_metrics['movements_number'] = movements_period_dataframe.shape[0]
- period_metrics['movements_duration_mean (ms)'] = movements_period_dataframe.duration.mean() * 1e-3
- period_metrics['movements_duration_sum (ms)'] = movements_duration_sum * 1e-3
- period_metrics['movements_duration_ratio (%)'] = movements_duration_sum / period_duration * 100
- period_metrics['movements_distance_mean (px)'] = movements_period_dataframe.distance.mean()
-
# Analyse exploit/explore
- if saccades_duration_sum != 0.0 or movements_duration_sum != 0.0:
+ if saccades_duration_sum != 0.0:
- period_metrics['exploit_explore_ratio'] = fixations_duration_sum / (saccades_duration_sum + movements_duration_sum)
+ period_metrics['exploit_explore_ratio'] = fixations_duration_sum / saccades_duration_sum
else: