Millisecond Forums

How to use noreplace for picture stimuli across blocks?

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

By Amarins - 11/26/2019

Hi all,

In my study I have 10 blocks (with 5 trials) each and in between each block a question (agency) is asked. I want to present a total of 50 matched picture-stimuli and I don’t want the pictures to become replaced between blocks (each participant should see each pair of pictures once). However, I only can specify a no-replace argument to ensure that the pictures don’t get replaced WITHIN each block. How can I make sure that the pictures don’t get replaced ACROSS all blocks? I already tried / resetinterval = 0, but this only works within blocks. Can anyone help me?

Thanks a lot!

Below you can find my code:

<expt control>
/ blocks = [1 = ID, labelinfo; 2 = B1_products_ct; 3 = agency1_ct; 4 = B2_products_ct; 5 = agency2_ct; 6 = B3_products_ct; 7 = agency3_ct;  8 = B4_products_ct; 9 = agency4_ct; 10 = B5_products_ct; 11 = agency5_ct; 12 = B6_products_ct; 13 = agency6_ct; 14 = B7_products_ct;  15 = agency7_ct; 16 = B8_products_ct; 17 = agency8_ct; 18 = B9_products_ct; 19 = agency9_ct; 20 = B10_products_ct; 21 = agency10_ct]
</expt>

<block B1_products_ct>
/ preinstructions = (block_instructions_part2)
/ trials = [1-5 = noreplace(sus_left_ct, sus_right_ct)]
</block>

<block B2_products_ct>
/ trials = [1-5 = noreplace(sus_left_ct, sus_right_ct)]
</block>

<block B3_products_ct>
/ trials = [1-5 = noreplace(sus_left_ct, sus_right_ct)]
</block>

*etc. for all 10 product-blocks this is the same*

<block agency1_ct>
/ trials = [1 = agency]
</block>

<block agency2_ct>
/ trials = [1 = agency]
</block>

<block agency3_ct>
/ trials = [1 = agency]
</block>

*etc. for all 10 agency-blocks this is the same*

<trial sus_left_ct>
/ stimulustimes = [1 = product_susleft, product_unsright]
</trial>

<trial sus_right_ct>
/ stimulustimes = [1 = product_susright, product_unsleft]
</trial>

<picture product_susleft>
/ items = sustainable
/ size = (50%, 50%)
/ position = (25, 40)
/ resetinterval = 0
</picture>

<picture product_unsright>
/ items = unsustainable
/ select = current(product_susleft)
/ size = (50%, 50%)
/ position = (75, 40)
/ resetinterval = 0
</picture>

<picture product_susright>
/ items = sustainable
/ size = (50%, 50%)
/ position = (75, 40)
/ resetinterval = 0
</picture>

<picture product_unsleft>
/ items = unsustainable
/ select = current(product_susright)
/ size = (50%, 50%)
/ position = (25, 40)
/ resetinterval = 0
</picture>

<item sustainable>
/1 = "1s.jpg"
/2 = "2s.jpg"
/3 = "3s.jpg"
/4 = "4s.jpg"
/5 = "5s.jpg"
/6 = "6s.jpg"
/7 = "7s.jpg"
/8 = "8s.jpg"
/9 = "9s.jpg"
/10 = "10s.jpg"
/11 = "11s.jpg"
/12 = "12s.jpg"
/13 = "13s.jpg"
/14 = "14s.jpg"
/15 = "15s.jpg"
/16 = "16s.jpg"
/17 = "17s.jpg"
/18 = "18s.jpg"
/19 = "19s.jpg"
/20 = "20s.jpg"
/21 = "21s.jpg"
/22 = "22s.jpg"
/23 = "23s.jpg"
/24 = "24s.jpg"
/25 = "25s.jpg"
/26 = "26s.jpg"
/27 = "27s.jpg"
/28 = "28s.jpg"
/29 = "29s.jpg"
/30 = "30s.jpg"
/31 = "31s.jpg"
/32 = "32s.jpg"
/33 = "33s.jpg"
/34 = "34s.jpg"
/35 = "35s.jpg"
/36 = "36s.jpg"
/37 = "37s.jpg"
/38 = "38s.jpg"
/39 = "39s.jpg"
/40 = "40s.jpg"
/41 = "41s.jpg"
/42 = "42s.jpg"
/43 = "43s.jpg"
/44 = "44s.jpg"
/45 = "45s.jpg"
/46 = "46s.jpg"
/47 = "47s.jpg"
/48 = "48s.jpg"
/49 = "49s.jpg"
/50 = "50s.jpg"
</item>

<item unsustainable>
/1 = "1u.jpg"
/2 = "2u.jpg"
/3 = "3u.jpg"
/4 = "4u.jpg"
/5 = "5u.jpg"
/6 = "6u.jpg"
/7 = "7u.jpg"
/8 = "8u.jpg"
/9 = "9u.jpg"
/10 = "10u.jpg"
/11 = "11u.jpg"
/12 = "12u.jpg"
/13 = "13u.jpg"
/14 = "14u.jpg"
/15 = "15u.jpg"
/16 = "16u.jpg"
/17 = "17u.jpg"
/18 = "18u.jpg"
/19 = "19u.jpg"
/20 = "20u.jpg"
/21 = "21u.jpg"
/22 = "22u.jpg"
/23 = "23u.jpg"
/24 = "24u.jpg"
/25 = "25u.jpg"
/26 = "26u.jpg"
/27 = "27u.jpg"
/28 = "28u.jpg"
/29 = "29u.jpg"
/30 = "30u.jpg"
/31 = "31u.jpg"
/32 = "32u.jpg"
/33 = "33u.jpg"
/34 = "34u.jpg"
/35 = "35u.jpg"
/36 = "36u.jpg"
/37 = "37u.jpg"
/38 = "38u.jpg"
/39 = "39u.jpg"
/40 = "40u.jpg"
/41 = "41u.jpg"
/42 = "42u.jpg"
/43 = "43u.jpg"
/44 = "44u.jpg"
/45 = "45u.jpg"
/46 = "46u.jpg"
/47 = "47u.jpg"
/48 = "48u.jpg"
/49 = "49u.jpg"
/50 = "50u.jpg"
</item>
By Dave - 11/27/2019

Amarins - 11/27/2019
Hi all,

In my study I have 10 blocks (with 5 trials) each and in between each block a question (agency) is asked. I want to present a total of 50 matched picture-stimuli and I don’t want the pictures to become replaced between blocks (each participant should see each pair of pictures once). However, I only can specify a no-replace argument to ensure that the pictures don’t get replaced WITHIN each block. How can I make sure that the pictures don’t get replaced ACROSS all blocks? I already tried / resetinterval = 0, but this only works within blocks. Can anyone help me?

Thanks a lot!

Below you can find my code:

<expt control>
/ blocks = [1 = ID, labelinfo; 2 = B1_products_ct; 3 = agency1_ct; 4 = B2_products_ct; 5 = agency2_ct; 6 = B3_products_ct; 7 = agency3_ct;  8 = B4_products_ct; 9 = agency4_ct; 10 = B5_products_ct; 11 = agency5_ct; 12 = B6_products_ct; 13 = agency6_ct; 14 = B7_products_ct;  15 = agency7_ct; 16 = B8_products_ct; 17 = agency8_ct; 18 = B9_products_ct; 19 = agency9_ct; 20 = B10_products_ct; 21 = agency10_ct]
</expt>

<block B1_products_ct>
/ preinstructions = (block_instructions_part2)
/ trials = [1-5 = noreplace(sus_left_ct, sus_right_ct)]
</block>

<block B2_products_ct>
/ trials = [1-5 = noreplace(sus_left_ct, sus_right_ct)]
</block>

<block B3_products_ct>
/ trials = [1-5 = noreplace(sus_left_ct, sus_right_ct)]
</block>

*etc. for all 10 product-blocks this is the same*

<block agency1_ct>
/ trials = [1 = agency]
</block>

<block agency2_ct>
/ trials = [1 = agency]
</block>

<block agency3_ct>
/ trials = [1 = agency]
</block>

*etc. for all 10 agency-blocks this is the same*

<trial sus_left_ct>
/ stimulustimes = [1 = product_susleft, product_unsright]
</trial>

<trial sus_right_ct>
/ stimulustimes = [1 = product_susright, product_unsleft]
</trial>

<picture product_susleft>
/ items = sustainable
/ size = (50%, 50%)
/ position = (25, 40)
/ resetinterval = 0
</picture>

<picture product_unsright>
/ items = unsustainable
/ select = current(product_susleft)
/ size = (50%, 50%)
/ position = (75, 40)
/ resetinterval = 0
</picture>

<picture product_susright>
/ items = sustainable
/ size = (50%, 50%)
/ position = (75, 40)
/ resetinterval = 0
</picture>

<picture product_unsleft>
/ items = unsustainable
/ select = current(product_susright)
/ size = (50%, 50%)
/ position = (25, 40)
/ resetinterval = 0
</picture>

<item sustainable>
/1 = "1s.jpg"
/2 = "2s.jpg"
/3 = "3s.jpg"
/4 = "4s.jpg"
/5 = "5s.jpg"
/6 = "6s.jpg"
/7 = "7s.jpg"
/8 = "8s.jpg"
/9 = "9s.jpg"
/10 = "10s.jpg"
/11 = "11s.jpg"
/12 = "12s.jpg"
/13 = "13s.jpg"
/14 = "14s.jpg"
/15 = "15s.jpg"
/16 = "16s.jpg"
/17 = "17s.jpg"
/18 = "18s.jpg"
/19 = "19s.jpg"
/20 = "20s.jpg"
/21 = "21s.jpg"
/22 = "22s.jpg"
/23 = "23s.jpg"
/24 = "24s.jpg"
/25 = "25s.jpg"
/26 = "26s.jpg"
/27 = "27s.jpg"
/28 = "28s.jpg"
/29 = "29s.jpg"
/30 = "30s.jpg"
/31 = "31s.jpg"
/32 = "32s.jpg"
/33 = "33s.jpg"
/34 = "34s.jpg"
/35 = "35s.jpg"
/36 = "36s.jpg"
/37 = "37s.jpg"
/38 = "38s.jpg"
/39 = "39s.jpg"
/40 = "40s.jpg"
/41 = "41s.jpg"
/42 = "42s.jpg"
/43 = "43s.jpg"
/44 = "44s.jpg"
/45 = "45s.jpg"
/46 = "46s.jpg"
/47 = "47s.jpg"
/48 = "48s.jpg"
/49 = "49s.jpg"
/50 = "50s.jpg"
</item>

<item unsustainable>
/1 = "1u.jpg"
/2 = "2u.jpg"
/3 = "3u.jpg"
/4 = "4u.jpg"
/5 = "5u.jpg"
/6 = "6u.jpg"
/7 = "7u.jpg"
/8 = "8u.jpg"
/9 = "9u.jpg"
/10 = "10u.jpg"
/11 = "11u.jpg"
/12 = "12u.jpg"
/13 = "13u.jpg"
/14 = "14u.jpg"
/15 = "15u.jpg"
/16 = "16u.jpg"
/17 = "17u.jpg"
/18 = "18u.jpg"
/19 = "19u.jpg"
/20 = "20u.jpg"
/21 = "21u.jpg"
/22 = "22u.jpg"
/23 = "23u.jpg"
/24 = "24u.jpg"
/25 = "25u.jpg"
/26 = "26u.jpg"
/27 = "27u.jpg"
/28 = "28u.jpg"
/29 = "29u.jpg"
/30 = "30u.jpg"
/31 = "31u.jpg"
/32 = "32u.jpg"
/33 = "33u.jpg"
/34 = "34u.jpg"
/35 = "35u.jpg"
/36 = "36u.jpg"
/37 = "37u.jpg"
/38 = "38u.jpg"
/39 = "39u.jpg"
/40 = "40u.jpg"
/41 = "41u.jpg"
/42 = "42u.jpg"
/43 = "43u.jpg"
/44 = "44u.jpg"
/45 = "45u.jpg"
/46 = "46u.jpg"
/47 = "47u.jpg"
/48 = "48u.jpg"
/49 = "49u.jpg"
/50 = "50u.jpg"
</item>

/resetinterval works exactly as it should. The problem is elsewhere.

<picture product_susleft>
/ items = sustainable
/ size = (50%, 50%)
/ position = (25, 40)
/ resetinterval = 0
</picture>

and

<picture product_susright>
/ items = sustainable
/ size = (50%, 50%)
/ position = (75, 40)
/ resetinterval = 0
</picture>

are independent of each other. Each samples from the full set of 50 pictures. If item #10 is sampled by <picture product_susleft>, item #10 is not removed from <picture product_susright>'s pool of available items.

If you need to have a single, common selection pool for the two <picture> elements, you need to set up a <list>:

<list allitems>
/ poolsize = 50
/ resetinterval = 0
</list>

with

<picture product_susleft>
/ items = sustainable
/ size = (50%, 50%)
/ position = (25, 40)
/ select = list.allitems.nextindex
</picture>

and

<picture product_susright>
/ items = sustainable
/ size = (50%, 50%)
/ position = (75, 40)
/ select = list.allitems.nextindex
</picture>
By Amarins - 11/27/2019

Dave - 11/27/2019
Amarins - 11/27/2019
Hi all,

In my study I have 10 blocks (with 5 trials) each and in between each block a question (agency) is asked. I want to present a total of 50 matched picture-stimuli and I don’t want the pictures to become replaced between blocks (each participant should see each pair of pictures once). However, I only can specify a no-replace argument to ensure that the pictures don’t get replaced WITHIN each block. How can I make sure that the pictures don’t get replaced ACROSS all blocks? I already tried / resetinterval = 0, but this only works within blocks. Can anyone help me?

Thanks a lot!

Below you can find my code:

<expt control>
/ blocks = [1 = ID, labelinfo; 2 = B1_products_ct; 3 = agency1_ct; 4 = B2_products_ct; 5 = agency2_ct; 6 = B3_products_ct; 7 = agency3_ct;  8 = B4_products_ct; 9 = agency4_ct; 10 = B5_products_ct; 11 = agency5_ct; 12 = B6_products_ct; 13 = agency6_ct; 14 = B7_products_ct;  15 = agency7_ct; 16 = B8_products_ct; 17 = agency8_ct; 18 = B9_products_ct; 19 = agency9_ct; 20 = B10_products_ct; 21 = agency10_ct]
</expt>

<block B1_products_ct>
/ preinstructions = (block_instructions_part2)
/ trials = [1-5 = noreplace(sus_left_ct, sus_right_ct)]
</block>

<block B2_products_ct>
/ trials = [1-5 = noreplace(sus_left_ct, sus_right_ct)]
</block>

<block B3_products_ct>
/ trials = [1-5 = noreplace(sus_left_ct, sus_right_ct)]
</block>

*etc. for all 10 product-blocks this is the same*

<block agency1_ct>
/ trials = [1 = agency]
</block>

<block agency2_ct>
/ trials = [1 = agency]
</block>

<block agency3_ct>
/ trials = [1 = agency]
</block>

*etc. for all 10 agency-blocks this is the same*

<trial sus_left_ct>
/ stimulustimes = [1 = product_susleft, product_unsright]
</trial>

<trial sus_right_ct>
/ stimulustimes = [1 = product_susright, product_unsleft]
</trial>

<picture product_susleft>
/ items = sustainable
/ size = (50%, 50%)
/ position = (25, 40)
/ resetinterval = 0
</picture>

<picture product_unsright>
/ items = unsustainable
/ select = current(product_susleft)
/ size = (50%, 50%)
/ position = (75, 40)
/ resetinterval = 0
</picture>

<picture product_susright>
/ items = sustainable
/ size = (50%, 50%)
/ position = (75, 40)
/ resetinterval = 0
</picture>

<picture product_unsleft>
/ items = unsustainable
/ select = current(product_susright)
/ size = (50%, 50%)
/ position = (25, 40)
/ resetinterval = 0
</picture>

<item sustainable>
/1 = "1s.jpg"
/2 = "2s.jpg"
/3 = "3s.jpg"
/4 = "4s.jpg"
/5 = "5s.jpg"
/6 = "6s.jpg"
/7 = "7s.jpg"
/8 = "8s.jpg"
/9 = "9s.jpg"
/10 = "10s.jpg"
/11 = "11s.jpg"
/12 = "12s.jpg"
/13 = "13s.jpg"
/14 = "14s.jpg"
/15 = "15s.jpg"
/16 = "16s.jpg"
/17 = "17s.jpg"
/18 = "18s.jpg"
/19 = "19s.jpg"
/20 = "20s.jpg"
/21 = "21s.jpg"
/22 = "22s.jpg"
/23 = "23s.jpg"
/24 = "24s.jpg"
/25 = "25s.jpg"
/26 = "26s.jpg"
/27 = "27s.jpg"
/28 = "28s.jpg"
/29 = "29s.jpg"
/30 = "30s.jpg"
/31 = "31s.jpg"
/32 = "32s.jpg"
/33 = "33s.jpg"
/34 = "34s.jpg"
/35 = "35s.jpg"
/36 = "36s.jpg"
/37 = "37s.jpg"
/38 = "38s.jpg"
/39 = "39s.jpg"
/40 = "40s.jpg"
/41 = "41s.jpg"
/42 = "42s.jpg"
/43 = "43s.jpg"
/44 = "44s.jpg"
/45 = "45s.jpg"
/46 = "46s.jpg"
/47 = "47s.jpg"
/48 = "48s.jpg"
/49 = "49s.jpg"
/50 = "50s.jpg"
</item>

<item unsustainable>
/1 = "1u.jpg"
/2 = "2u.jpg"
/3 = "3u.jpg"
/4 = "4u.jpg"
/5 = "5u.jpg"
/6 = "6u.jpg"
/7 = "7u.jpg"
/8 = "8u.jpg"
/9 = "9u.jpg"
/10 = "10u.jpg"
/11 = "11u.jpg"
/12 = "12u.jpg"
/13 = "13u.jpg"
/14 = "14u.jpg"
/15 = "15u.jpg"
/16 = "16u.jpg"
/17 = "17u.jpg"
/18 = "18u.jpg"
/19 = "19u.jpg"
/20 = "20u.jpg"
/21 = "21u.jpg"
/22 = "22u.jpg"
/23 = "23u.jpg"
/24 = "24u.jpg"
/25 = "25u.jpg"
/26 = "26u.jpg"
/27 = "27u.jpg"
/28 = "28u.jpg"
/29 = "29u.jpg"
/30 = "30u.jpg"
/31 = "31u.jpg"
/32 = "32u.jpg"
/33 = "33u.jpg"
/34 = "34u.jpg"
/35 = "35u.jpg"
/36 = "36u.jpg"
/37 = "37u.jpg"
/38 = "38u.jpg"
/39 = "39u.jpg"
/40 = "40u.jpg"
/41 = "41u.jpg"
/42 = "42u.jpg"
/43 = "43u.jpg"
/44 = "44u.jpg"
/45 = "45u.jpg"
/46 = "46u.jpg"
/47 = "47u.jpg"
/48 = "48u.jpg"
/49 = "49u.jpg"
/50 = "50u.jpg"
</item>

/resetinterval works exactly as it should. The problem is elsewhere.

<picture product_susleft>
/ items = sustainable
/ size = (50%, 50%)
/ position = (25, 40)
/ resetinterval = 0
</picture>

and

<picture product_susright>
/ items = sustainable
/ size = (50%, 50%)
/ position = (75, 40)
/ resetinterval = 0
</picture>

are independent of each other. Each samples from the full set of 50 pictures. If item #10 is sampled by <picture product_susleft>, item #10 is not removed from <picture product_susright>'s pool of available items.

If you need to have a single, common selection pool for the two <picture> elements, you need to set up a <list>:

<list allitems>
/ poolsize = 50
/ resetinterval = 0
</list>

with

<picture product_susleft>
/ items = sustainable
/ size = (50%, 50%)
/ position = (25, 40)
/ select = list.allitems.nextindex
</picture>

and

<picture product_susright>
/ items = sustainable
/ size = (50%, 50%)
/ position = (75, 40)
/ select = list.allitems.nextindex
</picture>

Thank you Dave!!