Browse Source

Fixes for file length and controller-only instruction control.

master
Michael Tan 6 years ago
parent
commit
670bdce63c
  1. 1
      .gitignore
  2. 0
      EyeLinkCoreGraphicsPsychoPy.py
  3. 0
      Images/face2nS_11-160.tif
  4. 0
      Images/house4n_11-160.tif
  5. 0
      SaccadePursuit.py
  6. 13
      SaccadePursuitEyeTracking.py
  7. BIN
      __pycache__/SaccadePursuit.cpython-36.pyc
  8. BIN
      __pycache__/SaccadePursuitEyeTracking.cpython-36.pyc
  9. 6
      eyelinker.py
  10. 10
      template.py

1
.gitignore vendored

@ -0,0 +1 @@
__pycache__

0
EyeLinkCoreGraphicsPsychoPy.py

0
Images/face2nS_11-160.tif

0
Images/house4n_11-160.tif

0
SaccadePursuit.py

13
SaccadePursuitEyeTracking.py

@ -31,7 +31,7 @@ distance_to_monitor = 74
monitor_px = [1440,900] monitor_px = [1440,900]
window_screen = 1 window_screen = 1
disableTracker = False # For Debugging disableTracker = True # For Debugging
isi_time = 2 # Interstimulus Interval isi_time = 2 # Interstimulus Interval
data_directory = os.path.join( data_directory = os.path.join(
os.path.expanduser('~'), 'Desktop', 'ExperimentalData', 'SaccadePursuitEyeTracking') os.path.expanduser('~'), 'Desktop', 'ExperimentalData', 'SaccadePursuitEyeTracking')
@ -59,7 +59,7 @@ pursuit_time = [40,20,15]
# Necker Cube Parameters # Necker Cube Parameters
number_of_necker_trials = 1 number_of_necker_trials = 1
number_of_necker_blocks = 4 number_of_necker_blocks = 3
necker_time = 60 necker_time = 60
necker_color = [190,190,190] necker_color = [190,190,190]
necker_bg_color = [30,30,30] necker_bg_color = [30,30,30]
@ -302,9 +302,11 @@ class EyeTrackingSaccadePursuit(SaccadePursuit.SPtask):
) )
self.tracker.initialize_graphics() self.tracker.initialize_graphics()
self.tracker.open_edf() self.tracker.open_edf()
self.tracker.send_command("add_file_preamble_text 'Saccade Pursuit Experiment Plus Fixation and Necker Cube'") #self.tracker.send_command("add_file_preamble_text 'Saccade Pursuit Experiment Plus Fixation and Necker Cube'")
self.tracker.initialize_tracker() self.tracker.initialize_tracker()
self.tracker.send_calibration_settings() self.tracker.send_calibration_settings(
settings={'preamble_text':'Saccade Pursuit Experiment Plus Fixation and Necker Cube',}
)
for instruction in self.instruct_text: for instruction in self.instruct_text:
self.display_text_screen(text=instruction) self.display_text_screen(text=instruction)
@ -312,6 +314,7 @@ class EyeTrackingSaccadePursuit(SaccadePursuit.SPtask):
if not self.disableTracker: if not self.disableTracker:
self.tracker.display_eyetracking_instructions() self.tracker.display_eyetracking_instructions()
self.tracker.setup_tracker() self.tracker.setup_tracker()
self.tracker.send_command("track_search_limits=NO")
#random.shuffle(conditions) #random.shuffle(conditions)
@ -355,8 +358,6 @@ class EyeTrackingSaccadePursuit(SaccadePursuit.SPtask):
for block_num in range(numBlocks): for block_num in range(numBlocks):
block = self.make_block(condition, numTrials) block = self.make_block(condition, numTrials)
if not self.disableTracker:
self.tracker.drift_correct()
self.display_text_screen(text='Get ready...', wait_for_input=False) self.display_text_screen(text='Get ready...', wait_for_input=False)
psychopy.core.wait(2) psychopy.core.wait(2)
if condition == 'Saccade' or condition == 'AntiSaccade': if condition == 'Saccade' or condition == 'AntiSaccade':

BIN
__pycache__/SaccadePursuit.cpython-36.pyc

Binary file not shown.

BIN
__pycache__/SaccadePursuitEyeTracking.cpython-36.pyc

Binary file not shown.

6
eyelinker.py

@ -212,9 +212,9 @@ class EyeLinker(object):
try: try:
self.tracker.doDriftCorrect(position[0], position[1], 1, setup) self.tracker.doDriftCorrect(position[0], position[1], 1, setup)
self.tracker.applyDriftCorrect() self.tracker.applyDriftCorrect()
except:# RuntimeError as e: except RuntimeError as e:
#print(e.message) print(e.message)
self.tracker.doTrackerSetup() #self.tracker.doTrackerSetup()
def record(self, trial_func): def record(self, trial_func):
def wrapped_func(): def wrapped_func():

10
template.py

@ -167,8 +167,8 @@ class BaseExperiment(object):
""" """
if filename is None: if filename is None:
filename = (self.experiment_name + filename = (self.experiment_name + '_' +
self.experiment_info['Subject Identifier'].zfill(3) + self.experiment_info['Subject Identifier'] +
'_info') '_info')
elif filename[-4:] == '.txt': elif filename[-4:] == '.txt':
filename = filename[:-4] filename = filename[:-4]
@ -201,8 +201,8 @@ class BaseExperiment(object):
""" """
if data_filename is None: if data_filename is None:
data_filename = (self.experiment_name + data_filename = (self.experiment_name + '_' +
self.experiment_info['Subject Identifier'].zfill(3)) self.experiment_info['Subject Identifier'])
elif data_filename[-4:] == '.csv': elif data_filename[-4:] == '.csv':
data_filename = data_filename[:-4] data_filename = data_filename[:-4]
@ -379,6 +379,8 @@ class BaseExperiment(object):
if wait_for_input: if wait_for_input:
psychopy.core.wait(.2) # Prevents accidental key presses psychopy.core.wait(.2) # Prevents accidental key presses
keys = psychopy.event.waitKeys() keys = psychopy.event.waitKeys()
while keys != ['space']:
keys = psychopy.event.waitKeys()
self.experiment_window.flip() self.experiment_window.flip()
return keys return keys

Loading…
Cancel
Save