pymovements.Gaze.save#
- Gaze.save(dirpath: str | Path, *, save_events: bool | None = None, save_samples: bool | None = None, save_experiment: bool | None = None, save_metadata: bool | None = None, save_messages: bool | None = None, save_calibrations: bool | None = None, save_validations: bool | None = None, verbose: int = 1, extension: str = 'feather') Gaze[source]#
Save data from the Gaze object in the provided directory.
Depending on parameters, it may save multiple files: * preprocessed gaze in samples (samples) * calculated gaze events (events) * metadata experiment in YAML file (experiment) * additional metadata in YAML file (metadata) * messages from experiment session (messages) * calibrations data (calibrations) * validations data (validations)
Data will be saved as feather or csv files.
- Returns:
Returns self, useful for method cascading.
- Return type:
- Parameters:
dirpath (str | Path) – Absolute directory name to save data. This argument is used only for this single call and does not alter
pymovements.Dataset.events_rootpath().save_events (bool | None) – Save events in events.{extension} file
save_samples (bool | None) – Save samples in sample.{extension} file
save_experiment (bool | None) – Save experiment metadata in experiment.yaml file
save_metadata (bool | None) – Save metadata dictionary in metadata.yaml file
save_messages (bool | None) – Save messages in messages.{extension} file
save_calibrations (bool | None) – Save calibrations in calibrations.{extension} file
save_validations (bool | None) – Save validations in validations.{extension} file
verbose (int) – Verbosity level (0: no print output, 1: show progress bar, 2: print saved filepaths) (default: 1)
extension (str) – Extension specifies the fileformat to store the data. (default: ‘feather’)
Examples
Save all available data fields to a directory:
>>> import polars as pl >>> from pymovements import Gaze >>> gaze = Gaze( ... samples=pl.DataFrame({'x': [1, 2], 'y': [3, 4]}), ... pixel_columns=['x', 'y'], ... metadata={'subject_id': 42}, ... messages=pl.DataFrame({'time': [0], 'content': ['start']}), ... calibrations=pl.DataFrame({'timestamp': [0], 'num_points': [9]}), ... validations=pl.DataFrame({'timestamp': [0], 'accuracy_avg': [0.5]}), ... ) >>> _ = gaze.save('./output', save_metadata=True, save_messages=True, ... save_calibrations=True, save_validations=True, verbose=0) >>> # Creates: samples.feather, events.feather, metadata.yaml, >>> # messages.feather, calibrations.feather, validations.feather
- Raises:
ValueError – If save_events is True and self.events is None or empty
ValueError – If save_experiment is True and self.experiment is None