Gazepoint and PsychoPy 2024.1.5

Dear all,

This also applies to builder. I tried to get one of our Gazepoint HD eye trackers to work in Psychopy, and created a minimal builder example, with only the calibration, and also tested the coder example (without modifications) at Gazepoint — PsychoPy v2024.1.5 . The error messages are similar (see below).
I have found references to problems with the gazepoint eye tracker in earlier recent versions of PsychoPy, but this is mentioned in the bug fixes for 2024.1.5 " * Failing to find Eyetracker Components […] and Gazepoint by @mdcutone in #6424 )" - so I hoped it was fixed.

The traceback is as follows:

Traceback (most recent call last):
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\iohub\client_init_.py”, line 1089, in addDeviceView
dev_import_result = import_device(dev_mod_pth, dev_cls_name)
File "C:\Program Files\PsychoPy\lib\site-packages\psychopy\iohub\devices_init
.py", line 944, in import_device
event_class = getattr(event_module, event_class_name)
AttributeError: module ‘psychopy.iohub.devices.eyetracker.hw.gazepoint.gp3’ has no attribute ‘GazepointSampleEvent’
Traceback (most recent call last):
File “[…]ento_2_coder.py”, line 10, in
tracker = io.devices.tracker
AttributeError: ‘ioHubDevices’ object has no attribute ‘tracker’

In case it matters, I am running on Windows 11 - always with the Gazepoint control software running.

There is one detail - I had earlier versions of PsychoPy, which I deleted (through the installer) to install 2024.1.5 without conflicts. The Gazepoint Eyetracker Support plugin was installed without any intervention - the uninstall apparently did not affect that. I wonder if it needs updating, but there is no option to do so, apparently. I can find the ‘missing event’ in the supported_config_settings.yaml file on the gazepoint module github page (psychopy-eyetracker-gazepoint/psychopy_eyetracker_gazepoint/gazepoint/gp3/supported_config_settings.yaml at main · psychopy/psychopy-eyetracker-gazepoint · GitHub) but I cannot find this yaml file in my own local installation.

It looks like a configuration problem but how do I fix it?

I appreciate any help.

1 Like

Just want to add that we have the same error, with the same Psychopy version, a GazePoint-3 eyetracker, also on Windows 11.

Hi,
Is your psychopy able to connect with internet for updates?

We’ve made a bunch of fixes to plugin loading in general in the latest release here on GitHub (it’ll be hitting psychopy.org soon too, we just tend to give a bit of time inbetween to give us time to catch any bugs that the keen beans who use GitHub notice), try updating your version and reinstalling the plugin and let me know if you’re still getting errors.

1 Like

I tried the latest windows installation StandalonePsychoPy-2024.2.1post4-win64-py310.exe, and installed the GazePoint module. The Gazepoint control software is running.

In this last version of PsychoPy, I am still getting device creation errors, however. I copied the error message below.

Apparently the first 2023 version of PsychoPy broke Gazepoint functionality. The most recent working version for Gazepoint is still 2022.2.5. But one needs to dig into the hdf5 file - the ROI functionality in that version (in builder) is experimental and doesn’t work for our eye tracker at least (maybe with some code it is possible). In case it is of interest to anyone, this is how I read the Gazepoint data from the hdf file into pandas:

import pandas as pd
hdf_df = pd.read_hdf(filename_with_path, “data_collection/events/eyetracker/GazepointSampleEvent”)

I’d be interested in any hearing from someone who managed to get Gazepoint working in a more recent version of PsychoPy.

2.8962 ERROR Support for the sounddevice audio backend is not available this session. Please install psychopy-sounddevice and restart the session to enable support.
1.8911 WARNING Monitor specification not found. Creating a temporary one…
Traceback (most recent call last):
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\iohub\client_init_.py”, line 1096, in addDeviceView
dev_import_result = import_device(dev_mod_pth, dev_cls_name)
File "C:\Program Files\PsychoPy\lib\site-packages\psychopy\iohub\devices_init
.py", line 1017, in import_device
module = importDeviceModule(module_path)
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\iohub\devices_init_.py”, line 1007, in importDeviceModule
raise ModuleNotFoundError(
ModuleNotFoundError: Could not find module psychopy.iohub.devices.eyetracker.gazepoint.gp3. Tried importing directly and iteratively using entry points.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\iohub\client_init_.py”, line 1099, in addDeviceView
dev_import_result = import_device(“psychopy.iohub.devices”, dev_cls_name)
File "C:\Program Files\PsychoPy\lib\site-packages\psychopy\iohub\devices_init
.py", line 1020, in import_device
device_class = getattr(module, device_class_name)
AttributeError: module ‘psychopy.iohub.devices’ has no attribute ‘EyeTracker’
Traceback (most recent call last):
File “…_lastrun.py”, line 924, in
run(
File “…_lastrun.py”, line 602, in run
calibration.run()
File “C:\Program Files\PsychoPy\lib\site-packages\psychopy\hardware\eyetracker.py”, line 103, in run
tracker = self.eyetracker.getIOHubDeviceClass(full=True)
AttributeError: ‘NoneType’ object has no attribute ‘getIOHubDeviceClass’
ioHub Server Process Completed With Code: 0
################# Experiment ended with exit code 1 [pid:8712] #################

Hi,

I’ve had the same error while trying to integrate my gazepoint eyetracker with psychopy 2024.2.2. Have you had any luck with fixing this error?

Dear Will,

No luck yet. We ended up rolling back to PsychoPy 2022.2.5, which, according to our experience, is still the latest version that works. I do not think it supports things like AOI out of the box - we access the hdf5 file to recover gaze parameters (data_collection → events → eyetracker → GazepointSampleEvent). I also hope it gets fixed some time, because 2022.2.5, aside from not having some newer features, has some bugs.

Hi Peter,

Thank you for the feedback. I will try using 2022.2.5 instead of the latest version and get back to you if it is able to work. As far as integrating with 2024.2.2, if I have any breakthroughs I will let you know. Thanks.