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_trial_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_trial_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.8.tar.gz (259.5 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.8-py3-none-any.whl (269.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gazeclassify-0.8.tar.gz
  • Upload date:
  • Size: 259.5 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.8.tar.gz
Algorithm Hash digest
SHA256 1133df2aab76c2c9467bc30e55ef186711c7571c6c66a0a77da93930c0c87438
MD5 741eae56f867c605a219509a58d107a5
BLAKE2b-256 c98aa626707b747219046501d3ae19fb838798121a92c04638b8c1abc03b2df1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gazeclassify-0.8-py3-none-any.whl
  • Upload date:
  • Size: 269.6 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 3e65e10c2ced609f90728dea3edf416d30d776a4255174f0f178681261838dbd
MD5 5dacfec3369a76e5845565e920c9b935
BLAKE2b-256 94f817904d52d7279d5c1374ffc8019cbe613e606a18574f8b862eb822f7f3f9

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