pymovements.datasets.HBN#

class pymovements.datasets.HBN(name: str = 'HBN', mirrors: tuple[str, ...] = ('https://files.osf.io/v1/resources/qknuv/providers/osfstorage/',), resources: tuple[dict[str, str], ...] = ({'filename': 'data.zip', 'md5': '2c523e911022ffc0eab700e34e9f7f30', 'resource': '651190031e76a453918a9971'},), experiment: Experiment = <pymovements.gaze.experiment.Experiment object>, filename_format: str = '{subject_id:12}_{video_id}.csv', filename_format_dtypes: dict[str, type] = <factory>, custom_read_kwargs: dict[str, Any] = <factory>, column_map: dict[str, str] = <factory>, trial_columns: list[str] = <factory>, time_column: str = 'time', time_unit: str = 'step', pixel_columns: list[str] = <factory>, position_columns: list[str] | None = None, velocity_columns: list[str] | None = None, acceleration_columns: list[str] | None = None, distance_column: str | None = None)#

HBN dataset [Alexander et al., 2017].

This dataset consists of recordings from children watching four different age-appropriate videos: (1) an educational video clip (Fun with Fractals), (2) a short animated film (The Present), (3) a short clip of an animated film (Despicable Me), and (4) a trailer for a feature-length movie (Diary of a Wimpy Kid). The eye gaze was recorded at a sampling rate of 120 Hz.

Check the respective paper for details [Alexander et al., 2017].

name#

The name of the dataset.

Type:

str

mirrors#

A tuple of mirrors of the dataset. Each entry must be of type str and end with a ‘/’.

Type:

tuple[str, …]

resources#

A tuple of dataset resources. Each list entry must be a dictionary with the following keys: - resource: The url suffix of the resource. This will be concatenated with the mirror. - filename: The filename under which the file is saved as. - md5: The MD5 checksum of the respective file.

Type:

tuple[dict[str, str], …]

experiment#

The experiment definition.

Type:

Experiment

filename_format#

Regular expression which will be matched before trying to load the file. Namedgroups will appear in the fileinfo dataframe.

Type:

str

filename_format_dtypes#

If named groups are present in the filename_format, this makes it possible to cast specific named groups to a particular datatype.

Type:

dict[str, type], optional

column_map#

The keys are the columns to read, the values are the names to which they should be renamed.

Type:

dict[str, str]

custom_read_kwargs#

If specified, these keyword arguments will be passed to the file reading function.

Type:

dict[str, Any], optional

Examples

Initialize your PublicDataset object with the HBN definition:

>>> import pymovements as pm
>>>
>>> dataset = pm.Dataset("HBN", path='data/HBN')

Download the dataset resources:

>>> dataset.download()

Load the data into memory:

>>> dataset.load()
__init__(name: str = 'HBN', mirrors: tuple[str, ...] = ('https://files.osf.io/v1/resources/qknuv/providers/osfstorage/',), resources: tuple[dict[str, str], ...] = ({'filename': 'data.zip', 'md5': '2c523e911022ffc0eab700e34e9f7f30', 'resource': '651190031e76a453918a9971'},), experiment: Experiment = <pymovements.gaze.experiment.Experiment object>, filename_format: str = '{subject_id:12}_{video_id}.csv', filename_format_dtypes: dict[str, type] = <factory>, custom_read_kwargs: dict[str, Any] = <factory>, column_map: dict[str, str] = <factory>, trial_columns: list[str] = <factory>, time_column: str = 'time', time_unit: str = 'step', pixel_columns: list[str] = <factory>, position_columns: list[str] | None = None, velocity_columns: list[str] | None = None, acceleration_columns: list[str] | None = None, distance_column: str | None = None) None

Methods

__init__([name, mirrors, resources, ...])

Attributes

acceleration_columns

distance_column

experiment

filename_format

mirrors

name

pixel_columns

position_columns

resources

time_column

time_unit

trial_columns

velocity_columns

filename_format_dtypes

column_map

custom_read_kwargs