From 9cbdb950a4977cb4fa1509a3f8fbe963461fe25e Mon Sep 17 00:00:00 2001 From: Michael Tan Date: Fri, 18 Oct 2019 12:56:33 -0500 Subject: [PATCH] Changing Saccade and Pursuit protocols to have a break between each stimulus or frequency. -MT --- SaccadePursuit.py | 7 +++-- SaccadePursuitEyeTracking.py | 28 ++++++++++-------- .../SaccadePursuitEyeTracking.cpython-36.pyc | Bin 0 -> 9148 bytes 3 files changed, 20 insertions(+), 15 deletions(-) create mode 100644 __pycache__/SaccadePursuitEyeTracking.cpython-36.pyc diff --git a/SaccadePursuit.py b/SaccadePursuit.py index 8e66c13..bbfbe9d 100755 --- a/SaccadePursuit.py +++ b/SaccadePursuit.py @@ -154,8 +154,9 @@ class SPtask(template.BaseExperiment): counter = 0 for num_trials in range(numTrials): if condition == 'Pursuit': - trial = self.make_trial(self.pursuit_time, self.pursuit_frequencies, condition) - trial_list.append(trial) + for freq in self.pursuit_frequencies: + trial = self.make_trial(self.pursuit_time, freq, condition) + trial_list.append(trial) elif condition == 'Necker': trial = self.make_trial(self.necker_time, 1, condition) trial_list.append(trial) @@ -303,6 +304,8 @@ class SPtask(template.BaseExperiment): Xposition = [0] num_frames_per_second = 60 counter = 0 + if not isinstance(stim_frequency, list): + stim_frequency = [stim_frequency] for freq in stim_frequency: stim_frames = int(round(stim_time[counter]*num_frames_per_second)) for time in range(stim_frames): diff --git a/SaccadePursuitEyeTracking.py b/SaccadePursuitEyeTracking.py index 26dcfa1..df9d73f 100755 --- a/SaccadePursuitEyeTracking.py +++ b/SaccadePursuitEyeTracking.py @@ -26,15 +26,15 @@ import SaccadePursuit # Experimental Parameters monitor_name = 'testMonitor' -monitor_width = 41 +monitor_width = 59.5 #41 distance_to_monitor = 70 -monitor_px = [1440,900] -window_screen = 1 +monitor_px = [2560,1440] #[1440,900] +window_screen = 0 #1 -disableTracker = False # For Debugging -conditions = ['Fixation', 'Pursuit', 'Saccade', 'AntiSaccade', 'Necker', 'Rivalry'] -#conditions = ['Saccade'] +disableTracker = True # For Debugging +#conditions = ['Fixation', 'Pursuit', 'Saccade', 'AntiSaccade', 'Necker'] #, 'Rivalry'] +conditions = ['Pursuit'] isi_time = 1 # Interstimulus Interval data_directory = os.path.join( os.path.expanduser('~'), 'Desktop', 'ExperimentalData', 'SaccadePursuitEyeTracking') @@ -47,20 +47,20 @@ saccade_distance = 15 #15 saccade_time = 3 #3 stimulus_size = 0.3 stim_color = [1,-1,-1] -saccade_fixation_color = [1,1,1] +saccade_fixation_color = [.5,.5,.5] # Pursuit Parameters number_of_pursuit_trials = 1 number_of_pursuit_blocks = 1 pursuit_distance = 15 pursuit_frequencies = [0.1,0.2,0.4] -pursuit_time = [40,20,15] +pursuit_time = [5,5,5] #[40,20,15] # Necker Cube Parameters number_of_necker_trials = 1 -number_of_necker_blocks = 1 -necker_time = 90 -necker_color = [255,255,255] +number_of_necker_blocks = 4 +necker_time = 60 +necker_color = [191,191,191] necker_bg_color = [-0.5,-0.5,-0.5] necker_scale = 0.5 necker_file = os.path.join(image_directory,'Necker1.tif') @@ -78,7 +78,7 @@ rivalry_time = 90 rivalry_scale = 2.5 rivalry_file1 = os.path.join(image_directory,'house4n_11-160.tif') rivalry_file2 = os.path.join(image_directory,'face2nS_11-160.tif') -rivalry_border_color = [1,1,1] +rivalry_border_color = [0.5,0.5,0.5] rivalry_border_width = 5 rivalry_distance = 4 @@ -296,7 +296,9 @@ class EyeTrackingSaccadePursuit(SaccadePursuit.SPtask): data = self.run_trial(trial, block_num, trial_num) data.update({'Condition': condition}) self.send_data(data) - if not condition == 'Saccade' and not condition=='AntiSaccade': + if condition == 'Saccade' or condition=='AntiSaccade': + self.display_saccade_fixation(self.isi_time) + else: self.display_fixation(self.isi_time) if condition == 'Saccade' or condition == 'AntiSaccade': diff --git a/__pycache__/SaccadePursuitEyeTracking.cpython-36.pyc b/__pycache__/SaccadePursuitEyeTracking.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6929cb8825df8fbd013f05cb73b28a3fe8d326de GIT binary patch literal 9148 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 E061mOQ~&?~ literal 0 HcmV?d00001