Millisecond Forums

variable stimulusframe

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

By jens - 11/15/2015

Hello,

I am programming a dot-probe experiments with three different SOAs (one block per SOA). I wonder if it is possible to use a variable for the dot-onset? This I could change from block to block. So instead of assigning a fixed number as here:

/stimulusframes = [1 = fixation; 30 = maske; 31 = aufwaermer.neg, aufwaermer.neg.dis; 33 = maske; 34 = dot.pic]
I wonder how I could use a variable such as
/stimulusframes = [1 = fixation; 30 = maske; 31 = aufwaermer.neg, aufwaermer.neg.dis; 33 = maske; values.onset = dot.pic]

At the moment, I get an error message "Missing ',' or '-' before 'values.onset'."

Thanks a lot for any help in advance. Jens
By Dave - 11/15/2015

You cannot use variables (values) in /stimulusframes. Instead you need to use the <trials> insertstimulusframe() function

<trial mytrial>
/ ontrialbegin = [trial.mytrial.insertstimulusframe(picture.dot.pic, values.onset); ]
/ ontrialend = [trial.mytrial.resetstimulusframes(); ]
/stimulusframes = [1 = fixation; 30 = maske; 31 = aufwaermer.neg, aufwaermer.neg.dis ]
...
</trial>
By jens - 11/16/2015

thanks ;-)
By jens - 11/16/2015

Hello,

one should always use the proper the example, not a simplified one ;-). It is
/stimulusframes = [ 1 = fixation; 30 = maske; 31 = tar.neg.left, dis.neg.left; 33 = maske.left, maske.right; 41 = maske; 42 = dot.pic ]

Stimulusframe 33 is the problem. The second insertstimulusframe command "overwrite" the first such that only one mask appears. Suggestion?

Best regards Jens Bölte
By Dave - 11/16/2015

> The second insertstimulusframe command "overwrite" the first such that only one mask appears.

No, provided your Inquisit installation is up to date, you can add multiple stimuli to the same frame via insertstimulusframe() without problems.

Leave frame 33 completely unspecified in /stimulusframes. Inject all the stimuli you want to appear in that frame via insertstimulusframe().

<trial mytrial>
/ ontrialbegin = [trial.mytrial.insertstimulusframe(text.x, 5); trial.mytrial.insertstimulusframe(text.y, 5); ]
/ stimulusframes = [1=a; 10=b]
/ validresponse = (57)
</trial>

<text a>
/ items = ("A")
/ hposition = 20%
</text>

<text x>
/ items = ("X")
/ hposition = 40%
</text>

<text Y>
/ items = ("Y")
/ hposition = 60%
</text>

<text b>
/ items = ("B")
/ hposition = 80%
</text>

By jens - 11/17/2015

Hello,

your are right. It is working the way you described. There must have been an error in my syntax.

Thanks a lot.

Best Jens