I am trying to recreate a version of an implicit association test found on the open science framework. I would like to present 4 categories of images (attractive faces, unattractive faces, alcohol bottles and water bottles), each consisting of 5 images. The experiment consists of 7 blocks, each varying in length and showing different stimuli e.g.
Block 1, 20 trials, alcohol and attractive pictures
Block 2 20 trials, unattractive and attractive faces
Block 3, 40 trials, all four categories (20 images in total, repeated twice each)
and so on…
At the minute, psychopy is only showing images from 3 out of the 4 categories, but is not producing any error messages as to why one category is being ignored. Could anyone shed any light on why psychopy will not show images from all 4 categories?
So far, I have followed the template on OSF, using the following code components in the builder view to load the stimuli file and set the number of repeats:
# load stimuli file and set block length exemplars_filename = 'stimuli.xlsx' exemplars = data.importConditions(exemplars_filename) n_exemplars = len(exemplars) list_multiplier = int(math.ceil(10/n_exemplars)) def generate_trials(trial_type_column, multiplier): a = dict() for i in range(len(exemplars)): a[i] = [exemplars[i][trial_type_column]] * multiplier a = a.values() a = list(itertools.chain(*a)) random.shuffle(a) return a #set number of repeats if blocks.thisN == 0: trial_rows = "0:2" n_block_repeats = 10 #2*10 = 20 trials modified_list_multiplier = list_multiplier elif blocks.thisN == 1: trial_rows = "2:4" n_block_repeats = 10 #2*10 = 20 trials modified_list_multiplier = list_multiplier elif blocks.thisN == 2: trial_rows = "0:4" n_block_repeats = 5 #4*5 = 20 trials modified_list_multiplier = list_multiplier # Generate list of stimuli for the block img_trial_type_1_trials = generate_trials('img_trial_type_1_exemplars', modified_list_multiplier) img_trial_type_2_trials = generate_trials('img_trial_type_2_exemplars', modified_list_multiplier) img_trial_type_3_trials = generate_trials('img_trial_type_3_exemplars', modified_list_multiplier) img_trial_type_4_trials = generate_trials('img_trial_type_4_exemplars', modified_list_multiplier)
I am quite new to psychopy and would appreciate any help!