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

David McFarlane mcfarla9 at msu.edu
Fri Feb 22 17:51:02 UTC 2013


Slight correction -- logging of OnsetToOnsetTimes works for both 
"Standard" (i.e., base) and Professional editions of EP2.0.10.x.

-- David McFarlane


At 2/22/2013 12:42 PM Friday, David McFarlane wrote:
>Sylvain,
>
>At 2/22/2013 06:36 AM Friday, Sylvain wrote:
>>Hi David,
>>
>>I have a question regarding to pre-release and timing.
>>
>>I did a little experiment trying to get the timestamp of the onset 
>>of stim, and the offset or it.
>
>Wonderful, everyone should do these sorts of explorations (that's 
>how I figured out all this stuff).
>
>
>>It's simple basically i have :
>>
>>- Inline1: I collect t1 = Clock.ReadMillisec
>>- Then an ImageDiplay for 200 ms with a pre-realase equal to the 
>>duration of it. I log the onset of ImageDiplay and the offset of it;
>>- Inline 2: I collect t2 = Clock.ReadMillisec
>>
>>Doing that, basically I get t2-t1 almost equal to 0 modulo some 
>>refresh rates.
>>I also get ImageDiplay.OnsetTime = ImageDiplay.OffsetTime.
>
>As you should.  You might find OffsetTime slightly behind OnsetTime; 
>and under these conditions (PreRelease = Duration), you should find 
>that TargetOffsetTime = TargetOnsetTime without exception.
>
>
>>1) There's something there that I don't really understand, which 
>>timestamp should I really consider,  ImageDiplay.OnsetTime or 
>>ImageDiplay.OffsetTime?
>
>That depends entirely on what you wish to do with that timestamp.
>
>
>>2) If I understood pre-realase affect offset time, so does that mean that:
>>ImageDiplay.Duration = (ImageDiplay.OffsetTime 
>>-  ImageDiplay.OnsetTime) + pre-realase
>
>Not quite -- E-Prime can control only *Target* offset (& onset) 
>times, not actual times.  Actual offset (& onset) times are subject 
>to the limitations of the stimulus presentation hardware.  Also, I 
>would not write the relationship that way -- that makes it sound 
>like Duration derives from the other quantities, which is wrong.  As 
>I described earlier, Duration remains whatever you asked it to be, 
>so should appear only on the right side of the equals sign as it is 
>used to determine other quantities.  Thus, repeating what I wrote in 
>my earlier description of TargetOffsetTime, in the case of Event timing mode,
>
>     ImageDisplay.TargetOffsetTime = ImageDisplay.OnsetTime +
>         ImageDisplay.Duration - ImageDisplay.PreRelease
>
>Note that, in the case PreRelease = Duration (the new default 
>setting since EP2.0.10.x), we get simply
>
>     ImageDisplay.TargetOffsetTime = ImageDisplay.OnsetTime
>
>which fits your observations.  If instead we set PreRelease to 0, we find
>
>     ImageDisplay.TargetOffsetTime = ImageDisplay.OnsetTime +
>         ImageDisplay.Duration
>
>which perhaps is what you expected (and was the default for Event 
>timing mode prior to EP2.0.10.x).
>
>And just to drive the point further, OffsetTime does *not* indicate 
>the time at which *presentation* of a stimulus ends.  Rather, (for 
>most practical purposes) it indicates when *execution* of the 
>stimulus Run method ends (strictly speaking, this describes 
>FinishTime, see my earlier description for the fine distinction 
>between OffsetTime and FinishTime).
>
>Furthermore, even with PreRelease set to 0, neither Duration nor 
>(OffsetTime - OnsetTime) necessarily indicate the actual duration of 
>the stimulus.  In particular, a visual stimulus does not disappear 
>at its OffsetTime (ignoring Clear After, which has been deprecated), 
>but remains visible until replaced by another visual stimulus, so 
>actual presentation duration is
>
>     Stim2.OnsetTime - Stim1.OnsetTime
>
>and EP2.0.10.x Pro can now log those values for you 
>(http://www.pstnet.com/support/kb.asp?TopicID=718 )!
>
>
>>3) The fact that Inline2 is executed at the same time as Inline1 is 
>>particulary disturbing for me. Does that mean than Inline placed 
>>after an object could be executed while this object is still on screen?
>
>Yes, and that is exactly what we want it to do in many, many cases 
>(e.g., to handle multiple mouse actions while a visual stimulus 
>remains on the display, or to prepare the next stimulus during the 
>run of the current stimulus).  If you really want your InLine to 
>wait until the previous object completes its Duration, then set 
>PreRelease of that object to 0.
>
>Hope that helps,
>-----
>David McFarlane
>E-Prime training 
>online:  http://psychology.msu.edu/Workshops_Courses/eprime.aspx
>Twitter:  @EPrimeMaster (https://twitter.com/EPrimeMaster)
>
>
>>Thank you for any answer, I'm confused about this!
>>
>>Sylvain
>>
>>On Friday, September 10, 2010 3:46:03 PM UTC+2, 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.



More information about the Eprime mailing list