Eprime Newbie-- need help with inspection time

Paul Gr pauls_postbus at hotmail.com
Mon Jan 1 22:48:24 UTC 2007


hello brian,

Because the algorithm in the script works with ‘frame counts’ instead of 
absolute durations in milliseconds, you can use the test with any refresh 
rate. I only inserted the refresh rate warning at the start of the test to 
make sure our researchers always used the same display configuration of 
100Hz. Just modify the values in the inline script to get rid of the 
warning. However, be aware that higher refresh rates give a better time 
resolution. Extremely high refresh rates will be overkill though! Also be 
aware of the fact that most flat screens have poor visual response 
(onset&offset) times. (I assume that you use flat screens because the 
refresh rate seems to be fixed to 60Hz.) This will also influence the times 
you measure. Most important: do not mix different display configurations in 
the same study.

Your second question is a bit more difficult answer because I programmed the 
script quite a long time ago. However, I think you misinterpret the meaning 
of a ‘reversal’. (see below.) The number of reversals is mainly used to 
decrease the step size from 4 to 1 during the test. This makes it possible 
to start the test with a relative large step size, and reduce it when then 
the subject performs well. In most cases the step size should become 1 ‘way 
before’ the experiment finishes. In other words: the staircase algorithm 
works like a damped oscillator, where the stimulus duration oscillates 
around an ‘optimal’ value. This optimal value can be regarded as the 
shortest stimulus duration at which the subject still gives correct 
responses. I think the readme file also explains it a bit (sorry for the 
fuzzy English). Let me include a fragment of the readme file that should be 
included with the script:

Staircase algorithm used:
The stimulus duration (i.e. the number of display frames on a CRT monitor) 
is increased or decreased with a specific number (=stepsize) according to 
response accuracy. On each wrong response the number of frames is increased 
with the current stepsize-value. However, the number of frames is only 
decreased with the ‘stepsize’-value when a fixed number of consecutive 
correct responses are detected (currently set to 4.) The step size itself is 
also modified. The experiment starts with a relative large value and is 
slowly decreased to a minimal step size during the test. This is done by 
keeping a so called ‘reversal’ count. A reversal occurs when: a) the current 
frame-count is larger then the previous frame-count when a correct sequence 
of (4) responses are detected; or b) when the current frame-count is smaller 
then the previous frame-count when an incorrect response is detected. In 
other words: a reversal happens when sequence of increasing display 
durations is about to decrease, or vice versa. The number of reversals is 
used to determine the stepsize: initially the stepsize will be 4 (=40 
milliseconds at 100Hz). After 2 reversals the stepsize is reduced to 2 and 
after 4 reversals it will reach its smallest possible value of 1. This 
step-size and frame-count adaptation will take care of a slowly optimizing 
display duration for a given subject. The test will automatically abort 
after 15 reversals or 96 trials, whichever comes first. The first 3 trials 
ware considered practice or warm-up trials and have predefined frame counts.

hope this helps,
paul groot

vrije universiteit amsterdam


>From: Bpesta22 at cs.com
>To: eprime at mail.talkbank.org
>Subject: Eprime Newbie-- need help with inspection time
>Date: Wed, 27 Dec 2006 20:31:44 EST
>
>Help with inspection time.
>
>Greetings.
>
>I am interested in using the inspection time task uploaded onto the eprime
>website by Paul Groot. I'm having two problems (and I am not at all versed 
>in
>programming) that I was hoping someone here could help me with.
>
>1) The experiment is written for 100hz monitors. I only have access to
>machines with 60hz monitors. As far as I can tell from the code, it seems 
>like
>running in 60hz would be do-able, but I lack the expertise to know if the
>experiment would still produce reliable data running at 60hz.
>
>2) There's a section of the code that I cannot grasp. Briefly, in the
>inspection time task, two lines are presented, and the subject decides 
>which one is
>longer. The lines remain on screen only for a short period of time. The
>duration for the next trial changes whenever a "reversal" occurs. For 
>example, if the
>subject gets 4 right at the current duration, a reversal occurs, and the
>duration time is decreased (making the task more difficult) by a set amount 
>for
>the next trial. Conversely, if the subject gets this trial wrong, a 
>reversal
>also occurs, and now the duration time for the next trial is increased.
>
>The duration time for any trial is just the refresh interval of the monitor
>(10 ms for 100 hz, or 16.67ms for 6 hz, as with my monitor) x the number of
>frames.  For example, the first trial has 10 frames, so the stimulus 
>remains
>onscreen for 100ms (100hz) or 167ms (60hz). If the subject gets 4 right at 
>this
>duration, the number of frames is "stepped down" by 4. So, the next trial 
>would
>have 6 frames and the stimulus would last for 60ms. The step sizes decrease 
>in
>later trials to hone in on the subjects true "inspection time".
>
>When I run myself as a subject, though, the data file seems off. Sometimes
>when I do 4 right at a given duration, the number of reversals does not go 
>up by
>one (even though the next trial presents the stimulus at a shorter 
>duration).
>Other times, 4 right at a given duration does result in a reversal.
>
>The same is true with mistakes-- sometimes eprime will record the reversal,
>and the duration for the next trial will increase; other times, the 
>reversal is
>not recorded in eprime, even though the next trial does have an increased
>duration. Here's the relevant (I think!) part of the code:
>
>     if nOK>=REAVALUATE_CORRECT_COUNT then
>         ' decrease stim duration
>         nOK = 0 ' restart counting
>         if (nPrevFrameCount < nFrameCount) then nReversals = nReversals + 
>1
>         nPrevFrameCount = nFrameCount
>         nFrameCount = nFrameCount - nStepSize
>         if nFrameCount<=0 then
>             nStepSize = nStepSize \ 2
>             if nStepSize<1 then nStepSize=1
>             nFrameCount = nStepSize
>         end if
>
>The fourth line makes no sense to me. I have 4 correct trials in a row, so 
>I
>should get a reversal (the next trial should present the two lines at a
>shorter duration). But how is it that the previous frame count could be 
>less than
>the current frame count. Shouldn't it be the opposite (the previous frame 
>count
>was higher-- the lines were displayed longer-- than the frame count for the
>current trial).
>
>Sorry for the length of this post, perhaps I should stop here. If anyone
>could help, I would sincerely appreciate it.
>
>Bryan
>

_________________________________________________________________
Geef jouw Hotmail kleur met Windows Live Mail! Stap nu over! 
http://imagine-windowslive.com/mail/launch/default.aspx?Locale=nl-nl



More information about the Eprime mailing list