Stimulus Randomization Question


Author
Message
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: 13K, Visits: 104K

I can do that. Note that you can simply attach the script to this thread (see the 'Options' tab for upload controls). Also, please indicate clearly where you see delays (i.e., include data to illustrate the issue) and what you expect the code to do (i.e., include comments in the relevant portions of your script).


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

Still having problems with extra ms intervals. Would you be willing to look at the code via email?


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: 13K, Visits: 104K

Cleanup, stimulus erasing. You should read the help topic mentioned previously ("How to control trial duration..."), the topic for the /erase attribute as well as the "How to erase stimuli" topic. Also: It is useful to think about timing strictly in terms of (display) frames and make proper use of /pretrialpause and /posttrialpause.


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

I am getting ranges between the ~88ms to ~146ms still.


I have multiple trials for breaks in the beginning. What factors usually cause the trials to get extra ms added on?


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: 13K, Visits: 104K

So what would be the best way to eliminate the extra delay? Setting stims to erase=false?


Yes.


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

So what would be the best way to eliminate the extra delay? Setting stims to erase=false?


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: 13K, Visits: 104K

As far as I can see, the instructions trial has no fixed duration. Also, as the marker depends on the time of response submission, there is no way to predict when exactly it will occur. Once it does occur, you've specified it to last 50 ms. Presumably, you also haven't set the respective <port> or other stims to /erase=false in <trial instructions>, thus introducing a frame between trials for cleanup / stimulus erasing. In sum, you may get a variable delay of a couple of frames.


Lostcode
Lostcode
Guru (8.1K reputation)Guru (8.1K reputation)Guru (8.1K reputation)Guru (8.1K reputation)Guru (8.1K reputation)Guru (8.1K reputation)Guru (8.1K reputation)Guru (8.1K reputation)Guru (8.1K 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.


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: 13K, Visits: 104K

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 (8.1K reputation)Guru (8.1K reputation)Guru (8.1K reputation)Guru (8.1K reputation)Guru (8.1K reputation)Guru (8.1K reputation)Guru (8.1K reputation)Guru (8.1K reputation)Guru (8.1K 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.


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search