Millisecond Forums

stimulus timing -- continue after response

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

By sdubrow - 3/30/2016

Hello,

I'm new to Inquisit and had a question about how to keep a stimulus up for a fixed period of time while still collecting a response.

What I need is to display a sequence of images, each image for exactly 1500ms and a 500ms black interstimulus interval. At the end of the block I need to display performance feedback.

I understand setting validresponse to noresponse will prevent it from moving forward when a response is made. What I'm wondering is whether there is a way to do this such that I can still collect the response to evaluate accuracy on the fly. I played around with setting the picture erase to false but that seems to interfere with the ability to have a blank posttrial interstimulus interval. 

Any help would be much appreciated. 
By Dave - 3/30/2016

You can do something along the lines of

<block myblock>
/ trials = [1-8 = noreplace(vowel, consonant)]
</block>

<trial vowel>
/ stimulustimes = [0=vowel; 1500=blank; 2000=blank]
/ validresponse = ("v", "c")
/ correctresponse = ("v")
/ beginresponsetime = 0
/ responseinterrupt = frames
/ trialduration = 2000
</trial>

<trial consonant>
/ stimulustimes = [0=consonant; 1500=blank; 2000=blank]
/ validresponse = ("v", "c")
/ correctresponse = ("c")
/ beginresponsetime = 0
/ responseinterrupt = frames
/ trialduration = 2000
</trial>

<text vowel>
/ items = vowels
/ erase = false
</text>

<item vowels>
/ 1 = "A"
/ 2 = "E"
/ 3 = "I"
/ 4 = "O"
</item>

<text consonant>
/ items = consonants
/ erase = false
</text>

<item consonants>
/ 1 = "B"
/ 2 = "F"
/ 3 = "J"
/ 4 = "P"
</item>

<shape blank>
/ color = white
/ shape = rectangle
/ size = (100%, 100%)
/ erase = false
</shape>

(works the same with <picture> instead of <text> stimuli).

By sdubrow - 3/30/2016

Ok, thanks. Just to be clear, rather than remove the stimulus at a specified time, this method displays a blank image over that stimulus. Should I assume then that there is no way to simply remove the stimulus at a specified point within the trial such that the default reappears until the next trial? Relatedly, does this addition of images (rather than removal) increase the load on the system by increasing the images in memory or should this have no effect?
By Dave - 3/30/2016

> rather than remove the stimulus at a specified time, this method displays a blank image over that stimulus.

Yes, which is the exact same thing as removing a stimulus. For something on the screen to "disappear" it needs to be painted over with something else (here a blank shape covering the entire screen). That is *always* the case in some form or another. Objects drawn to a screen are unlike physical objects which you can, say, place on a desk and later remove from said desk.

Also see https://www.millisecond.com/support/docs/v4/html/howto/howtoerase.htm

> Relatedly, does this addition of images (rather than removal) increase the load on the system

There is no additional image and hence no additional load.
By sdubrow - 3/30/2016

Some packages allow you to write a black screen that is just the default screen. If I'm understanding correctly, here the default is just for initializing. Or can it be used to overwrite the presented stim rather than having to create an additional blank stimulus? Presumably the erase function uses the defaults? It's not a huge burden obviously to create the blank stim but I want to be clear on whether this is necessary.
By Dave - 3/31/2016

Inquisit's *default* is to erase stimuli (i.e. overwrite them; cf. the /erase attribute) at the end of a trial, which normally is when a response has occurred. This, however, is not what you want here. You want to keep stimuli on screen for a fixed period, even if a response has already occurred. There are a couple of different ways to do this, and I've outlined one in the example, specifically using the trial's /responseinterrupt attribute to keep the stimulus presentation sequence going after response and -- here -- overwrite the stimulus after the desired amount of time.

Hope this clarifies.