Millisecond Forums

Not able to get the same number of repetitions across stimuli

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

By IwonaIwona - 12/18/2016

I have 3 types of trials and 6 different images assigned to each of them. I would like to show each image 5 times across the experiment, but the script shows the images random number of times between 4 and 6. I have correct number of trials of each type within the experiment (30), but am not able to get the same number of repetitions of each image within each trial type. I have tried noreplacenorepeat, counters and resetinterval but this doesn't work.
Below the adequate (I hope) fragments of the code:

<picture McD>
/ items = McD_target
/ size = (32%, 32%)
/ select = noreplacenorepeat
</picture>

<item McD_target>
/1 = "McD_Logo.jpg"
/2 = "McD_Color.jpg"
/3 = "McD_Slogan.jpg"
/4 = "McD_Ronald.jpg"
/5 = "McD_FrenchFries.jpg"
/6 = "McD_Coffee.jpg"
</item>

<picture BK>
/ items = BK_target
/ size = (32%, 32%)
/ select = noreplacenorepeat
</picture>

<item BK_target>
/1 = "BK_Logo.jpg"
/2 = "BK_Color.jpg"
/3 = "BK_Slogan.jpg"
/4 = "BK_Mascot.jpg"
/5 = "BK_Whopper.jpg"
/6 = "BK_Crown.jpg"
</item>

<picture Wendy>
/ items = Wendy_target
/ size = (32%, 32%)
/ select = noreplacenorepeat
</picture>

<item Wendy_target>
/1 = "Wendy_Logo.jpg"
/2 = "Wendy_Color.jpg"
/3 = "Wendy_Slogan.jpg"
/4 = "Wendy_Frosty.jpg"
/5 = "Wendy_Burger.jpg"
/6 = "Wendy_DaveThomas.jpg"
</item>

<counter McD>
/ items = ("McD_LogoDebranded.jpg", "McD_Color.jpg", "McD_SloganDebranded.jpg", "McD_RonaldDebranded.jpg", "McD_FrenchFriesDebranded.jpg", "McD_CoffeeDebranded.jpg")
/ select = noreplacenorepeat
/ resetinterval = 0
</counter>

<counter BK>
/ items = ("BK_LogoDebranded.jpg", "BK_Color.jpg", "BK_SloganDebranded.jpg", "BK_MascotDebranded.jpg", "BK_Whopper.jpg", "BK_CrownDebranded.jpg")
/ select = noreplacenorepeat
/ resetinterval = 0
</counter>

<counter Wendy>
/ items = ("Wendy_LogoDebranded.jpg", "Wendy_Color.jpg", "Wendy_SloganDebranded.jpg", "Wendy_FrostyDebranded.jpg", "Wendy_Burger.jpg", "Wendy_DaveThomasDebranded.jpg")
/ select = noreplacenorepeat
/ resetinterval = 0
</counter>

<trial McD>
/ pretrialpause = 200
/ stimulustimes = [1=McD, McD_reminder, BK_reminder, Wendy_reminder, none_reminder]
/ correctresponse = ("d")
/ validresponse = ("d", "f", "j", "k")
/ errormessage = true(x, 400)
</trial>

<trial BK>
/ pretrialpause = 200
/ stimulustimes = [1=BK, McD_reminder, BK_reminder, Wendy_reminder, none_reminder]
/ correctresponse = ("f")
/ validresponse = ("d", "f", "j", "k")
/ errormessage = true(x, 400)
</trial>

<trial Wendy>
/ pretrialpause = 200
/ stimulustimes = [1=Wendy, McD_reminder, BK_reminder, Wendy_reminder, none_reminder]
/ correctresponse = ("j")
/ validresponse = ("d", "f", "j", "k")
/ errormessage = true(x, 400)
</trial>

<block attribute>
/ trials = [1-90 = noreplace(McD, BK, Wendy); 91=instructions]
</block>
By Dave - 12/19/2016

IwonaIwona - Monday, December 19, 2016
I have 3 types of trials and 6 different images assigned to each of them. I would like to show each image 5 times across the experiment, but the script shows the images random number of times between 4 and 6. I have correct number of trials of each type within the experiment (30), but am not able to get the same number of repetitions of each image within each trial type. I have tried noreplacenorepeat, counters and resetinterval but this doesn't work.
Below the adequate (I hope) fragments of the code:

<picture McD>
/ items = McD_target
/ size = (32%, 32%)
/ select = noreplacenorepeat
</picture>

<item McD_target>
/1 = "McD_Logo.jpg"
/2 = "McD_Color.jpg"
/3 = "McD_Slogan.jpg"
/4 = "McD_Ronald.jpg"
/5 = "McD_FrenchFries.jpg"
/6 = "McD_Coffee.jpg"
</item>

<picture BK>
/ items = BK_target
/ size = (32%, 32%)
/ select = noreplacenorepeat
</picture>

<item BK_target>
/1 = "BK_Logo.jpg"
/2 = "BK_Color.jpg"
/3 = "BK_Slogan.jpg"
/4 = "BK_Mascot.jpg"
/5 = "BK_Whopper.jpg"
/6 = "BK_Crown.jpg"
</item>

<picture Wendy>
/ items = Wendy_target
/ size = (32%, 32%)
/ select = noreplacenorepeat
</picture>

<item Wendy_target>
/1 = "Wendy_Logo.jpg"
/2 = "Wendy_Color.jpg"
/3 = "Wendy_Slogan.jpg"
/4 = "Wendy_Frosty.jpg"
/5 = "Wendy_Burger.jpg"
/6 = "Wendy_DaveThomas.jpg"
</item>

<counter McD>
/ items = ("McD_LogoDebranded.jpg", "McD_Color.jpg", "McD_SloganDebranded.jpg", "McD_RonaldDebranded.jpg", "McD_FrenchFriesDebranded.jpg", "McD_CoffeeDebranded.jpg")
/ select = noreplacenorepeat
/ resetinterval = 0
</counter>

<counter BK>
/ items = ("BK_LogoDebranded.jpg", "BK_Color.jpg", "BK_SloganDebranded.jpg", "BK_MascotDebranded.jpg", "BK_Whopper.jpg", "BK_CrownDebranded.jpg")
/ select = noreplacenorepeat
/ resetinterval = 0
</counter>

<counter Wendy>
/ items = ("Wendy_LogoDebranded.jpg", "Wendy_Color.jpg", "Wendy_SloganDebranded.jpg", "Wendy_FrostyDebranded.jpg", "Wendy_Burger.jpg", "Wendy_DaveThomasDebranded.jpg")
/ select = noreplacenorepeat
/ resetinterval = 0
</counter>

<trial McD>
/ pretrialpause = 200
/ stimulustimes = [1=McD, McD_reminder, BK_reminder, Wendy_reminder, none_reminder]
/ correctresponse = ("d")
/ validresponse = ("d", "f", "j", "k")
/ errormessage = true(x, 400)
</trial>

<trial BK>
/ pretrialpause = 200
/ stimulustimes = [1=BK, McD_reminder, BK_reminder, Wendy_reminder, none_reminder]
/ correctresponse = ("f")
/ validresponse = ("d", "f", "j", "k")
/ errormessage = true(x, 400)
</trial>

<trial Wendy>
/ pretrialpause = 200
/ stimulustimes = [1=Wendy, McD_reminder, BK_reminder, Wendy_reminder, none_reminder]
/ correctresponse = ("j")
/ validresponse = ("d", "f", "j", "k")
/ errormessage = true(x, 400)
</trial>

<block attribute>
/ trials = [1-90 = noreplace(McD, BK, Wendy); 91=instructions]
</block>

I am unable to reproduce this with just the code fragment. Running only that block results in each image being shown exactly 5 times for me (i.e., as intended). In the full script, are there any other <block>s running trials that display the same three <picture> elements? If so, try resetting the respective <picture> elements' selection pool explicitly /onblockbegin:

<block attribute>
/ onblockbegin = [
    picture.BK.resetselection();
    picture.McD.resetselection();
    picture.Wendy.resetselection();
]

/ trials = [1-90 = noreplace(McD, BK, Wendy); 91=instructions]
</block>

Hope this helps.
By IwonaIwona - 12/19/2016

Dave - Monday, December 19, 2016
IwonaIwona - Monday, December 19, 2016
I have 3 types of trials and 6 different images assigned to each of them. I would like to show each image 5 times across the experiment, but the script shows the images random number of times between 4 and 6. I have correct number of trials of each type within the experiment (30), but am not able to get the same number of repetitions of each image within each trial type. I have tried noreplacenorepeat, counters and resetinterval but this doesn't work.
Below the adequate (I hope) fragments of the code:

<picture McD>
/ items = McD_target
/ size = (32%, 32%)
/ select = noreplacenorepeat
</picture>

<item McD_target>
/1 = "McD_Logo.jpg"
/2 = "McD_Color.jpg"
/3 = "McD_Slogan.jpg"
/4 = "McD_Ronald.jpg"
/5 = "McD_FrenchFries.jpg"
/6 = "McD_Coffee.jpg"
</item>

<picture BK>
/ items = BK_target
/ size = (32%, 32%)
/ select = noreplacenorepeat
</picture>

<item BK_target>
/1 = "BK_Logo.jpg"
/2 = "BK_Color.jpg"
/3 = "BK_Slogan.jpg"
/4 = "BK_Mascot.jpg"
/5 = "BK_Whopper.jpg"
/6 = "BK_Crown.jpg"
</item>

<picture Wendy>
/ items = Wendy_target
/ size = (32%, 32%)
/ select = noreplacenorepeat
</picture>

<item Wendy_target>
/1 = "Wendy_Logo.jpg"
/2 = "Wendy_Color.jpg"
/3 = "Wendy_Slogan.jpg"
/4 = "Wendy_Frosty.jpg"
/5 = "Wendy_Burger.jpg"
/6 = "Wendy_DaveThomas.jpg"
</item>

<counter McD>
/ items = ("McD_LogoDebranded.jpg", "McD_Color.jpg", "McD_SloganDebranded.jpg", "McD_RonaldDebranded.jpg", "McD_FrenchFriesDebranded.jpg", "McD_CoffeeDebranded.jpg")
/ select = noreplacenorepeat
/ resetinterval = 0
</counter>

<counter BK>
/ items = ("BK_LogoDebranded.jpg", "BK_Color.jpg", "BK_SloganDebranded.jpg", "BK_MascotDebranded.jpg", "BK_Whopper.jpg", "BK_CrownDebranded.jpg")
/ select = noreplacenorepeat
/ resetinterval = 0
</counter>

<counter Wendy>
/ items = ("Wendy_LogoDebranded.jpg", "Wendy_Color.jpg", "Wendy_SloganDebranded.jpg", "Wendy_FrostyDebranded.jpg", "Wendy_Burger.jpg", "Wendy_DaveThomasDebranded.jpg")
/ select = noreplacenorepeat
/ resetinterval = 0
</counter>

<trial McD>
/ pretrialpause = 200
/ stimulustimes = [1=McD, McD_reminder, BK_reminder, Wendy_reminder, none_reminder]
/ correctresponse = ("d")
/ validresponse = ("d", "f", "j", "k")
/ errormessage = true(x, 400)
</trial>

<trial BK>
/ pretrialpause = 200
/ stimulustimes = [1=BK, McD_reminder, BK_reminder, Wendy_reminder, none_reminder]
/ correctresponse = ("f")
/ validresponse = ("d", "f", "j", "k")
/ errormessage = true(x, 400)
</trial>

<trial Wendy>
/ pretrialpause = 200
/ stimulustimes = [1=Wendy, McD_reminder, BK_reminder, Wendy_reminder, none_reminder]
/ correctresponse = ("j")
/ validresponse = ("d", "f", "j", "k")
/ errormessage = true(x, 400)
</trial>

<block attribute>
/ trials = [1-90 = noreplace(McD, BK, Wendy); 91=instructions]
</block>

I am unable to reproduce this with just the code fragment. Running only that block results in each image being shown exactly 5 times for me (i.e., as intended). In the full script, are there any other <block>s running trials that display the same three <picture> elements? If so, try resetting the respective <picture> elements' selection pool explicitly /onblockbegin:

<block attribute>
/ onblockbegin = [
    picture.BK.resetselection();
    picture.McD.resetselection();
    picture.Wendy.resetselection();
]

/ trials = [1-90 = noreplace(McD, BK, Wendy); 91=instructions]
</block>

Hope this helps.

Hi Dave,

Thanks a lot - this was exactly the issue; resetselection has resolved the problem.
Thanks once more!