Millisecond Forums

Noreplace does not/will not work for item selection?

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

By AndresR - 12/30/2016

Hello!

I am trying to run a ST-SB-IAT and I want one block to run each trial once (8 trials) and each trial has 6 items. I want each trial and each item run once, so I've used the noreplace command (?) in both the picture element and in the block element.

Block structure:
<block measureSC>
 /trials=            [1-48=noreplacenorepeat(targAhi, targAlo, targBhi, targBlo, SCattrAhi, SCattrAlo, SCattrAhi, SCattrAlo)]
 /bgstim=            (label_targA,label_targB, label_SCattrAhi, label_SCattrAlo, divider)
 /preinstructions=    (measureSC)
 /responsemode =     correct
 /onblockend =         [values.SCd = expressions.d]
</block>

Picture element structure:
<picture SCattrAhi> /items = SCattrA /select = noreplacenorepeat /resetinterval = 0 /position = (50, values.posHI) /size = (20%, 20%) </picture>
<picture SCattrAlo> /items = SCattrA /select = noreplacenorepeat /resetinterval = 0 /position = (50, values.posLO) /size = (20%, 20%) </picture>
<picture targAhi> /items = targA /select = noreplacenorepeat /resetinterval = 0 /position = (50, values.posHI) /size = (20%, 20%) </picture>
<picture targAlo> /items = targA /select = noreplacenorepeat /resetinterval = 0 /position = (50, values.posLO) /size = (20%, 20%) </picture>
<picture targBhi> /items = targB /select = noreplacenorepeat /resetinterval = 0 /position = (50, values.posHI) /size = (20%, 20%) </picture>
<picture targBlo> /items = targB /select = noreplacenorepeat /resetinterval = 0 /position = (50, values.posLO) /size = (20%, 20%) </picture>

I know that the SCattr trials are in there twice - that's supposed to be like that. I want every picture in the items list to be presented like this: SCattrAhi x2; SCattrAlo x2, targAhi x1; targAlo x1; targBhi x1; targBlo x1.

What am I doing wrong? I've scavenged through the threads on this forum that mention these topics but none of the fixes have helped me so far.
By AndresR - 12/30/2016

I couldn't figure out how to edit the first post so I'll add the info I forgot.

I want every picture in the items list to be presented like this: SCattrAhi x2; SCattrAlo x2, targAhi x1; targAlo x1; targBhi x1; targBlo x1. Instead some SCattrA pictures are presented 5 times, instead of 4, in turn, some are presented 3 times. I need each picture to be presented an equal number of times.
By Dave - 1/1/2017

AndresR - Saturday, December 31, 2016
I couldn't figure out how to edit the first post so I'll add the info I forgot.

I want every picture in the items list to be presented like this: SCattrAhi x2; SCattrAlo x2, targAhi x1; targAlo x1; targBhi x1; targBlo x1. Instead some SCattrA pictures are presented 5 times, instead of 4, in turn, some are presented 3 times. I need each picture to be presented an equal number of times.

 /trials=            [1-48=noreplacenorepeat(targAhi, targAlo, targBhi, targBlo, SCattrAhi, SCattrAlo, SCattrAhi, SCattrAlo)]

What this does is run
6 targAhi trials,
6 targAlo trials,
6 targBhi trials,
6 targBlo trials,
12 SCattrAhi trials, and
12 SCattrAlo trials.

Item selection is a different matter; this would be determined by the respective <picture> elements' /select attributes.

Try explicitly resetting the <picture> elements' selection /onblockbegin:

<block measureSC>
/ onblockbegin = [picture.SCattrAhi.resetselection(); picture.SCattrAlo.resetselection(); ...]
...
</block>

Also make sure that the <trial> elements actually display the correct <picture> elements, i.e., <trial SCattrAhi> should display <picture SCattrAhi>

<trial SCattrAhi>
/ stimulusframes = [1=SCattrAhi]
...
</trial>

and so forth.