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

Sylvain symadec at gmail.com
Sun Feb 24 14:49:10 UTC 2013


David and Scott,

Thank you for your answers. I need to be reassured. When doing EEG 
experiment, I always run an inline before the object I want to trigger(maybe 
I could even do that at the top of the procedure I guess). Let's call this 
object StimEEGa,d the trigger 50.
What I always did was an inline like:

StimEEG.OnsetSignalEnabled = True
StimEEG.OnsetSignalPort = &H378
StimEEG.OnsetSignalData = 50

StimEEG.OffsetSignalEnabled = True
StimEEG.OffsetSignalPort = &H378
StimEEG.OffsetSignalData = 50

If I understand correctly This inline tell "wait for the object StimEEG to 
run and send the signal'. By running I mean waiting for StimEEG to be drawn 
on the screen right, independantly of any pre-release ? On the e-prime 
side, does this correspond to StimEEG.OnsetTime?

Thank you,

Sylvain

On Friday, February 22, 2013 6:42:29 PM UTC+1, McFarlane, David 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+u... at googlegroups.com <javascript:>. 
> >To post to this group, send email to e-p... at googlegroups.com<javascript:>. 
>
> >To view this discussion on the web visit 
> ><https://groups.google.com/d/msg/e-prime/-/eFwpjTnxC2kJ>
> https://groups.google.com/d/msg/e-prime/-/eFwpjTnxC2kJ. 
> >For more options, visit 
> ><https://groups.google.com/groups/opt_out>
> 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.
To view this discussion on the web visit https://groups.google.com/d/msg/e-prime/-/t_JN6la2f0MJ.
For more options, visit https://groups.google.com/groups/opt_out.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.linguistlist.org/pipermail/eprime/attachments/20130224/ff20b974/attachment.htm>


More information about the Eprime mailing list