Skip to main content

Algorithmic eye-tracking analysis

Project description

GazeClassify

PiPy package to algorithmically annotate eye-tracking data.

Special thanks to Pixellib for providing algorithms and to PySport for inspiration with the domain model.

Open In Colab Test status Downloads Downloads


What is GazeClassify?

GazeClassify provides automatized and standardized eye-tracking annotation. Anyone can analyze gaze data online with less than 10 lines of code.

Exported csv will contain distance from gaze (red circle) to human joints (left image) and human shapes (right image) for each frame.

frame number classifier name gaze_distance [pixel] person_id joint name
0 Human_Joints 79 0 Neck
... ... ... ... ...
0 Human_Shape 0 None None
... ... ... ... ...

Run on example data

from gazeclassify import Analysis, PupilLoader, SemanticSegmentation, InstanceSegmentation
from gazeclassify import example_trial

analysis = Analysis()

PupilLoader(analysis).from_recordings_folder(example_trial())

SemanticSegmentation(analysis).classify("Human_Shape")
InstanceSegmentation(analysis).classify("Human_Joints")

analysis.save_to_csv()

Run on your own data

Capture eye tracking data from a Pupil eye tracker. Then, export the data using Pupil software. You will get a folder with the exported world video and the gaze timestamps. Finally, let gazeclassify analyze the exported data:

from gazeclassify import Analysis, PupilLoader, SemanticSegmentation, InstanceSegmentation

analysis = Analysis()

PupilLoader(analysis).from_recordings_folder("path/to/your/folder_with_exported_data/")

SemanticSegmentation(analysis).classify("Human_Shape")
InstanceSegmentation(analysis).classify("Human_Joints")

analysis.save_to_csv()

Citation

Please cite this paper in your publications if GazeClassify helps your research.

@inproceedings{10.1145/3450341.3458886,
  author = {M\"{u}ller, Daniel and Mann, David},
  title = {Algorithmic Gaze Classification for Mobile Eye-Tracking},
  year = {2021},
  booktitle = {ACM Symposium on Eye Tracking Research and Applications}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gazeclassify-0.9.tar.gz (260.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gazeclassify-0.9-py3-none-any.whl (271.2 kB view details)

Uploaded Python 3

File details

Details for the file gazeclassify-0.9.tar.gz.

File metadata

  • Download URL: gazeclassify-0.9.tar.gz
  • Upload date:
  • Size: 260.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/57.0.0 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for gazeclassify-0.9.tar.gz
Algorithm Hash digest
SHA256 2f721a2ab20bca18c34156de99f709129d7b98c217770462f320587d4b79c9bd
MD5 e793b6586bec594fe588a0d26f7493ef
BLAKE2b-256 e31bb7d49d1449415e8a60a218779695638671fd4e516ba00874394d43c85cca

See more details on using hashes here.

File details

Details for the file gazeclassify-0.9-py3-none-any.whl.

File metadata

  • Download URL: gazeclassify-0.9-py3-none-any.whl
  • Upload date:
  • Size: 271.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/57.0.0 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5

File hashes

Hashes for gazeclassify-0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 25ded4e104f4a4a90dd0a686da938ccb99823e6d3b1b60fc675f089e975af85d
MD5 c1a4c8fead27dc6de33a78bf6a7cde97
BLAKE2b-256 49b38f51d5dc6d66798fbb41e99a27b9c36f2b9449ddd486cd8c9b39abfeb591

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page