Stimulus Randomization Question


Author
Message
Lostcode
Lostcode
Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)
Group: Forum Members
Posts: 29, Visits: 1

I have two stimuli that need to be displayed 250 times in total.


Image 1 = 48 times


Image 2 = 202 times


They must be randomized though.


Anyway to tell the block to do this?


Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K

Yes, selection at the <block> level works according to the proportions given. See the examples in the documentation for the /trials attribute for details. One short example here (many more can be found by searching the forum):


/ trials = [1-10 = noreplace(a,a,b,b,b)]


will result in 4 'a' trials and 6 'b' trials in random order.


Another option is to use a <list> element for trial selection in the respective <block>s' /trials attribute. The desired trial-ratio can be specified via the <list>'s /itemprobabilities.


Lostcode
Lostcode
Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)
Group: Forum Members
Posts: 29, Visits: 1

I am having a 100ms gap between the instructions and the beginning of a blank screen.


The instructions end when 0 key is pressed.
I need it to be instant.


Lostcode
Lostcode
Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)
Group: Forum Members
Posts: 29, Visits: 1

Looking through my code I do not see what the cause could be. It's just a random gap of ~100ms between marker data.


Lostcode
Lostcode
Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)
Group: Forum Members
Posts: 29, Visits: 1

Does Inquisit put an automatic 50ms gap between stimulus???


Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K

Sorry, I'm not following. (a) What's the relation to the trial-ratio question in this thread and (b) how would anyone know what code you are referring to (I don't see any of that posted)? Can you clarify? Otherwise I can't help here.


Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K


Does Inquisit put an automatic 50ms gap between stimulus???



vg


No. But you may be mistaken about how trial timings work / the interplay between the various components. For that, see the "How to Control Trial Duration and Inter-Trial Intervals" topic in the docs.


Lostcode
Lostcode
Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)
Group: Forum Members
Posts: 29, Visits: 1

Here is the trials and blocks:

<trial instructions>
/ stimulustimes = [1=instructions]
/ validresponse = ("0")
/ errormessage = false
/ recorddata = false
/ responsemessage = ("0", tPort, 50)
</trial>



<trial break>
/ stimulustimes    = [1=blank, bPort; 50=zeroPort]
/ trialduration = values.break
/ errormessage = false
/ recorddata = false
</trial>


<trial warnsound>
/ stimulustimes = [0=warnsound]
/ trialduration = 500
/ errormessage = false
/ recorddata = false
</trial>



<block instructions>
/ screencolor = (0, 0, 0)
/ trials = [1=instructions]
</block>

<block warning>
/ onblockbegin = [values.break=200]
/ screencolor = (0, 0, 0)
/ trials = [1=break; 2=warnsound; 3=break; 4=warnsound; 5=break; 6=warnsound]
</block>



When I run this there is a gap of 100ms between Instructions and the first break in warning block.


Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K

And why is that a problem? Also, why are you running the instructions trial in a separate block? Note that there'll be at least a single frame between <block>s for cleanup.


Lostcode
Lostcode
Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)Guru (7.9K reputation)
Group: Forum Members
Posts: 29, Visits: 1

Whoops. Put it in there. But there is still a delay of about ~88ms from beginning of instruction marker to the beginning of the break marker.


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search