Design that loops a visual discrimination task while waiting for keyboard input?

149 views
Skip to first unread message

Colton Perry

unread,
Nov 21, 2013, 2:10:54 PM11/21/13
to e-p...@googlegroups.com
Hi all, I hope this isn't something I could have easily figured out by a good Google search, I just haven't been able to find the correct search terms to get what I'm going for here. 

I'm trying to implement a design that's a bit beyond my understanding (most of my experience with e-prime has been mostly pretty straight-forward linear presentation stuff). To boil it down to a single trial, I'd like to present a simple visual search/discrimination task alongside a set of verbal instructions. So for example, at the onset of a trial, a text display would appear providing instructions for a primary task to be performed outside of e-prime (these tasks are performed on a motorcycle infotainment system). A short time after the onset of those instructions, the visual discrimination task would begin. So, leaving the instructions on the display, a letter would appear. If this is a key letter, the participant would respond with a key press (well, a foot pedal mapped to a key press "b", but a key press to Eprime). If it's not a key letter, then the participant does nothing and the letter disappears. The part I'm not sure how to accomplish is that after they respond with a key press, I need the discrimination task to repeat itself on average every 5 seconds (so 5 ± 2s) while the text display with the instructions remains the same. After the participant completes the primary task on the motorcycle, a researcher would then press a key to end the trial and move on to the next set of instructions. 

So it would look something like this:

Primary task instruction onset
--- key letter appears > foot pedal response > key letter disappears, record RT
--- foil letter appears > no response > foil letter disappears after a given time, record response if incorrect
--- repeat randomly
--- Primary task completed > research presses key > record total trial time
Primary task instruction onset
etc.

Does this make sense? Please let me know if I need to provide more information. I'll keep trying different things in the meantime. Most of my experience with Eprime has been in the gui interface rather than the inline commands, so I'm pretty inexperienced on that end, but I'm definitely willing to learn. 

Thanks in advance for your time, 

David McFarlane

unread,
Nov 21, 2013, 2:28:56 PM11/21/13
to e-p...@googlegroups.com
Do I understand correctly that your sticking
point is only how to keep some constant text on
the display throughout a series of stimuli &
responses? If that's all, I have two solutions:

1) The rookie way: Add the constant text to all
of the stimulus displays -- either add the full
literal text into each display, or put the text
into an attribute and then use the same atribute
reference in each display. You would most easily
do this using Slides for your display objects.

2) My preferred way: With judicious use of Frame
Size and Position, and BackStyle Transparent, you
may add the constant text to a place on the
screen that just never gets covered up by subsequent stimuli.

Good luck.

-----
David McFarlane
E-Prime training
online: http://psychology.msu.edu/Workshops_Courses/eprime.aspx
Twitter: @EPrimeMaster (https://twitter.com/EPrimeMaster )

/----
Stock reminder: 1) I do not work for PST. 2)
PST's trained staff take any and all questions at
https://support.pstnet.com , and they strive to
respond to all requests in 24-48 hours, so make
full use of it. 3) In addition, PST offers
several instructional videos on their YouTube
channel (http://www.youtube.com/user/PSTNET
). 4) If you do get an answer from PST staff,
please extend the courtesy of posting their reply
back here for the sake of others.
\----

Colton Perry

unread,
Nov 21, 2013, 2:53:22 PM11/21/13
to e-p...@googlegroups.com
That's a component of what I'm trying to do, but I think the main thing I'd like to accomplish is to be able to record both the RTs and accuracy to responses for the monitoring task while also recording the total time that the trial took place. Maybe I'm thinking about it the wrong way. It seems like it wouldn't be difficult to have a procedure that does one or the other, but I don't know how to get it to do both concurrently. It's important that all of the monitoring responses be tied to each particular text instruction because our goal is to measure the differences in accuracy and RT for the monitoring task as a result of the different primary tasks. 

I feel like I'm not being particularly clear, and I apologize for that. We have two tasks that we would like to be recorded. One is performance on the monitoring task, and one is total time for completion of the primary task. So a single "trial" is the onset of the text instructions to the keypress that terminates that set of instructions, and within that trial the visual monitoring task loops until the trial is over. I'm not sure how to get do the two things concurrently. 

Am I making this more complicated than it really is?

David McFarlane

unread,
Nov 21, 2013, 3:39:46 PM11/21/13
to e-p...@googlegroups.com
Yes, I am having trouble following you, don't
know if that's me or you, but I have trouble
following wordy expressions, perhaps if you could
find some way to reduce, simplify, & clarify your expression...

As far as I can tell, what you want is trivial to
accomplish. You should already have your visual
monitoring "secondary" task log all the relevant
data, so you are all set there. For the
"primary" task, if you simply log a timestamp for
the first relevant event, and a timestamp for the
last relevant event, then you may simply subtract
to get the total elapsed time -- you may do that
from the data after the run, or with some
cleverness use inline code to compute and log this directly to the .edat file.

What am I missing?

-- David McFarlane
><http://www.google.com/url?q=http%3A%2F%2Fpsychology.msu.edu%2FWorkshops_Courses%2Feprime.aspx&sa=D&sntz=1&usg=AFQjCNHhJVD3mCfXKdywfB5AgKLPu1OSJg>http://psychology.msu.edu/Workshops_Courses/eprime.aspx
>
>Twitter: @EPrimeMaster
>(<https://www.google.com/url?q=https%3A%2F%2Ftwitter.com%2FEPrimeMaster&sa=D&sntz=1&usg=AFQjCNHlT7nwYBmELwRxV4Xn5GW-sG9EKw>https://twitter.com/EPrimeMaster
>)
>
>/----
>Stock reminder: 1) I do not work for PST. 2)
>PST's trained staff take any and all questions at
><https://www.google.com/url?q=https%3A%2F%2Fsupport.pstnet.com&sa=D&sntz=1&usg=AFQjCNF5BfukPzW6lq7UCweMsMu7_9wJEQ>https://support.pstnet.com
>, and they strive to
>respond to all requests in 24-48 hours, so make
>full use of it. 3) In addition, PST offers
>several instructional videos on their YouTube
>channel
>(<http://www.youtube.com/user/PSTNET>http://www.youtube.com/user/PSTNET

Colton Perry

unread,
Nov 21, 2013, 3:59:10 PM11/21/13
to e-p...@googlegroups.com
After playing around with a lot of it now, I think I can distill everything down to one question. Sorry for the confusion. I'm sure most of what I've got isn't the most elegant solution, but it will hopefully run the study in a fashion I can put together without too much extra help. 

The one thing I'm not sure how to do is this: How can I get a list to exit on keypress? The "Exit List" options are for after a certain amount of cycles or samples or seconds. I would just like the exit cue to be a simple keypress that the researcher could make when the participant completes the primary task. With the timestamps you mentioned, that would give us the timing we need for that component, and the monitoring task will be handled within each list. 

Sorry my thoughts are somewhat jumbled. 

David McFarlane

unread,
Nov 21, 2013, 4:25:14 PM11/21/13
to e-p...@googlegroups.com
First, you may use inline code to take complete
control of List termination, see the
List.Terminate topic in the E-Basic Help
facility. You will need to combine that with some appropriate If-Then logic.

If you want to combine that with some secret
keypress from the researcher, then I would
recommend starting a Wait object at the start of
primary task. Set its Duration to 0 and add an
input mask for your secret handshake, set
Allowable to the secret key and Time Limit to
"(infinite)" (in my online course we do an
exercise that illustrates exactly this). Let's
call this object PrimaryWait, and suppose the
List for your secondary task is
SecondaryList. Then in inline code in the
appropriate Procedure, do something like

If PrimaryWait.RTTime Then SecondaryList.Terminate

(also see
https://groups.google.com/d/topic/e-prime/T5ThFkW8qF8
for other ways to test for presence or absence of response).

Note that this will terminate the List upon
completion of all the objects in the
Procedure. If needed, you might use a Goto to
skip to the end of the running Procedure, or use
techniques from
https://groups.google.com/d/topic/e-prime/e12W9DdgvrM
to Terminate with a set overall duration.

Good luck.

-----
David McFarlane
E-Prime training
> hology.msu.edu%2FWorkshops_Courses%2Feprime.aspx&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHhJVD3mCfXKdywfB5AgKLPu1OSJg>http://www.google.com/url?q=http%3A%2F%2Fpsychology.msu.edu%2FWorkshops_Courses%2Feprime.aspx&sa=D&sntz=1&usg=AFQjCNHhJVD3mCfXKdywfB5AgKLPu1OSJg>http://psychology.msu.edu/Workshops_Courses/eprime.aspx
>
> >
> >Twitter: @EPrimeMaster
> >(<<https://www.google.com/url?q=https%3A%2F%2Ft
> witter.com%2FEPrimeMaster&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHlT7nwYBmELwRxV4Xn5GW-sG9EKw>https://www.google.com/url?q=https%3A%2F%2Ftwitter.com%2FEPrimeMaster&sa=D&sntz=1&usg=AFQjCNHlT7nwYBmELwRxV4Xn5GW-sG9EKw>https://twitter.com/EPrimeMaster
>
> >)
> >
> >/----
> >Stock reminder: 1) I do not work for PST. 2)
> >PST's trained staff take any and all questions at
> ><<https://www.google.com/url?q=https%3A%2F%2Fsu
> pport.pstnet.com&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNF5BfukPzW6lq7UCweMsMu7_9wJEQ>https://www.google.com/url?q=https%3A%2F%2Fsupport.pstnet.com&sa=D&sntz=1&usg=AFQjCNF5BfukPzW6lq7UCweMsMu7_9wJEQ>https://support.pstnet.com

Colton Perry

unread,
Nov 23, 2013, 1:46:24 PM11/23/13
to e-p...@googlegroups.com
Thanks for the responses. I hate to have to ask something again, but I can't seem to find a specific discussion on list.terminate in the pst user forum (which is what I found when googling "E-basic help facility"). 

I think doing an in-line statement for If [code for keypress "b"], then list.terminate would work for what I'm trying to do as long as I could get a timestamp for that list.terminate action. I just haven't been able to find out what the conditional statement would be to accomplish that. I've tried a few things, but I'm pretty sure none of it is actually the proper syntax for e-basic. 

Thanks again for your help, I'll keep trying different things. 

David McFarlane

unread,
Nov 25, 2013, 5:11:30 PM11/25/13
to e-p...@googlegroups.com
If you enable logging of the RTTime from the
input mask that you use for terminating your
List, then that should already be the timestamp
that you want, and it requires no inline code at
all (see the Logging tab of the Property Pages
from the relevant object). Or am I still missing something?

-- David McFarlane
><https://groups.google.com/d/topic/e-prime/T5ThFkW8qF8>https://groups.google.com/d/topic/e-prime/T5ThFkW8qF8
>
>for other ways to test for presence or absence of response).
>
>Note that this will terminate the List upon
>completion of all the objects in the
>Procedure. If needed, you might use a Goto to
>skip to the end of the running Procedure, or use
>techniques from
><https://groups.google.com/d/topic/e-prime/e12W9DdgvrM>https://groups.google.com/d/topic/e-prime/e12W9DdgvrM
>
>to Terminate with a set overall duration.
>
>Good luck.
>
>-----
>David McFarlane
>E-Prime training
>online:
>(<https://www.google.com/url?q=https%3A%2F%2Ftwitter.com%2FEPrimeMaster&sa=D&sntz=1&usg=AFQjCNHlT7nwYBmELwRxV4Xn5GW-sG9EKw>https://twitter.com/EPrimeMaster
> syc>http://www.google.com/url?q=http%3A%2F%2Fpsyc
> >
> <http://www.google.com/url?q=http%3A%2F%2Fhology.msu.edu&sa=D&sntz=1&usg=AFQjCNFqepG5qbM4ky8LP2M6IqZVkTR--w>hology.msu.edu%2FWorkshops_Courses%2Feprime.aspx&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHhJVD3mCfXKdywfB5AgKLPu1OSJg><http://www.google.com/url?q=http%3A%2F%2Fpsychology.msu.edu%2FWorkshops_Courses%2Feprime.aspx&sa=D&sntz=1&usg=AFQjCNHhJVD3mCfXKdywfB5AgKLPu1OSJg>http://www.google.com/url?q=http%3A%2F%2Fpsychology.msu.edu%2FWorkshops_Courses%2Feprime.aspx&sa=D&sntz=1&usg=AFQjCNHhJVD3mCfXKdywfB5AgKLPu1OSJg><http://www.google.com/url?q=http%3A%2F%2Fpsychology.msu.edu%2FWorkshops_Courses%2Feprime.aspx&sa=D&sntz=1&usg=AFQjCNHhJVD3mCfXKdywfB5AgKLPu1OSJg>http://psychology.msu.edu/Workshops_Courses/eprime.aspx
>
> >
> > >
> > >Twitter: @EPrimeMaster
> > >(<<<https://www.google.com/url?q=https%3A%2F%
> 2Ft>https://www.google.com/url?q=https%3A%2F%2Ft
> >
> <http://www.google.com/url?q=http%3A%2F%2Fwitter.com&sa=D&sntz=1&usg=AFQjCNHEmiUKGsSV8PkpcPEYTA5UCwpsDQ>witter.com%2FEPrimeMaster&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNHlT7nwYBmELwRxV4Xn5GW-sG9EKw><https://www.google.com/url?q=https%3A%2F%2Ftwitter.com%2FEPrimeMaster&sa=D&sntz=1&usg=AFQjCNHlT7nwYBmELwRxV4Xn5GW-sG9EKw>https://www.google.com/url?q=https%3A%2F%2Ftwitter.com%2FEPrimeMaster&sa=D&sntz=1&usg=AFQjCNHlT7nwYBmELwRxV4Xn5GW-sG9EKw><https://www.google.com/url?q=https%3A%2F%2Ftwitter.com%2FEPrimeMaster&sa=D&sntz=1&usg=AFQjCNHlT7nwYBmELwRxV4Xn5GW-sG9EKw>https://twitter.com/EPrimeMaster
>
> >
> > >)
> > >
> > >/----
> > >Stock reminder: 1) I do not work for PST. 2)
> > >PST's trained staff take any and all questions at
> > ><<<https://www.google.com/url?q=https%3A%2F%2
> Fsu>https://www.google.com/url?q=https%3A%2F%2Fsu
> >
> <http://www.google.com/url?q=http%3A%2F%2Fpport.pstnet.com&sa=D&sntz=1&usg=AFQjCNGrmWDeeBQ2IKcKSEj9RkM61PKjaQ>pport.pstnet.com&amp;sa=D&amp;sntz=1&amp;usg=AFQjCNF5BfukPzW6lq7UCweMsMu7_9wJEQ><https://www.google.com/url?q=https%3A%2F%2Fsupport.pstnet.com&sa=D&sntz=1&usg=AFQjCNF5BfukPzW6lq7UCweMsMu7_9wJEQ>https://www.google.com/url?q=https%3A%2F%2Fsupport.pstnet.com&sa=D&sntz=1&usg=AFQjCNF5BfukPzW6lq7UCweMsMu7_9wJEQ><https://www.google.com/url?q=https%3A%2F%2Fsupport.pstnet.com&sa=D&sntz=1&usg=AFQjCNF5BfukPzW6lq7UCweMsMu7_9wJEQ>https://support.pstnet.com
>
> >
> > >, and they strive to
> > >respond to all requests in 24-48 hours, so make
> > >full use of it. 3) In addition, PST offers
> > >several instructional videos on their YouTube
> > >channel
> > >(<<<http://www.youtube.com/user/PSTNET>http:/
> /www.youtube.com/user/PSTNET>http://ww
> >
> <http://w.youtube.com/user/PSTNET>w.youtube.com/user/PSTNET>http://www.youtube.com/user/PSTNET
>--
>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...@googlegroups.com.
>To post to this group, send email to e-p...@googlegroups.com.
>To view this discussion on the web visit
><https://groups.google.com/d/msgid/e-prime/26e25466-dbf5-4bcf-9854-7863cbf3107b%40googlegroups.com>https://groups.google.com/d/msgid/e-prime/26e25466-dbf5-4bcf-9854-7863cbf3107b%40googlegroups.com.
>For more options, visit
><https://groups.google.com/groups/opt_out>https://groups.google.com/groups/opt_out.

Reply all
Reply to author
Forward
0 new messages