Hi,
I have a question on how to best programm a random selection of pictures from one pool into separate picture pools that starts at the beginning of a trial.
I have a pool of 16 pictures and at the beginning of an experiment I want them to be randomly assigned into 4 separate pools: 4 pictures per pool. These picturs will then be drawn at and presented in 4 different within design conditions (reperesnted by trials), where also other characteristics are counterbalanced (e.g. picture position).
I tried to accomplish it by creating a central list of 16 pictures and programm a very first trial of the experiment so that it randomly draws 4 pictures into one list and erases them from the central list and the same should happen for the next 3 lists. Then the lists are used as a “selection” reference in picture elements, as lists cannot be really used as “item” elements in trials etc. However, it does not seem to work well, I keep getting these errors:
“Error evaluating ´100´/: Unknown error.”
“Unable to initialze <picture xy> item number 0. Verify the item exists and its correctly defined.”
Any ideas? Thanks!
Here is my script:
<item all_central>
/1=picture1
/2=picture2
/...
/16=picture16
</item>
<picture all_central>
/ items = all_center
/select = noreplace
/ position = (50, 50)
/size = (550,600)
</picture>
<list all_central>
/ items= (all_central)
</list>
<list congruent_a>
/ items= (list.all_central)
/poolsize= 4
/selectionmode = random
</list>
<trial remove1>
/ ontrialbeginning= [list.all_central.removeitem(list.congruent_a);]
/timeout = 1
</trial>
<list incongruent_a>
/ items= (list.all_central)
/poolsize= 4
/selectionmode = random
</list>
<trial remove2>
/ ontrialend= [list.all_central.removeitem(list.incongruent_a);]
/timeout = 1
</trial>
<list congruent_b>
/ items= (list.all_central)
/poolsize= 4
/selectionmode = random
</list>
<trial remove3>
/ ontrialend= [list.all_central.removeitem(list.congruent_b);]
/timeout = 1
</trial>
<list incongruent_b>
/ items= (list.all_central)
/poolsize= 4
/selectionmode = random
</list>
<picture xyz_left_congruent_a>
/select = list.congruent_a
/ position = (25, 50)
/size = (250,300)
</picture>
<picture xyz_left_congruent_b>
/select = list.congruent_b
/ position = (25, 50)
/size = (250,300)
</picture>
<picture xyz_right_congruent_a>
/select = list.congruent_a
/ position = (75, 50)
/size = (250,300)
</picture>
<picture xyz_right_congruent_b>
/select = list.congruent_b
/ position = (75, 50)
/size = (250,300)
</picture>
<picture xyz_left_incongruent_a>
/select = list.incongruent_a
/ position = (25, 50)
/size = (250,300)
</picture>
etc..
trial example:
<trial l_congruent_left_face_a>
/inputdevice=mouse
/validresponse = ("liking_button","disliking_button")
/stimulustimes = [500=fixation_cross; 1100=face_center; 1100=xyz_left_congruent_a; 2700=facegaze_left; 3500 = x_button, y_button]
</trial>