Mastering E-Prime: Meaning of all time audit measures.

David McFarlane mcfarla9 at msu.edu
Thu Feb 21 23:05:34 UTC 2013


Justine,

I should mention that using OnsetSignal... still entails some 
"gotchas" (which I go over in the course).

-- David McFarlane


At 2/21/2013 05:56 PM Thursday, David McFarlane wrote:
>Justine,
>
>No programming system can exactly control the actual onset time of 
>stimuli, due to the nature and limitations of stimulus 
>hardware.  For visual stimuli in particular, the video frame rate 
>plays one limiting role -- please see the "Critical Timing" chapter 
>in the User's Guide that came with E-Prime (and/or take my online 
>video course, see link below).
>
>If one wished merely to *know* when a visual stimulus got presented 
>(as distinct from *controlling* its onset time), one might use the 
>output of a high-speed photodector aimed at a choice spot on the 
>display.  Technically speaking, even then the time of stimulus 
>presentation to the subject depends on things such as the distance 
>from the display to the subject, the speed of light, photoreceptor 
>response rates, nerve conduction to visual cortex, etc.  So the real 
>question becomes, just how accurately do you need to control or know 
>the onset time, and can we make it "good enough"?
>
>And here we have some hope.  If you synchronize your visual stimuli 
>to start with the "vertical blank", then stimulus OnsetTime should 
>correspond very closely to when the system starts writing the 
>stimulus screen to the top of the display -- and starting with 
>EP2.0.10.182, you can even adjust this (see 
>http://www.pstnet.com/support/kb.asp?TopicID=3027 ).  Now you just 
>need to synchronize your EEG signals with the OnsetTime of your 
>stimulus.  As you have no doubt figured out, you will be hard 
>pressed to do that using WritePort.  But OnsetSignalEnabled, etc., 
>do just what you need here (please see 
>"RteRunnableInputObject.OnsetSignalEnabled" and related topics in 
>the E-Basic Help facility).  And with EP2.0.10.182 and later you may 
>accomplish the same end with the new Task Events feature, which 
>should supplant OnsetSignal..., etc.  (I show how to use 
>OnsetSignal... to output EEG signals in my online video course, and 
>hope to include coverage of Task Events in the future.)
>
>Finally, if you want to verify that your EEG triggers really are 
>synchronized with your stimuli, then you should use an oscilloscope 
>to monitor both the stimulus onset and the EEG trigger (the Black 
>Box ToolKit may may this easier).
>
>I hope that helps.
>
>-----
>David McFarlane
>E-Prime training 
>online:  http://psychology.msu.edu/Workshops_Courses/eprime.aspx
>Twitter:  @EPrimeMaster (https://twitter.com/EPrimeMaster)
>
>
>At 2/15/2013 01:47 PM Friday, justine wrote:
>>I am in the process of conducting my own timing tests (for an 
>>Eprime/NetStation experiment), and this was invaluable in trying to 
>>understand the time audit measures. I gather from this that there 
>>is no way of knowing when the stimulus was *actually* presented on 
>>the screen (given the refresh rate). I assume this means that my 
>>triggers in the EEG record could be off by whatever that screen 
>>refresh delay was. Is that correct?
>>
>>Thanks,
>>
>>Justine VanDyke
>>Postdoctoral Research Fellow
>>University of South Carolina
>>
>>On Friday, 10 September 2010 09:46:03 UTC-4, David McFarlane wrote:
>>When you look at the Logging tab on the properties page of any
>>stimulus object, you will find a host of items available for
>>logging.  Most of these are time audit data.  But what do all these
>>items mean, and what are they good for?  Chapter 3 of the E-Prime
>>User's Guide discusses time auditing to some degree, and the timing
>>diagram at Appendix E provides one way to see the relationships
>>between these items.  As an alternative, here I try to set out, in
>>order, a brief description of these items.
>>
>>First let us distinguish between timing control *settings* and time
>>audit *measures*.  The following items do not reflect any results
>>formed during the course of a stimulus but simply log the settings
>>provided by the user (e.g., you).  You may choose to have any of
>>these logged just to keep a record of settings active during the experiment:
>>- Duration:  To reiterate, this does *not* show the actual duration of
>>    the stimulus, only the setting as provided by the user.
>>- PreRelease:  Affects the TargetOffsetTime (see below).
>>- TimingMode:   Event, Cumulative, or Custom, as set by the user (see
>>    the online E-Basic Help).
>>- CustomOffsetTime:  In Custom timing mode, overrides the
>>    TargetOnsetTime (see the online E-Basic Help).
>>- CustomOnsetTime:  In Custom timing mode, overrides the
>>    TargetOffsetTime (see the online E-Basic Help).
>>
>>Now, the raw time audit measures, listed in the order in which events
>>occur during the execution of a stimulus object.  These are all time
>>stamps in milliseconds from the start of the current program run:
>>- StartTime:  Time at which E-Prime started executing the stimulus
>>    object.
>>- TargetOnsetTime:  Scheduled time at which presentation of stimulus was
>>    to begin; set automatically from GetNextTargetOnsetTime (see online
>>    E-Basic Help).
>>- OnsetTime:  Time when E-Prime actually submitted the stimulus data for
>>    presentation (e.g., proceeded to copy data to display memory or load
>>    sound buffer).  This may not coincide with when the stimulus actually
>>    got presented, e.g., if data are submitted in the middle of a display
>>    refresh cycle then they may not get presented until the next refresh.
>>- ActionTime:  According to the online E-Basic Help, time at which
>>    E-Prime completed the "critical action" of the stimulus.  The
>>    documentation remains somewhat vague about this -- perhaps "critical
>>    action" means copying data to display memory, or loading a sound or
>>    video buffer.  In my tests, ActionTime never lags more than 1 ms
>>    behind OnsetTime, so it serves practically the same purpose as
>>    OnsetTime.
>>- TargetOffsetTime:  Scheduled time at which offset actions (e.g.,
>>    clean-up, ClearAfter, StopAfter) of stimulus object were to begin,
>>    e.g., OnsetTime + Duration - PreRelease (Event timing mode), or
>>    TargetOnsetTime + Duration - PreRelease (Cumulative timing mode).
>>- OffsetTime:  Time when E-Prime actually began the offset actions of
>>    the object.  Actions may not take practical effect until next
>>    vertical blank, or until presentation of next stimulus.
>>- FinishTime:  Time when E-Prime exited from execution of the
>>    stimulus object and proceeded to execute the next section of the
>>    program (e.g., next stimulus object or inline code).  Note that
>>    *execution* of a stimulus *object* may end before *presentation* of
>>    the *stimulus* ends; this is the point of PreRelease (as well as
>>    happening as a matter of course with some stimuli such as some
>>    sounds).
>>
>>Finally, a few composite time audit measures derived from the raw
>>measures above and provided for convenience:
>>- OnsetDelay = OnsetTime - TargetOnsetTime
>>- ActionDelay = ActionTime - OnsetTime
>>- OffsetDelay = OffsetTime - TargetOffsetTime
>>- DurationError = OffsetTime + PreRelease - OnsetTime - Duration
>>
>>Note:
>>- Time audit measures include the ActionTime that follows upon
>>    OnsetTime, but no corresponding item to follow upon OffsetTime.
>>- No time audit item for time stamp of vertical blank, although many
>>    stimuli do not take full effect until just after a vertical blank.
>>
>>-- David McFarlane, Professional Faultfinder
>
>--
>You received this message because you are subscribed to the Google 
>Groups "E-Prime" group.
>To unsubscribe from this group and stop receiving emails from it, 
>send an email to e-prime+unsubscribe at googlegroups.com.
>To post to this group, send email to e-prime at googlegroups.com.
>For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups "E-Prime" group.
To unsubscribe from this group and stop receiving emails from it, send an email to e-prime+unsubscribe at googlegroups.com.
To post to this group, send email to e-prime at googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



More information about the Eprime mailing list