[visionegg] Questions re: experiment with sequenced stimuli and multiple trials

  • From: Doug Morse <morse@xxxxxxxxx>
  • To: visionegg@xxxxxxxxxxxxx
  • Date: Thu, 7 Feb 2008 14:30:11 -0600

Hello Vision Eggers,

I have a few questions about how to "best" create an experiment in Vision Egg
(VE).  Specifically, I'm implementing a motion object tracking task (MOT)
wherein participants will be presented a number of target and distractor
"balls" (circles in 2D, really).  Initially, different colors will be used to
distinguish the targets from distractors.  Then, all the balls will turn to
the color white and start moving randomly around the viewport, bouncing off
the viewport edges and each other.  After about 30 seconds of this, all the
balls will disappear except one and the participant will be prompted to
indicate whether the remaining ball is a target or distractor.

That said, my questions are pretty general, but I wanted to provide some
details as background...

1. What are the advantages, if any, of creating custom control for stimuli
instead of using FunctionControllers and function callbacks?  Since I'll
probably make public the MOT stimulus code, I feel I should implement the
experiment in the most "VisionEggic" way possible.  Is using
FunctionControllers considered preferred?  If so, why?

2. A single trial involves several stages: 5s fixation point, 5s showing
targets and distractors, 30s motion, and then indefinite time presenting one
target or distractor and waiting for a user response.

(a) Should I create one stimulus class that does all of these stages, or

(b) Should I create several stimulus classes -- such as FixationPoint, MOTCue,
MOTMotion, MOTResponse -- and add them all to the viewport in the proper
order?  It's important to me that the VE screen not close and reopen, or
otherwise disappear, delay, or flicker between the stimulus stages, if that's
relevant to deciding between 2(a) and 2(b).

3. (My most important question:) How to I control for precise timing of my
stimulus presentation (especially if I go with 2(b) over 2(a))?  Do I need to
instantiate and run my own timers (if so, how so?), or can I use the
FrameTimer?  I'm somewhat confused by Vision Egg's documentation for
FrameTimer, as it indicates that the callback functions will receive a
parameter "t", but it's not clear to me if "t" is elapsed time or number of
frames presented thus far -- and if it's for elapsed time, if it's elapsed
time from the beginning of the "go" loop or from the beginning of the last
stimulus (i.e., in the case of using a sequence of stimuli as per 2(b)).  In
summary, then, I guess my question is: What's the best / preferred way to
control the timing of a sequence of stimuli when more than one stimulus is
used for a particular trial?

4. Finally, is there a particular or preferred way of managing multiple trials
within VE?  All of the demos and examples I have seen only run one trial, so
any recommendations / pointers / examples that anyone might have re: managing
multiple trials would be most appreciated.  In particular, I'll be using the
Quest procedure to adjust adaptively the motion speed and number of targets
and distractors.

Any and all suggestions MOST appreciated!

Cheers,
Doug
======================================
The Vision Egg mailing list
Archives: //www.freelists.org/archives/visionegg
Website: http://www.visionegg.org/mailinglist.html

Other related posts: