pymovements.gaze.Screen#

class pymovements.gaze.Screen(width_px: int, height_px: int, width_cm: float, height_cm: float, distance_cm: float | None = None, origin: str = 'upper left')#

Screen class for holding screen properties.

Also transforms pixel coordinates to degrees of visual angle.

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

  • height_px (int) – Screen height in pixels

  • width_cm (float) – Screen width in centimeters

  • 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’)

width_px#

Screen width in pixels

Type:

int

height_px#

Screen height in pixels

Type:

int

width_cm#

Screen width in centimeters

Type:

float

height_cm#

Screen height in centimeters

Type:

float

distance_cm#

Eye-to-screen distance in centimeters

Type:

float

origin#

Specifies the screen location of the origin of the pixel coordinate system.

Type:

str

x_max_dva#

Maximum screen x-coordinate in degrees of visual angle

Type:

float

y_max_dva#

Minimum screen y-coordinate in degrees of visual angle

Type:

float

x_min_dva#

Maximum screen x-coordinate in degrees of visual angle

Type:

float

y_min_dva#

Minimum screen y-coordinate in degrees of visual angle

Type:

float

Examples

>>> screen = Screen(
...     width_px=1280,
...     height_px=1024,
...     width_cm=38.0,
...     height_cm=30.0,
...     distance_cm=68.0,
...     origin='upper left',
... )
>>> print(screen)
Screen(width_px=1280, height_px=1024, width_cm=38.00,
height_cm=30.00, distance_cm=68.00, origin=upper left)

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

>>> screen.x_min_dva
-15.59...
>>> screen.x_max_dva
15.59...
>>> screen.y_min_dva
-12.42...
>>> screen.y_max_dva
12.42...
__init__(width_px: int, height_px: int, width_cm: float, height_cm: float, distance_cm: float | None = None, origin: str = 'upper left')

Methods

__init__(width_px, height_px, width_cm, ...)

pix2deg(arr)

Convert pixel screen coordinates to degrees of visual angle.

Attributes

x_max_dva

Maximum screen x-coordinate in degrees of visual angle.

x_min_dva

Minimum screen x-coordinate in degrees of visual angle.

y_max_dva

Maximum screen y-coordinate in degrees of visual angle.

y_min_dva

Minimum screen y-coordinate in degrees of visual angle.