From 78419533cbeb31d5d7f5418b72f0caf31f40a159 Mon Sep 17 00:00:00 2001 From: Théo de la Hogue Date: Sat, 10 Dec 2022 18:31:04 +0100 Subject: Adding Saccade distance attribute. --- src/argaze/GazeFeatures.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src') diff --git a/src/argaze/GazeFeatures.py b/src/argaze/GazeFeatures.py index e5dfdf0..d829e92 100644 --- a/src/argaze/GazeFeatures.py +++ b/src/argaze/GazeFeatures.py @@ -146,10 +146,21 @@ class Fixation(GazeMovement): class Saccade(GazeMovement): """Define abstract saccade as gaze movement.""" + distance: float = field(init=False) + """Inferred distance from first and last positions.""" + def __post_init__(self): super().__post_init__() + _, start_position = self.positions.first + _, end_position = self.positions.last + + distance = numpy.linalg.norm( numpy.array(start_position.value) - numpy.array(end_position.value)) + + # Update frozen distance attribute + object.__setattr__(self, 'distance', distance) + class UnknownGazeMovement(GazeMovement): """Define abstract unknown gaze movement.""" -- cgit v1.1