esdalmaijer / PyGaze

an open-source, cross-platform toolbox for minimal-effort programming of eye tracking experiments
www.pygaze.org
GNU General Public License v3.0
671 stars 211 forks source link

Calibration module does not work using eyetribe #71

Open JanKoopman opened 7 years ago

JanKoopman commented 7 years ago

Dear Edwin,

I'm trying to work with teh eyetribe and pygaze. Mainly it's calibration mode. When running the current code:

from pygaze import libscreen
from pygaze.libscreen import Display
from pygaze import eyetracker
#import pygaze       
import scipy 

display = libscreen.Display()
eyetracker = `eyetracker.EyeTracker(display)
#eyetracker.TRACKERTYPE = "eyetribe"
eyetracker.calibrate()

Once, what appears to be the calibration module, I'm asked to return a space, a q or a s. None of the entries seem to work. I don't get an error, only the warnings. Any idea what I should do differently?

In [1]: runfile('C:/Python27/Lib/site-packages/xy/temp13.py', wdir='C:/Python27/Lib/site-packages/xy') C:\Python27\lib\site-packages\psychopy\visual\helpers.py:176: FutureWarning: comparison to None will result in an elementwise object comparison in the future. if color==None: C:\Python27\lib\site-packages\psychopy\visual\basevisual.py:943: FutureWarning: comparison to None will result in an elementwise object comparison in the future. if value == None:

In [1]: runfile('C:/Python27/Lib/site-packages/xy/temp13.py', wdir='C:/Python27/Lib/site-packages/xy') C:\Python27\lib\site-packages\psychopy\visual\helpers.py:176: FutureWarning: comparison to None will result in an elementwise object comparison in the future. if color==None: C:\Python27\lib\site-packages\psychopy\visual\basevisual.py:943: FutureWarning: comparison to None will result in an elementwise object comparison in the future. if value == None:

Kind regards, Jan Koopman

esdalmaijer commented 7 years ago

Hi Jan,

Thanks for the question. Would you mind trying the following code? (I assume you have the latest version of PyGaze installed, as downloaded from this GitHub page.)

from pygaze.display import Display
from pygaze.eyetracker import EyeTracker

disp = Display()
tracker = EyeTracker(disp, trackertype='eyetribe')

tracker.calibrate()

tracker.close()
disp.close()

Your example contains syntax errors, and I can't see what you set the tracker's type to. So this is just to confirm that you are actually using the EyeTribe.

Cheers, Edwin

JanKoopman commented 7 years ago

Hallo Edwin, Thanks for your response. I'm afraid I don't completely understand your question. I attached the "defaults.py" routine to be sure I coppied your syntax, but there is no difference. When I kill the programm using CTRL-ALT-DELI see it is stuck in the PsychoPy module

Kind regards, Jan

On Tue, Jul 19, 2016 at 3:33 PM, Edwin Dalmaijer notifications@github.com wrote:

Hi Jan,

Thanks for the question. Would you mind trying the following code? (I assume you have the latest version of PyGaze installed, as downloaded from this GitHub page.)

from pygaze.display import Displayfrom pygaze.eyetracker import EyeTracker

disp = Display() tracker = EyeTracker(disp, trackertype='eyetribe')

tracker.calibrate()

tracker.close() disp.close()

Your example contains syntax errors, and I can't see what you set the tracker's type to. So this is just to confirm that you are actually using the EyeTribe.

Cheers, Edwin

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/esdalmaijer/PyGaze/issues/71#issuecomment-233633592, or mute the thread https://github.com/notifications/unsubscribe-auth/ATllsJyizUDj02EgAWfPwRKV9UA6PZ7sks5qXNIXgaJpZM4JPuES .

-- coding: utf-8 --

#

This file is part of PyGaze - the open-source toolbox for eye tracking

#

PyGaze is a Python module for easily creating gaze contingent experiments

or other software (as well as non-gaze contingent experiments/software)

Copyright (C) 2012-2013 Edwin S. Dalmaijer

#

This program is free software: you can redistribute it and/or modify

it under the terms of the GNU General Public License as published by

the Free Software Foundation, either version 3 of the License, or

(at your option) any later version.

#

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.

#

You should have received a copy of the GNU General Public License

along with this program. If not, see http://www.gnu.org/licenses/

MAIN

DUMMYMODE = False # False for gaze contingent display, True for dummy mode (using mouse or joystick) LOGFILENAME = 'default' # logfilename, without path LOGFILE = LOGFILENAME[:] # .txt; adding path before logfilename is optional; logs responses (NOT eye movements, these are stored in a different (EDF/IDF/TXT) file!)

DISPLAY

SCREENNR = 0 # number of the screen used for displaying experiment DISPTYPE = 'psychopy' # either 'psychopy' or 'pygame' DISPSIZE = (1280,1024) # canvas size SCREENSIZE = (33.8,27.1) # physical screen size in centimeters SCREENDIST = 57.0 # centimeters; distance between screen and participant's eyes FULLSCREEN = True # Indicates whether the experiment is executed in fullscreen MOUSEVISIBLE = False # mouse visibility BGC = (125,125,125) # backgroundcolour FGC = (0,0,0) # foregroundcolour

SOUND

SOUNDOSCILLATOR = 'sine' # 'sine', 'saw', 'square' or 'whitenoise' SOUNDFREQUENCY = 440 # Herz SOUNDLENGTH = 100 # milliseconds (duration) SOUNDATTACK = 0 # milliseconds (fade-in) SOUNDDECAY = 5 # milliseconds (fade-out) SOUNDBUFFERSIZE = 1024 # increase if playback is choppy SOUNDSAMPLINGFREQUENCY = 48000 # samples per second SOUNDSAMPLESIZE = -16 # determines bit depth (negative is signed SOUNDCHANNELS = 2 # 1 = mono, 2 = stereo

INPUT

MOUSEBUTTONLIST = None # None for all mouse buttons; list of numbers for buttons of choice (e.g. [1,3] for buttons 1 and 3) MOUSETIMEOUT = None # None for no timeout, or a value in milliseconds KEYLIST = None # None for all keys; list of keynames for keys of choice (e.g. ['space','9',':'] for space, 9 and ; keys) KEYTIMEOUT = 1 # None for no timeout, or a value in milliseconds JOYBUTTONLIST = None # None for all joystick buttons; list of button numbers (start counting at 0) for buttons of choice (e.g. [0,3] for buttons 0 and 3 - may be reffered to as 1 and 4 in other programs) JOYTIMEOUT = None # None for no timeout, or a value in milliseconds

EYETRACKER

general

TRACKERTYPE = 'eyetribe' # either 'smi', 'eyelink' or 'dummy' (NB: if DUMMYMODE is True, trackertype will be set to dummy automatically) SACCVELTHRESH = 35 # degrees per second, saccade velocity threshold SACCACCTHRESH = 9500 # degrees per second, saccade acceleration threshold BLINKTHRESH = 150 # milliseconds, blink detection threshold used in PyGaze method EVENTDETECTION = 'pygaze' # either 'pygaze' for PyGaze detection algorithms, or 'native' for manufacturer's event detection (if available)

EyeLink only

EYELINKCALBEEP = True # Calibration beep with each jump EYELINKPUPILSIZEMODE = 'area'

EyeTribe only

EYETRIBECALIBDUR = 750 EYETRIBEPRECALIBDUR = 500

SMI only

SMIIP = '127.0.0.1' SMISENDPORT = 4444 SMIRECEIVEPORT = 5555