--- API: 2.1 OpenSesame: 3.2.6 Platform: posix --- set width 1024 set uniform_coordinates yes set title "Attentional Blink Experiment " set subject_parity even set subject_nr 0 set start experiment set sound_sample_size -16 set sound_freq 48000 set sound_channels 2 set sound_buf_size 1024 set sampler_backend legacy set round_decimals 2 set mouse_backend xpyriment set keyboard_backend legacy set height 768 set fullscreen no set form_clicks no set foreground black set font_underline no set font_size 32 set font_italic no set font_family mono set font_bold no set experiment_path "/Users/stacie/Desktop" set disable_garbage_collection yes set description "A template containing a practice and an experimental phase" set coordinates uniform set compensation 0 set color_backend legacy set clock_backend legacy set canvas_backend xpyriment set bidi yes set background gray define sketchpad AskT1 set duration 0 set description "Displays stimuli" draw textline center=1 color=White font_bold=no font_family=mono font_italic=no font_size=32 html=yes show_if=always text="Please Type The First Number That You Saw

Respond with the number pad on the keyboard" x=0 y=0 z_index=0 define sketchpad AskT2 set duration 0 set description "Displays stimuli" draw textline center=1 color=White font_bold=no font_family=mono font_italic=no font_size=32 html=yes show_if=always text="Please Type The Second Number That You Saw

Respond with the number pad on the keyboard" x=0 y=0 z_index=0 define inline_script Counterbalance set description "Executes Python code" ___run__ if var.subject_parity =='even' : var.condition1 = 'experimental' var.condition2 = 'control' else: var.condition1 = 'control' var.condition2 = 'experiment' __end__ set _prepare "" define sketchpad Fixation set start_response_interval no set duration 995 set description "Displays stimuli" draw fixdot color=Black show_if=always style=default x=0 y=0 z_index=0 draw textline center=1 color=Black font_bold=no font_family=mono font_italic=no font_size=32 html=yes show_if=always text="" x=-128 y=-128 z_index=0 define sketchpad Instructions_1 set duration keypress set description "Displays stimuli" draw textline center=1 color=black font_bold=no font_family=mono font_italic=no font_size=32 html=yes show_if=always text="
Any key to start" x=0 y=0 z_index=0 draw textline center=1 color=black font_bold=no font_family=mono font_italic=no font_size=32 html=yes show_if=always text="" x=32 y=-32 z_index=0 define inline_script RSVP set description "Executes Python code" ___run__ for letter_canvas in letter_canvas_list: letter_canvas.show() clock.sleep(var.letter_dur) blank_canvas.show() clock.sleep(var.isi) __end__ ___prepare__ import random import string # The color of T1 var.T1_color = 'white' #The presentation time of each stimulus # (rounded up to the nearest value compatible with refresh rate) var.T1_Size == 'T1_Size' var.T2_Size == 'T2_Size' var.letter_dur = 15 # The inter-stimulus interval # (rounded to nearest value compatible with refresh rate) var.isi = 75 #The position of T1 is random between 7 and 15. Note that the # first position is 0, so the position indicated the number of preceding stimuli var.T1_pos = random.randint(7,15) #The maximum lag, i.e. the number of letter that follow T1 var.max_lag = 8 #The length of the stream is the position if T1 + the maximum lag + 1. #We need to add 1, because we count starting at 0, so the length of a list i #s alwats 1 larger than its maximum index. var.stream_len = var.T1_pos + var.max_lag + 1 #We take all uppercase letters, which have been predefined in the 'string' #module. Converting to a 'list; created a lost of characters. letters = list(string.ascii_uppercase) #Randomly sample a 'stream_len' number of letters stim_list = random.sample(letters, var.stream_len) if var.T2_Present == 'y': var.T2_pos = var.T1_pos + var.lag stim_list[var.T2_pos] = random.randint(1,9) if var.T1_Present == 'y': stim_list[var.T1_pos] = random.randint(1,9) #Create an empty list for the canvas objects letter_canvas_list = [] #Loop through all letters in 'stim_list'. 'enumerate()' is a conveneint #function that automatically returns (index, item) tuples. In our case, the #index ('i) reflects the position in the RSVP stream. This Python trick, in #which you assign a single value to two variables, is called tuple unpacking. for i, stim in enumerate(stim_list): #create a 'canvas; object letter_canvas = canvas() #Draw the letter! letter_canvas.text(stim) #And add the canvas to the list. letter_canvas_list.append(letter_canvas) #create a blank canvas to show during the inter-stimulus interval blank_canvas = canvas() #Extract T1 from the list var.T1 = stim_list[var.T1_pos] var.T2 = stim_list[var.T2_pos] __end__ define keyboard_response ResponseT1 set timeout infinite set flush yes set event_type keypress set duration keypress set description "Collects keyboard responses" set correct_response "[T1]" set allowed_responses "0,1,2,3,4,5,6,7,8,9" define keyboard_response ResponseT2 set timeout infinite set flush yes set event_type keypress set duration keypress set description "Collects keyboard responses" set correct_response "[T2]" set allowed_responses "0,1,2,3,4,5,6,7,8,9" define sketchpad T1 set duration keypress set description "Displays stimuli" draw textline center=1 color=black font_bold=no font_family=mono font_italic=no font_size=32 html=yes show_if=always text="[T1]" x=0 y=0 z_index=0 define notepad about_this_template __note__ This template already contains the basic structure of a typical experiment. It consists of a practice phase, followed by an experimental phase. For more information, please visit Have fun with OpenSesame! __end__ set description "Some pointers to help you gest started!" define loop block_loop set source_file "" set source table set skip 0 set repeat 3 set order random set offset no set item trial_sequence set description "A single block of trials" set cycles 32 set continuous no set column_order "" set break_if_on_first yes set break_if never setcycle 0 Condition 2a setcycle 0 T1_Present y setcycle 0 T1_Size 32 setcycle 0 T2_Present y setcycle 0 T2_Size 48 setcycle 0 lag 1 setcycle 1 Condition 2a setcycle 1 T1_Present y setcycle 1 T1_Size 32 setcycle 1 T2_Present y setcycle 1 T2_Size 48 setcycle 1 lag 2 setcycle 2 Condition 2a setcycle 2 T1_Present y setcycle 2 T1_Size 32 setcycle 2 T2_Present y setcycle 2 T2_Size 48 setcycle 2 lag 3 setcycle 3 Condition 2a setcycle 3 T1_Present y setcycle 3 T1_Size 32 setcycle 3 T2_Present y setcycle 3 T2_Size 48 setcycle 3 lag 4 setcycle 4 Condition 2a setcycle 4 T1_Present y setcycle 4 T1_Size 32 setcycle 4 T2_Present y setcycle 4 T2_Size 48 setcycle 4 lag 5 setcycle 5 Condition 2a setcycle 5 T1_Present y setcycle 5 T1_Size 32 setcycle 5 T2_Present y setcycle 5 T2_Size 48 setcycle 5 lag 6 setcycle 6 Condition 2a setcycle 6 T1_Present y setcycle 6 T1_Size 32 setcycle 6 T2_Present y setcycle 6 T2_Size 48 setcycle 6 lag 7 setcycle 7 Condition 2a setcycle 7 T1_Present y setcycle 7 T1_Size 32 setcycle 7 T2_Present y setcycle 7 T2_Size 48 setcycle 7 lag 8 setcycle 8 Condition 2b setcycle 8 T1_Present y setcycle 8 T1_Size 32 setcycle 8 T2_Present y setcycle 8 T2_Size 64 setcycle 8 lag 1 setcycle 9 Condition 2b setcycle 9 T1_Present y setcycle 9 T1_Size 32 setcycle 9 T2_Present y setcycle 9 T2_Size 64 setcycle 9 lag 2 setcycle 10 Condition 2b setcycle 10 T1_Present y setcycle 10 T1_Size 32 setcycle 10 T2_Present y setcycle 10 T2_Size 64 setcycle 10 lag 3 setcycle 11 Condition 2b setcycle 11 T1_Present y setcycle 11 T1_Size 32 setcycle 11 T2_Present y setcycle 11 T2_Size 64 setcycle 11 lag 4 setcycle 12 Condition 2b setcycle 12 T1_Present y setcycle 12 T1_Size 32 setcycle 12 T2_Present y setcycle 12 T2_Size 64 setcycle 12 lag 5 setcycle 13 Condition 2b setcycle 13 T1_Present y setcycle 13 T1_Size 32 setcycle 13 T2_Present y setcycle 13 T2_Size 64 setcycle 13 lag 6 setcycle 14 Condition 2b setcycle 14 T1_Present y setcycle 14 T1_Size 32 setcycle 14 T2_Present y setcycle 14 T2_Size 64 setcycle 14 lag 7 setcycle 15 Condition 2b setcycle 15 T1_Present y setcycle 15 T1_Size 32 setcycle 15 T2_Present y setcycle 15 T2_Size 64 setcycle 15 lag 8 setcycle 16 Condition 1a setcycle 16 T1_Present y setcycle 16 T1_Size 48 setcycle 16 T2_Present y setcycle 16 T2_Size 32 setcycle 16 lag 1 setcycle 17 Condition 1a setcycle 17 T1_Present y setcycle 17 T1_Size 48 setcycle 17 T2_Present y setcycle 17 T2_Size 32 setcycle 17 lag 2 setcycle 18 Condition 1a setcycle 18 T1_Present y setcycle 18 T1_Size 48 setcycle 18 T2_Present y setcycle 18 T2_Size 32 setcycle 18 lag 3 setcycle 19 Condition 1a setcycle 19 T1_Present y setcycle 19 T1_Size 48 setcycle 19 T2_Present y setcycle 19 T2_Size 32 setcycle 19 lag 4 setcycle 20 Condition 1a setcycle 20 T1_Present y setcycle 20 T1_Size 48 setcycle 20 T2_Present y setcycle 20 T2_Size 32 setcycle 20 lag 5 setcycle 21 Condition 1a setcycle 21 T1_Present y setcycle 21 T1_Size 48 setcycle 21 T2_Present y setcycle 21 T2_Size 32 setcycle 21 lag 6 setcycle 22 Condition 1a setcycle 22 T1_Present y setcycle 22 T1_Size 48 setcycle 22 T2_Present y setcycle 22 T2_Size 32 setcycle 22 lag 7 setcycle 23 Condition 1a setcycle 23 T1_Present y setcycle 23 T1_Size 48 setcycle 23 T2_Present y setcycle 23 T2_Size 32 setcycle 23 lag 8 setcycle 24 Condition 1b setcycle 24 T1_Present y setcycle 24 T1_Size 64 setcycle 24 T2_Present y setcycle 24 T2_Size 32 setcycle 24 lag 1 setcycle 25 Condition 1b setcycle 25 T1_Present y setcycle 25 T1_Size 64 setcycle 25 T2_Present y setcycle 25 T2_Size 32 setcycle 25 lag 2 setcycle 26 Condition 1b setcycle 26 T1_Present y setcycle 26 T1_Size 64 setcycle 26 T2_Present y setcycle 26 T2_Size 32 setcycle 26 lag 3 setcycle 27 Condition 1b setcycle 27 T1_Present y setcycle 27 T1_Size 64 setcycle 27 T2_Present y setcycle 27 T2_Size 32 setcycle 27 lag 4 setcycle 28 Condition 1b setcycle 28 T1_Present y setcycle 28 T1_Size 64 setcycle 28 T2_Present y setcycle 28 T2_Size 32 setcycle 28 lag 5 setcycle 29 Condition 1b setcycle 29 T1_Present y setcycle 29 T1_Size 64 setcycle 29 T2_Present y setcycle 29 T2_Size 32 setcycle 29 lag 6 setcycle 30 Condition 1b setcycle 30 T1_Present y setcycle 30 T1_Size 64 setcycle 30 T2_Present y setcycle 30 T2_Size 32 setcycle 30 lag 7 setcycle 31 Condition 1b setcycle 31 T1_Present y setcycle 31 T1_Size 64 setcycle 31 T2_Present y setcycle 31 T2_Size 32 setcycle 31 lag 8 run trial_sequence define sequence block_sequence set flush_keyboard yes set description "A sequence containing a single block of trials followed by feedback to the participant" run Instructions_1 always run block_loop always define sketchpad end_of_experiment set start_response_interval no set duration keypress set description "A sketchpad notifying the participant that the experiment is finished" draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text="Press any key to exit" x=0 y=0 z_index=0 define sketchpad end_of_practice set start_response_interval no set duration keypress set description "A sketchpad notifying the participant that the practice phase is finished" draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text="Press any key to continue" x=0 y=0 z_index=0 draw textline center=1 color=black font_bold=no font_family=mono font_italic=no font_size=32 html=yes show_if=always text="Practice Complete" x=-32 y=-160 z_index=0 define sequence experiment set flush_keyboard yes set description "The main sequence of the experiment" run instructions always run practice_loop always run experimental_loop always run end_of_experiment always define loop experimental_loop set source_file "" set source table set skip 0 set repeat 1 set order sequential set offset no set item block_sequence set description "A loop containing one or more experimental blocks" set cycles 1 set continuous no set column_order practice set break_if_on_first yes set break_if never setcycle 0 practice no run block_sequence define feedback feedback set reset_variables yes set duration keypress set description "Provides feedback to the participant" draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text="Your average response time was [avg_rt]ms

Your accuracy was [acc]%

Press any key to continue" x=0 y=0 z_index=0 define sketchpad instructions set start_response_interval no set duration keypress set description "A sketchpad containing the instructions for the participant" draw textline center=1 color=white font_bold=no font_family=mono font_italic=no font_size=18 html=yes show_if=always text="Press any key to begin!" x=0 y=0 z_index=0 define logger logger set description "Logs experimental data" set auto_log yes define loop practice_loop set source_file "" set source table set skip 0 set repeat 1 set order sequential set offset no set item block_sequence set description "A loop containing one or more practice blocks" set cycles 1 set continuous no set column_order practice set break_if_on_first yes set break_if never setcycle 0 practice yes run block_sequence define reset_feedback reset_feedback set description "Resets the feedback variables, such as 'avg_rt' and 'acc'" define sequence trial_sequence set flush_keyboard yes set description "A single trial" run Fixation always run RSVP always run AskT1 always run ResponseT1 always run AskT2 always run ResponseT2 always run logger always run end_of_practice always