pymovements.gaze.Experiment#

class pymovements.gaze.Experiment(screen_width_px: int, screen_height_px: int, screen_width_cm: float, screen_height_cm: float, distance_cm: float | None = None, origin: str = 'upper left', sampling_rate: float | None = None, eyetracker: EyeTracker | None = None)#

Experiment class for holding experiment properties.

Parameters:
  • screen_width_px (int) – Screen width in pixels

  • screen_height_px (int) – Screen height in pixels

  • screen_width_cm (float) – Screen width in centimeters

  • screen_height_cm (float) – Screen height in centimeters

  • distance_cm (float | None) – Eye-to-screen distance in centimeters. If None, a distance_column must be provided in the DatasetDefinition or GazeDataFrame, which contains the eye-to-screen distance for each sample in millimeters. (default: None)

  • origin (str) – Specifies the screen location of the origin of the pixel coordinate system. (default: ‘upper left’)

  • sampling_rate (float | None) – Sampling rate in Hz. (default: None)

  • eyetracker (EyeTracker | None) – EyeTracker object for experiment. (default: None)

Examples

>>> experiment = Experiment(
...     screen_width_px=1280,
...     screen_height_px=1024,
...     screen_width_cm=38,
...     screen_height_cm=30,
...     distance_cm=68,
...     origin='upper left',
...     sampling_rate=1000.0,
... )
>>> print(experiment)
Experiment(sampling_rate=1000.00, screen=Screen(width_px=1280, height_px=1024, width_cm=38,
height_cm=30, distance_cm=68, origin=upper left), eyetracker=None)

We can also access the screen boundaries in degrees of visual angle via the Screen object. This only works if the distance_cm attribute is specified.

>>> experiment.screen.x_min_dva
-15.59...
>>> experiment.screen.x_max_dva
15.59...
>>> experiment.screen.y_min_dva
-12.42...
>>> experiment.screen.y_max_dva
12.42...
screen#

Screen object for experiment

Type:

Screen

eyetracker#

Eye tracker for experiment

Type:

EyeTracker | None

__init__(screen_width_px: int, screen_height_px: int, screen_width_cm: float, screen_height_cm: float, distance_cm: float | None = None, origin: str = 'upper left', sampling_rate: float | None = None, eyetracker: EyeTracker | None = None)

Methods

__init__(screen_width_px, screen_height_px, ...)

pos2vel(arr[, method])

Compute velocity time series from 2-dimensional position time series.

Attributes

sampling_rate

Get sampling rate of experiment.