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