Millisecond Forums

Trying to program inversion face task...

https://forums.millisecond.com/Topic26064.aspx

By amomen425 - 11/13/2018

Inquisit version: 5.0.14.0 64bit (build 4274)

I am currently struggling trying to program this experiment...

Here is the design of my experiment. I have a set of 72 human faces, which I would like to show participants. In the first block I want participants to see 16 faces, 8 of which will be labelled at 'androids' and the other 8 as 'humans'.  This is the 'learning block' since they will view each face in order to see if they can remember them later. The second block is the 'test' block in which I test to see if they can remember the faces they just saw when mixed in with other faces. In this block, I want them to see the same 16  (8 'robot, and 8 'human') faces from the previous block, but also 16 NEW faces (no labels for any of the faces this time). In the next two blocks, I want to do the same thing as the first two blocks, except present the images upside down. This adds up to 72 images (hence why I am using 72 faces. Actually I have 144 faces since half of the faces will randomly be presented upside down, so I also uploaded the same images upside down) The kicker is that I don't want any of the faces to repeat, even the upside down faces (so, I don't want an upside down face to appear if the right side up version already appeared). I have spent many hours trying to make progress..

Here is what I have...First, two 'items' of all my images. One with them in upright orientation, and the other, upside down


<item Upright>

/1 = "R01.jpeg"
/2 = "R03_70.jpeg"
/3 = "R04_72.jpeg"
/4 = "R07.jpeg"
/5 = "R10_23.jpeg"
/6 = "R12.jpeg"
/7 = "R13_18.jpeg"
/8 = "R15.jpeg"
/9 = "R16.jpeg"
/10 = "R17_24.jpeg"
/11 = "R21_44.jpeg"
/12 = "R25.jpeg"
/13 = "R26_55.jpeg"
/14 = "R28.jpeg"
/15 = "R29_01.jpeg"
/16 = "R30_07.jpeg"
/17 = "R32.jpeg"
/18 = "R34_67.jpeg"
/19 = "R36_45.jpeg"
/20 = "R39_13.jpeg"
/21 = "R40_31.jpeg"
/22 = "R43_14.jpeg"
/23 = "R44_10.jpeg"
/24 = "R48_65.jpeg"
/25 = "R49_38.jpeg"
/26 = "R50_46.jpeg"
/27 = "R52_26.jpeg"
/28 = "R54_59.jpeg"
/29 = "R57_08.jpeg"
/30 = "R59_37.jpeg"
/31 = "R60_43.jpeg"
/32 = "R61_52.jpeg"
/33 = "R66_63.jpeg"
/34 = "R68_32.jpeg"
/35 = "R71_40.jpeg"
/36 = "R72_60.jpeg"
/37 = "R02.jpeg"
/38 = "R05_50.jpeg"
/39 = "R06.jpeg"
/40 = "R08.jpeg"
/41 = "R09.jpeg"
/42 = "R11.jpeg"
/43 = "R14_21.jpeg"
/44 = "R18_27.jpeg"
/45 = "R19.jpeg"
/46 = "R20_17.jpeg"
/47 = "R22.jpeg"
/48 = "R23_16.jpeg"
/49 = "R24_29.jpeg"
/50 = "R27_57.jpeg"
/51 = "R31.jpeg"
/52 = "R33_36.jpeg"
/53 = "R35_34.jpeg"
/54 = "R37_68.jpeg"
/55 = "R38_03.jpeg"
/56 = "R41_51.jpeg"
/57 = "R42_73.jpeg"
/58 = "R45_20.jpeg"
/59 = "R46_30.jpeg"
/60 = "R47_35.jpeg"
/61 = "R51_62.jpeg"
/62 = "R53_58.jpeg"
/63 = "R55_12.jpeg"
/64 = "R56_66.jpeg"
/65 = "R58_11.jpeg"
/66 = "R62_15.jpeg"
/67 = "R63_22.jpeg"
/68 = "R65_54.jpeg"
/69 = "R67_64.jpeg"
/70 = "R69_33.jpeg"
/71 = "R70_41.jpeg"
/72 = "R73_61.jpeg"
</item>

<item Upsidedown>

/1 = "R01_upsidedown.jpeg"
/2 = "R03_70_upsidedown.jpeg"
/3 = "R04_72_upsidedown.jpeg"
/4 = "R07_upsidedown.jpeg"
/5 = "R10_23_upsidedown.jpeg"
/6 = "R12_upsidedown.jpeg"
/7 = "R13_18_upsidedown.jpeg"
/8 = "R15_upsidedown.jpeg"
/9 = "R16_upsidedown.jpeg"
/10 = "R17_24_upsidedown.jpeg"
/11 = "R21_44_upsidedown.jpeg"
/12 = "R25_upsidedown.jpeg"
/13 = "R26_55_upsidedown.jpeg"
/14 = "R28_upsidedown.jpeg"
/15 = "R29_01_upsidedown.jpeg"
/16 = "R30_07_upsidedown.jpeg"
/17 = "R32_upsidedown.jpeg"
/18 = "R34_67_upsidedown.jpeg"
/19 = "R36_45_upsidedown.jpeg"
/20 = "R39_13_upsidedown.jpeg"
/21 = "R40_31_upsidedown.jpeg"
/22 = "R43_14_upsidedown.jpeg"
/23 = "R44_10_upsidedown.jpeg"
/24 = "R48_65_upsidedown.jpeg"
/25 = "R49_38_upsidedown.jpeg"
/26 = "R50_46_upsidedown.jpeg"
/27 = "R52_26_upsidedown.jpeg"
/28 = "R54_59_upsidedown.jpeg"
/29 = "R57_08_upsidedown.jpeg"
/30 = "R59_37_upsidedown.jpeg"
/31 = "R60_43_upsidedown.jpeg"
/32 = "R61_52_upsidedown.jpeg"
/33 = "R66_63_upsidedown.jpeg"
/34 = "R68_32_upsidedown.jpeg"
/35 = "R71_40_upsidedown.jpeg"
/36 = "R72_60_upsidedown.jpeg"
/37 = "R02_upsidedown.jpeg"
/38 = "R05_upsidedown_50.jpeg"
/39 = "R06_upsidedown.jpeg"
/40 = "R08_upsidedown.jpeg"
/41 = "R09_upsidedown.jpeg"
/42 = "R11_upsidedown.jpeg"
/43 = "R14_21_upsidedown.jpeg"
/44 = "R18_27_upsidedown.jpeg"
/45 = "R19_upsidedown.jpeg"
/46 = "R20_17_upsidedown.jpeg"
/47 = "R22_upsidedown.jpeg"
/48 = "R23_upsidedown_16.jpeg"
/49 = "R24_29_upsidedown.jpeg"
/50 = "R27_57_upsidedown.jpeg"
/51 = "R31_upsidedown.jpeg"
/52 = "R33_36_upsidedown.jpeg"
/53 = "R35_34_upsidedown.jpeg"
/54 = "R37_68_upsidedown.jpeg"
/55 = "R38_03_upsidedown.jpeg"
/56 = "R41_51_upsidedown.jpeg"
/57 = "R42_73_upsidedown.jpeg"
/58 = "R45_20_upsidedown.jpeg"
/59 = "R46_30_upsidedown.jpeg"
/60 = "R47_35_upsidedown.jpeg"
/61 = "R51_62_upsidedown.jpeg"
/62 = "R53_58_upsidedown.jpeg"
/63 = "R55_12_upsidedown.jpeg"
/64 = "R56_66_upsidedown.jpeg"
/65 = "R58_11_upsidedown.jpeg"
/66 = "R62_15_upsidedown.jpeg"
/67 = "R63_22_upsidedown.jpeg"
/68 = "R65_54_upsidedown.jpeg"
/69 = "R67_64_upsidedown.jpeg"
/70 = "R69_33_upsidedown.jpeg"
/71 = "R70_41_upsidedown.jpeg"
/72 = "R73_61_upsidedown.jpeg"
</item>

Then i created a 'list' with 72 numbers, each representing an image I want in the experiment. I understand if what i am doing makes no sense, but it's how I thought would make sense to proceed
<list bin_randomized_1>
/items = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,
27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,
53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72)
/select = item.Upright
/ selectionmode = random
</list>

I then created ANOTHER list, puling randomly from the previous one, hoping that it would randomize the previous list since I need random images to be presented. I did this hoping that each number in this second list would correspond to ANOTHER number (from the previous list) which would itself correspond to an image (i.e. #1 in list 2 would perhaps correspond to # 58 in list 1 which would then correspond to image 'R45_20.jpeg" or image 'R45_20_upsidedown.jpeg" depending on wher it pulled from the upright or upside down list of images..

<list bin_randomized_2>
/items = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,
27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,
53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72)
/select = list.bin_randomized_1.currentindex
/ selectionmode = sequence
</list>

Having done that, I split up the images into 8 different bins, one for each type of image I need in the experiment (Human Upright for the learning phase, Android Upright for the learning phase, Human upright For the testing phase, Android Upright For the testing phase, Human Upside down for the learning phase, Android down for the learning phase, Human down For the testing phase, Android down For the testing phase).

<list upright_human_learning>
/items = (1,2,3,4,5,6,7,8,9)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upright_android_learning>
/items = (10,11,12,13,14,15,16,17,18)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upright_human_test>
/items = (1,2,3,4,5,6,7,8,9,19,20,21,22,23,24,25,26,27)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upright_android_test>
/items = (10,11,12,13,14,15,16,17,18,
28,29,30,31,32,33,34,35,36)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upsidedown_human_learning>
/items = (37,38,39,40,41,42,43,44,45)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upsidedown_android_learning>
/items = (46,47,48,49,50,51,52,53,54)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upsidedown_human_test>
/items = (37,38,39,40,41,42,43,44,45,55,56,57,58,59,60,61,62,63)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upsidedown_android_test>
/items = (46,47,48,49,50,51,52,54,55,
64,65,66,67,68,69,70,71,72)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

Here are my item and text elements for the labels that will accompany the images

<item human_label>
/1 = "Human"
</item>
<item android_label>
/1 = "Android"
</item>

<text human_label>
/ items = human_label
/ select = values.selectInstruct
/ position = (50%, 65%)
/ size = (80%, 20%)
/ fontstyle = ("Arial", 4%, true, false, false, false, 5, 1)
</text>


<text android_label>
/ items = android_label
/ select = values.selectInstruct
/ position = (50%, 65%)
/ size = (80%, 20%)
/ fontstyle = ("Arial", 4%, true, false, false, false, 5, 1)
</text>

Here is an example of a the list of trial elements (for a particular block) that that particular block would pull from to determine what trial to present...

<list upright_learning>
/items = (trial.learning_upright_human,trial.learning_upright_human,trial.learning_upright_human,trial.learning_upright_human,
trial.learning_upright_human,trial.learning_upright_human,trial.learning_upright_human,trial.learning_upright_human,trial.learning_upright_human,
trial.learning_upright_human,trial.learning_upright_android,trial.learning_upright_android,trial.learning_upright_android,trial.learning_upright_android,
trial.learning_upright_android,trial.learning_upright_android,trial.learning_upright_android,trial.learning_upright_android,trial.learning_upright_android)
/ selectionmode = random
</list>


this is my proposed picture element..

<picture upright>
/ items = Upright
/ select = noreplace
/ size = (parameters.picSize, parameters.picSize)
/ position = (50%, 35%)
/erase = false
</picture>


<picture upsidedown>
/ items = Upsidedown
/ select = noreplace
/ size = (parameters.picSize, parameters.picSize)
/ position = (50%, 35%)
/erase = false
</picture>
]

And this would be an example of a trial...


<trial learning_upright_android>
/ ontrialbegin = [
values.facetype = "facelike";
values.ITI = parameters.fixedITI;
values.selectInstruct = 1;

]
/ stimulustimes = [0 = clearscreen; 500 = picture.upright, android_label]
/ beginresponsetime = values.ITI
/ validresponse = (parameters.responseKey1)
]
/ ontrialend = [
trial.learning_upright_android.resetstimulusframes();
values.stim = picture.upright.currentitem;
]
</trial>

If I'm anywhere close to being on the right path, what I don't know know is...whether I created those lists earlier (l.e., 'list upright_human_learning') correctly so that they populate with random images WITHOUT REPLACEMENT, and then how to feed that information into my picture, trial, block etc element so that all the faces are used once, and that none of the faces to repeat, even the upside down faces (since I don't want an upside down face to appear if the right side up version already appeared). Any help would be appreciated!


By Dave - 11/13/2018

amomen425 - Tuesday, November 13, 2018

Inquisit version: 5.0.14.0 64bit (build 4274)

I am currently struggling trying to program this experiment...

Here is the design of my experiment. I have a set of 72 human faces, which I would like to show participants. In the first block I want participants to see 16 faces, 8 of which will be labelled at 'androids' and the other 8 as 'humans'.  This is the 'learning block' since they will view each face in order to see if they can remember them later. The second block is the 'test' block in which I test to see if they can remember the faces they just saw when mixed in with other faces. In this block, I want them to see the same 16  (8 'robot, and 8 'human') faces from the previous block, but also 16 NEW faces (no labels for any of the faces this time). In the next two blocks, I want to do the same thing as the first two blocks, except present the images upside down. This adds up to 72 images (hence why I am using 72 faces. Actually I have 144 faces since half of the faces will randomly be presented upside down, so I also uploaded the same images upside down) The kicker is that I don't want any of the faces to repeat, even the upside down faces (so, I don't want an upside down face to appear if the right side up version already appeared). I have spent many hours trying to make progress..

Here is what I have...First, two 'items' of all my images. One with them in upright orientation, and the other, upside down


<item Upright>

/1 = "R01.jpeg"
/2 = "R03_70.jpeg"
/3 = "R04_72.jpeg"
/4 = "R07.jpeg"
/5 = "R10_23.jpeg"
/6 = "R12.jpeg"
/7 = "R13_18.jpeg"
/8 = "R15.jpeg"
/9 = "R16.jpeg"
/10 = "R17_24.jpeg"
/11 = "R21_44.jpeg"
/12 = "R25.jpeg"
/13 = "R26_55.jpeg"
/14 = "R28.jpeg"
/15 = "R29_01.jpeg"
/16 = "R30_07.jpeg"
/17 = "R32.jpeg"
/18 = "R34_67.jpeg"
/19 = "R36_45.jpeg"
/20 = "R39_13.jpeg"
/21 = "R40_31.jpeg"
/22 = "R43_14.jpeg"
/23 = "R44_10.jpeg"
/24 = "R48_65.jpeg"
/25 = "R49_38.jpeg"
/26 = "R50_46.jpeg"
/27 = "R52_26.jpeg"
/28 = "R54_59.jpeg"
/29 = "R57_08.jpeg"
/30 = "R59_37.jpeg"
/31 = "R60_43.jpeg"
/32 = "R61_52.jpeg"
/33 = "R66_63.jpeg"
/34 = "R68_32.jpeg"
/35 = "R71_40.jpeg"
/36 = "R72_60.jpeg"
/37 = "R02.jpeg"
/38 = "R05_50.jpeg"
/39 = "R06.jpeg"
/40 = "R08.jpeg"
/41 = "R09.jpeg"
/42 = "R11.jpeg"
/43 = "R14_21.jpeg"
/44 = "R18_27.jpeg"
/45 = "R19.jpeg"
/46 = "R20_17.jpeg"
/47 = "R22.jpeg"
/48 = "R23_16.jpeg"
/49 = "R24_29.jpeg"
/50 = "R27_57.jpeg"
/51 = "R31.jpeg"
/52 = "R33_36.jpeg"
/53 = "R35_34.jpeg"
/54 = "R37_68.jpeg"
/55 = "R38_03.jpeg"
/56 = "R41_51.jpeg"
/57 = "R42_73.jpeg"
/58 = "R45_20.jpeg"
/59 = "R46_30.jpeg"
/60 = "R47_35.jpeg"
/61 = "R51_62.jpeg"
/62 = "R53_58.jpeg"
/63 = "R55_12.jpeg"
/64 = "R56_66.jpeg"
/65 = "R58_11.jpeg"
/66 = "R62_15.jpeg"
/67 = "R63_22.jpeg"
/68 = "R65_54.jpeg"
/69 = "R67_64.jpeg"
/70 = "R69_33.jpeg"
/71 = "R70_41.jpeg"
/72 = "R73_61.jpeg"
</item>

<item Upsidedown>

/1 = "R01_upsidedown.jpeg"
/2 = "R03_70_upsidedown.jpeg"
/3 = "R04_72_upsidedown.jpeg"
/4 = "R07_upsidedown.jpeg"
/5 = "R10_23_upsidedown.jpeg"
/6 = "R12_upsidedown.jpeg"
/7 = "R13_18_upsidedown.jpeg"
/8 = "R15_upsidedown.jpeg"
/9 = "R16_upsidedown.jpeg"
/10 = "R17_24_upsidedown.jpeg"
/11 = "R21_44_upsidedown.jpeg"
/12 = "R25_upsidedown.jpeg"
/13 = "R26_55_upsidedown.jpeg"
/14 = "R28_upsidedown.jpeg"
/15 = "R29_01_upsidedown.jpeg"
/16 = "R30_07_upsidedown.jpeg"
/17 = "R32_upsidedown.jpeg"
/18 = "R34_67_upsidedown.jpeg"
/19 = "R36_45_upsidedown.jpeg"
/20 = "R39_13_upsidedown.jpeg"
/21 = "R40_31_upsidedown.jpeg"
/22 = "R43_14_upsidedown.jpeg"
/23 = "R44_10_upsidedown.jpeg"
/24 = "R48_65_upsidedown.jpeg"
/25 = "R49_38_upsidedown.jpeg"
/26 = "R50_46_upsidedown.jpeg"
/27 = "R52_26_upsidedown.jpeg"
/28 = "R54_59_upsidedown.jpeg"
/29 = "R57_08_upsidedown.jpeg"
/30 = "R59_37_upsidedown.jpeg"
/31 = "R60_43_upsidedown.jpeg"
/32 = "R61_52_upsidedown.jpeg"
/33 = "R66_63_upsidedown.jpeg"
/34 = "R68_32_upsidedown.jpeg"
/35 = "R71_40_upsidedown.jpeg"
/36 = "R72_60_upsidedown.jpeg"
/37 = "R02_upsidedown.jpeg"
/38 = "R05_upsidedown_50.jpeg"
/39 = "R06_upsidedown.jpeg"
/40 = "R08_upsidedown.jpeg"
/41 = "R09_upsidedown.jpeg"
/42 = "R11_upsidedown.jpeg"
/43 = "R14_21_upsidedown.jpeg"
/44 = "R18_27_upsidedown.jpeg"
/45 = "R19_upsidedown.jpeg"
/46 = "R20_17_upsidedown.jpeg"
/47 = "R22_upsidedown.jpeg"
/48 = "R23_upsidedown_16.jpeg"
/49 = "R24_29_upsidedown.jpeg"
/50 = "R27_57_upsidedown.jpeg"
/51 = "R31_upsidedown.jpeg"
/52 = "R33_36_upsidedown.jpeg"
/53 = "R35_34_upsidedown.jpeg"
/54 = "R37_68_upsidedown.jpeg"
/55 = "R38_03_upsidedown.jpeg"
/56 = "R41_51_upsidedown.jpeg"
/57 = "R42_73_upsidedown.jpeg"
/58 = "R45_20_upsidedown.jpeg"
/59 = "R46_30_upsidedown.jpeg"
/60 = "R47_35_upsidedown.jpeg"
/61 = "R51_62_upsidedown.jpeg"
/62 = "R53_58_upsidedown.jpeg"
/63 = "R55_12_upsidedown.jpeg"
/64 = "R56_66_upsidedown.jpeg"
/65 = "R58_11_upsidedown.jpeg"
/66 = "R62_15_upsidedown.jpeg"
/67 = "R63_22_upsidedown.jpeg"
/68 = "R65_54_upsidedown.jpeg"
/69 = "R67_64_upsidedown.jpeg"
/70 = "R69_33_upsidedown.jpeg"
/71 = "R70_41_upsidedown.jpeg"
/72 = "R73_61_upsidedown.jpeg"
</item>

Then i created a 'list' with 72 numbers, each representing an image I want in the experiment. I understand if what i am doing makes no sense, but it's how I thought would make sense to proceed
<list bin_randomized_1>
/items = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,
27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,
53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72)
/select = item.Upright
/ selectionmode = random
</list>

I then created ANOTHER list, puling randomly from the previous one, hoping that it would randomize the previous list since I need random images to be presented. I did this hoping that each number in this second list would correspond to ANOTHER number (from the previous list) which would itself correspond to an image (i.e. #1 in list 2 would perhaps correspond to # 58 in list 1 which would then correspond to image 'R45_20.jpeg" or image 'R45_20_upsidedown.jpeg" depending on wher it pulled from the upright or upside down list of images..

<list bin_randomized_2>
/items = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,
27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,
53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72)
/select = list.bin_randomized_1.currentindex
/ selectionmode = sequence
</list>

Having done that, I split up the images into 8 different bins, one for each type of image I need in the experiment (Human Upright for the learning phase, Android Upright for the learning phase, Human upright For the testing phase, Android Upright For the testing phase, Human Upside down for the learning phase, Android down for the learning phase, Human down For the testing phase, Android down For the testing phase).

<list upright_human_learning>
/items = (1,2,3,4,5,6,7,8,9)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upright_android_learning>
/items = (10,11,12,13,14,15,16,17,18)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upright_human_test>
/items = (1,2,3,4,5,6,7,8,9,19,20,21,22,23,24,25,26,27)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upright_android_test>
/items = (10,11,12,13,14,15,16,17,18,
28,29,30,31,32,33,34,35,36)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upsidedown_human_learning>
/items = (37,38,39,40,41,42,43,44,45)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upsidedown_android_learning>
/items = (46,47,48,49,50,51,52,53,54)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upsidedown_human_test>
/items = (37,38,39,40,41,42,43,44,45,55,56,57,58,59,60,61,62,63)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upsidedown_android_test>
/items = (46,47,48,49,50,51,52,54,55,
64,65,66,67,68,69,70,71,72)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

Here are my item and text elements for the labels that will accompany the images

<item human_label>
/1 = "Human"
</item>
<item android_label>
/1 = "Android"
</item>

<text human_label>
/ items = human_label
/ select = values.selectInstruct
/ position = (50%, 65%)
/ size = (80%, 20%)
/ fontstyle = ("Arial", 4%, true, false, false, false, 5, 1)
</text>


<text android_label>
/ items = android_label
/ select = values.selectInstruct
/ position = (50%, 65%)
/ size = (80%, 20%)
/ fontstyle = ("Arial", 4%, true, false, false, false, 5, 1)
</text>

Here is an example of a the list of trial elements (for a particular block) that that particular block would pull from to determine what trial to present...

<list upright_learning>
/items = (trial.learning_upright_human,trial.learning_upright_human,trial.learning_upright_human,trial.learning_upright_human,
trial.learning_upright_human,trial.learning_upright_human,trial.learning_upright_human,trial.learning_upright_human,trial.learning_upright_human,
trial.learning_upright_human,trial.learning_upright_android,trial.learning_upright_android,trial.learning_upright_android,trial.learning_upright_android,
trial.learning_upright_android,trial.learning_upright_android,trial.learning_upright_android,trial.learning_upright_android,trial.learning_upright_android)
/ selectionmode = random
</list>


this is my proposed picture element..

<picture upright>
/ items = Upright
/ select = noreplace
/ size = (parameters.picSize, parameters.picSize)
/ position = (50%, 35%)
/erase = false
</picture>


<picture upsidedown>
/ items = Upsidedown
/ select = noreplace
/ size = (parameters.picSize, parameters.picSize)
/ position = (50%, 35%)
/erase = false
</picture>
]

And this would be an example of a trial...


<trial learning_upright_android>
/ ontrialbegin = [
values.facetype = "facelike";
values.ITI = parameters.fixedITI;
values.selectInstruct = 1;

]
/ stimulustimes = [0 = clearscreen; 500 = picture.upright, android_label]
/ beginresponsetime = values.ITI
/ validresponse = (parameters.responseKey1)
]
/ ontrialend = [
trial.learning_upright_android.resetstimulusframes();
values.stim = picture.upright.currentitem;
]
</trial>

If I'm anywhere close to being on the right path, what I don't know know is...whether I created those lists earlier (l.e., 'list upright_human_learning') correctly so that they populate with random images WITHOUT REPLACEMENT, and then how to feed that information into my picture, trial, block etc element so that all the faces are used once, and that none of the faces to repeat, even the upside down faces (since I don't want an upside down face to appear if the right side up version already appeared). Any help would be appreciated!



What you describe appears to be a fairly typical "old - new" learning task, and as such the following threads and examples should be useful:

https://www.millisecond.com/forums/Topic17069.aspx
https://www.millisecond.com/forums/FindPost21829.aspx

By amomen425 - 11/19/2018

Dave - Tuesday, November 13, 2018
amomen425 - Tuesday, November 13, 2018

Inquisit version: 5.0.14.0 64bit (build 4274)

I am currently struggling trying to program this experiment...

Here is the design of my experiment. I have a set of 72 human faces, which I would like to show participants. In the first block I want participants to see 16 faces, 8 of which will be labelled at 'androids' and the other 8 as 'humans'.  This is the 'learning block' since they will view each face in order to see if they can remember them later. The second block is the 'test' block in which I test to see if they can remember the faces they just saw when mixed in with other faces. In this block, I want them to see the same 16  (8 'robot, and 8 'human') faces from the previous block, but also 16 NEW faces (no labels for any of the faces this time). In the next two blocks, I want to do the same thing as the first two blocks, except present the images upside down. This adds up to 72 images (hence why I am using 72 faces. Actually I have 144 faces since half of the faces will randomly be presented upside down, so I also uploaded the same images upside down) The kicker is that I don't want any of the faces to repeat, even the upside down faces (so, I don't want an upside down face to appear if the right side up version already appeared). I have spent many hours trying to make progress..

Here is what I have...First, two 'items' of all my images. One with them in upright orientation, and the other, upside down


<item Upright>

/1 = "R01.jpeg"
/2 = "R03_70.jpeg"
/3 = "R04_72.jpeg"
/4 = "R07.jpeg"
/5 = "R10_23.jpeg"
/6 = "R12.jpeg"
/7 = "R13_18.jpeg"
/8 = "R15.jpeg"
/9 = "R16.jpeg"
/10 = "R17_24.jpeg"
/11 = "R21_44.jpeg"
/12 = "R25.jpeg"
/13 = "R26_55.jpeg"
/14 = "R28.jpeg"
/15 = "R29_01.jpeg"
/16 = "R30_07.jpeg"
/17 = "R32.jpeg"
/18 = "R34_67.jpeg"
/19 = "R36_45.jpeg"
/20 = "R39_13.jpeg"
/21 = "R40_31.jpeg"
/22 = "R43_14.jpeg"
/23 = "R44_10.jpeg"
/24 = "R48_65.jpeg"
/25 = "R49_38.jpeg"
/26 = "R50_46.jpeg"
/27 = "R52_26.jpeg"
/28 = "R54_59.jpeg"
/29 = "R57_08.jpeg"
/30 = "R59_37.jpeg"
/31 = "R60_43.jpeg"
/32 = "R61_52.jpeg"
/33 = "R66_63.jpeg"
/34 = "R68_32.jpeg"
/35 = "R71_40.jpeg"
/36 = "R72_60.jpeg"
/37 = "R02.jpeg"
/38 = "R05_50.jpeg"
/39 = "R06.jpeg"
/40 = "R08.jpeg"
/41 = "R09.jpeg"
/42 = "R11.jpeg"
/43 = "R14_21.jpeg"
/44 = "R18_27.jpeg"
/45 = "R19.jpeg"
/46 = "R20_17.jpeg"
/47 = "R22.jpeg"
/48 = "R23_16.jpeg"
/49 = "R24_29.jpeg"
/50 = "R27_57.jpeg"
/51 = "R31.jpeg"
/52 = "R33_36.jpeg"
/53 = "R35_34.jpeg"
/54 = "R37_68.jpeg"
/55 = "R38_03.jpeg"
/56 = "R41_51.jpeg"
/57 = "R42_73.jpeg"
/58 = "R45_20.jpeg"
/59 = "R46_30.jpeg"
/60 = "R47_35.jpeg"
/61 = "R51_62.jpeg"
/62 = "R53_58.jpeg"
/63 = "R55_12.jpeg"
/64 = "R56_66.jpeg"
/65 = "R58_11.jpeg"
/66 = "R62_15.jpeg"
/67 = "R63_22.jpeg"
/68 = "R65_54.jpeg"
/69 = "R67_64.jpeg"
/70 = "R69_33.jpeg"
/71 = "R70_41.jpeg"
/72 = "R73_61.jpeg"
</item>

<item Upsidedown>

/1 = "R01_upsidedown.jpeg"
/2 = "R03_70_upsidedown.jpeg"
/3 = "R04_72_upsidedown.jpeg"
/4 = "R07_upsidedown.jpeg"
/5 = "R10_23_upsidedown.jpeg"
/6 = "R12_upsidedown.jpeg"
/7 = "R13_18_upsidedown.jpeg"
/8 = "R15_upsidedown.jpeg"
/9 = "R16_upsidedown.jpeg"
/10 = "R17_24_upsidedown.jpeg"
/11 = "R21_44_upsidedown.jpeg"
/12 = "R25_upsidedown.jpeg"
/13 = "R26_55_upsidedown.jpeg"
/14 = "R28_upsidedown.jpeg"
/15 = "R29_01_upsidedown.jpeg"
/16 = "R30_07_upsidedown.jpeg"
/17 = "R32_upsidedown.jpeg"
/18 = "R34_67_upsidedown.jpeg"
/19 = "R36_45_upsidedown.jpeg"
/20 = "R39_13_upsidedown.jpeg"
/21 = "R40_31_upsidedown.jpeg"
/22 = "R43_14_upsidedown.jpeg"
/23 = "R44_10_upsidedown.jpeg"
/24 = "R48_65_upsidedown.jpeg"
/25 = "R49_38_upsidedown.jpeg"
/26 = "R50_46_upsidedown.jpeg"
/27 = "R52_26_upsidedown.jpeg"
/28 = "R54_59_upsidedown.jpeg"
/29 = "R57_08_upsidedown.jpeg"
/30 = "R59_37_upsidedown.jpeg"
/31 = "R60_43_upsidedown.jpeg"
/32 = "R61_52_upsidedown.jpeg"
/33 = "R66_63_upsidedown.jpeg"
/34 = "R68_32_upsidedown.jpeg"
/35 = "R71_40_upsidedown.jpeg"
/36 = "R72_60_upsidedown.jpeg"
/37 = "R02_upsidedown.jpeg"
/38 = "R05_upsidedown_50.jpeg"
/39 = "R06_upsidedown.jpeg"
/40 = "R08_upsidedown.jpeg"
/41 = "R09_upsidedown.jpeg"
/42 = "R11_upsidedown.jpeg"
/43 = "R14_21_upsidedown.jpeg"
/44 = "R18_27_upsidedown.jpeg"
/45 = "R19_upsidedown.jpeg"
/46 = "R20_17_upsidedown.jpeg"
/47 = "R22_upsidedown.jpeg"
/48 = "R23_upsidedown_16.jpeg"
/49 = "R24_29_upsidedown.jpeg"
/50 = "R27_57_upsidedown.jpeg"
/51 = "R31_upsidedown.jpeg"
/52 = "R33_36_upsidedown.jpeg"
/53 = "R35_34_upsidedown.jpeg"
/54 = "R37_68_upsidedown.jpeg"
/55 = "R38_03_upsidedown.jpeg"
/56 = "R41_51_upsidedown.jpeg"
/57 = "R42_73_upsidedown.jpeg"
/58 = "R45_20_upsidedown.jpeg"
/59 = "R46_30_upsidedown.jpeg"
/60 = "R47_35_upsidedown.jpeg"
/61 = "R51_62_upsidedown.jpeg"
/62 = "R53_58_upsidedown.jpeg"
/63 = "R55_12_upsidedown.jpeg"
/64 = "R56_66_upsidedown.jpeg"
/65 = "R58_11_upsidedown.jpeg"
/66 = "R62_15_upsidedown.jpeg"
/67 = "R63_22_upsidedown.jpeg"
/68 = "R65_54_upsidedown.jpeg"
/69 = "R67_64_upsidedown.jpeg"
/70 = "R69_33_upsidedown.jpeg"
/71 = "R70_41_upsidedown.jpeg"
/72 = "R73_61_upsidedown.jpeg"
</item>

Then i created a 'list' with 72 numbers, each representing an image I want in the experiment. I understand if what i am doing makes no sense, but it's how I thought would make sense to proceed
<list bin_randomized_1>
/items = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,
27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,
53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72)
/select = item.Upright
/ selectionmode = random
</list>

I then created ANOTHER list, puling randomly from the previous one, hoping that it would randomize the previous list since I need random images to be presented. I did this hoping that each number in this second list would correspond to ANOTHER number (from the previous list) which would itself correspond to an image (i.e. #1 in list 2 would perhaps correspond to # 58 in list 1 which would then correspond to image 'R45_20.jpeg" or image 'R45_20_upsidedown.jpeg" depending on wher it pulled from the upright or upside down list of images..

<list bin_randomized_2>
/items = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,
27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,
53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72)
/select = list.bin_randomized_1.currentindex
/ selectionmode = sequence
</list>

Having done that, I split up the images into 8 different bins, one for each type of image I need in the experiment (Human Upright for the learning phase, Android Upright for the learning phase, Human upright For the testing phase, Android Upright For the testing phase, Human Upside down for the learning phase, Android down for the learning phase, Human down For the testing phase, Android down For the testing phase).

<list upright_human_learning>
/items = (1,2,3,4,5,6,7,8,9)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upright_android_learning>
/items = (10,11,12,13,14,15,16,17,18)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upright_human_test>
/items = (1,2,3,4,5,6,7,8,9,19,20,21,22,23,24,25,26,27)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upright_android_test>
/items = (10,11,12,13,14,15,16,17,18,
28,29,30,31,32,33,34,35,36)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upsidedown_human_learning>
/items = (37,38,39,40,41,42,43,44,45)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upsidedown_android_learning>
/items = (46,47,48,49,50,51,52,53,54)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upsidedown_human_test>
/items = (37,38,39,40,41,42,43,44,45,55,56,57,58,59,60,61,62,63)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

<list upsidedown_android_test>
/items = (46,47,48,49,50,51,52,54,55,
64,65,66,67,68,69,70,71,72)
/select = list.bin_randomized_3.currentindex
/ selectionmode = random
</list>

Here are my item and text elements for the labels that will accompany the images

<item human_label>
/1 = "Human"
</item>
<item android_label>
/1 = "Android"
</item>

<text human_label>
/ items = human_label
/ select = values.selectInstruct
/ position = (50%, 65%)
/ size = (80%, 20%)
/ fontstyle = ("Arial", 4%, true, false, false, false, 5, 1)
</text>


<text android_label>
/ items = android_label
/ select = values.selectInstruct
/ position = (50%, 65%)
/ size = (80%, 20%)
/ fontstyle = ("Arial", 4%, true, false, false, false, 5, 1)
</text>

Here is an example of a the list of trial elements (for a particular block) that that particular block would pull from to determine what trial to present...

<list upright_learning>
/items = (trial.learning_upright_human,trial.learning_upright_human,trial.learning_upright_human,trial.learning_upright_human,
trial.learning_upright_human,trial.learning_upright_human,trial.learning_upright_human,trial.learning_upright_human,trial.learning_upright_human,
trial.learning_upright_human,trial.learning_upright_android,trial.learning_upright_android,trial.learning_upright_android,trial.learning_upright_android,
trial.learning_upright_android,trial.learning_upright_android,trial.learning_upright_android,trial.learning_upright_android,trial.learning_upright_android)
/ selectionmode = random
</list>


this is my proposed picture element..

<picture upright>
/ items = Upright
/ select = noreplace
/ size = (parameters.picSize, parameters.picSize)
/ position = (50%, 35%)
/erase = false
</picture>


<picture upsidedown>
/ items = Upsidedown
/ select = noreplace
/ size = (parameters.picSize, parameters.picSize)
/ position = (50%, 35%)
/erase = false
</picture>
]

And this would be an example of a trial...


<trial learning_upright_android>
/ ontrialbegin = [
values.facetype = "facelike";
values.ITI = parameters.fixedITI;
values.selectInstruct = 1;

]
/ stimulustimes = [0 = clearscreen; 500 = picture.upright, android_label]
/ beginresponsetime = values.ITI
/ validresponse = (parameters.responseKey1)
]
/ ontrialend = [
trial.learning_upright_android.resetstimulusframes();
values.stim = picture.upright.currentitem;
]
</trial>

If I'm anywhere close to being on the right path, what I don't know know is...whether I created those lists earlier (l.e., 'list upright_human_learning') correctly so that they populate with random images WITHOUT REPLACEMENT, and then how to feed that information into my picture, trial, block etc element so that all the faces are used once, and that none of the faces to repeat, even the upside down faces (since I don't want an upside down face to appear if the right side up version already appeared). Any help would be appreciated!



What you describe appears to be a fairly typical "old - new" learning task, and as such the following threads and examples should be useful:

https://www.millisecond.com/forums/Topic17069.aspx
https://www.millisecond.com/forums/FindPost21829.aspx


I was able to program the experiment with those links! Thanks!