Stroop experiment, a number of issues to be resolved.

646 views
Skip to first unread message

Psychologue

unread,
Jul 24, 2008, 10:53:29 PM7/24/08
to E-Prime
Hi Everyone,

I am assisting a Master's student with a stroop experiment. I was able
to set up the six training sessions with each consisting of three
phases.There are also three conditions in terms of degree of feedback
of performance.
My questions which I need answered:

1.I would have to set up six blocks(or blocklists) representing the
six training sessions?

*2.However, In one condition(a seperate e-prime experiment) same setup
in terms of training sessions and phases but with feedback(the
Individualized and adaptive feedback condition). -"This condition has
a bar graph that remains displayed throughout the entire training
session and keeps track of current performance relative to the average
of previous performance on the same type of trial (i.e. if the
participant's reaction time on the third neutral trial is 1500ms and
the average of the first two neutral trials is 900ms, the bar graph
for neutral trials should increase in size and turn red)". How would I
code this in E-Prime?*

3.There are six training sessions in total. So there are six blocks
in the Stroop experiment. Training session 1(contains acquisition
phase,practice phase and test phase), Training session 2(contains
acquisition, practice and test phase) , and so on (same thing).
My question is if the the participant is doing ONLY Training session
2, how to run only that particular training session or the particular
block of code or block in the stroop experiment?Do you have to code in
the visual basic script to tell E-Prime to only run that particular
session? I don't know how to do this.

4. If I want summary feedback which displays the subjects average
response time and the average percent correct at the very end of the
testing phase for a training session.
How would I do this. The feedback display would be only displayed at
the end of the testing phase, and display average response time and
average response times of subjects performance on all the trials in
the testing phase. There should be no feedback displays in between
trials.

Any Help is much appreciated
Thank you
Fahad

Ben Meyers

unread,
Jul 30, 2008, 2:56:15 PM7/30/08
to E-Prime
2. To accomplish this you will have to adjust the frame size for all
of your text displays and then create an image display (whose frame
does not overlap the text displays ) with the rectangle for the bar
graph feedback. Alternatively, (and the easier option imo) is to draw
the rectangle in an inline. You can lookup Canvas.Rectangle in the E-
Basic help for that. You can handle the reaction time checks in
another inline as well with "StimDisplay.RT"

3. I don't know if this is exactly what you require based upon your
description, but I wrote up a guide for my lab about creating simple
menus in E-Prime so you can access which parts of an experiment that
you want. I've copied it for you below at the end of my message.

4. If you add a counter as either a global variable which you can
then increment simply by putting in an InLine counter = counter + 1,
or as an attribute in a list which you can then increment by

counter = CInt(ListName.GetCurrentAttrib("counter"))
counter = counter + 1
ListName.SetAttrib "counter", Cstr(counter)

you can check if the counter has been incremented up to the total
number of training trials and if not

goto LabelAtTheEndOfTheProcedure

Place your feedback display between this inline and the label.


‘All this code can be copy/pasted into an E-Prime InLine script and
edited to get the
‘menu that you want
Dim Redo as Integer
Redo = 1

Do While Redo = 1 ‘Must be made a loop, or after E-Prime runs the
first procedure the
‘experiment would automatically end

Dim Menu as TextDisplay ‘You can change Menu to whatever you like
Set Menu = New TextDisplay ‘and could presumably set up a sequence
‘of menus with different names if desired

‘This section sets all the attributes of the menu, many of these can
be skipped with the
‘code InitTextDisplayDefaults Menu but all of these can be
altered if wanted

Menu.AlignHorizontal = "left" ‘Horizontal alignment “left” “center”
“right”

Menu.AlignVertical = "center" ‘Vertical alignment “top” “center”
“bottom”

Menu.FontName = "Courier New" ‘Any of the font names E-Prime is
allowed

Menu.FontBold = False ‘Bold is the default, this makes it not bold

Menu.FontSize = "28" ‘Font size supplied as a string

Menu.ForeColor = CColor("0,0,0") ‘This is the text color, can use
color names
‘or RGB values, CColor converts it to Long

Menu.BackColor = CColor("255,255,255") ‘Background color

Menu.Duration = CLng("-1") ‘Sets how long the menu will appear on
the
‘screen. A –1 is an infinite duration.

Menu.TimingMode = ebTimingModeEvent ‘Sets the timing mode:
‘others allowed ebTimingModeCumulative and ebTimingModeCustom
‘If custom is used CustomOnsetTime and CustomOffsetTime must be set

Menu.PreRelease = 0 ‘Sets prerelease time for the next object

Menu.ClearAfter = True ‘Not clearing after is default, this clears
the screen
‘when the menu is terminated




‘Set up the input mask for the menu, the required inputs are all comma
delimited
Menu.InputMasks.Reset
Menu.InputMasks.Add Keyboard.CreateInputMask("1234", "",
CLng(Menu.Duration), CLng("1"), ebEndResponseActionTerminate, True,
"", "", "")

‘InputDevice.CreateInputMask (Allowable Response, Correct Response,
Time Limit,
‘Max Count, End Response Action, Flush Input Buffer, Termination
Response,
‘User Tag, Custom Options, Echo Clients, Reserved Object)
‘For more specific information about these attributes check the E-
Basic help

‘Sets the text to be displayed in the menu. New lines are made with
\n.
Menu.Text = " 1) Procedure1\n 2) Procedure2\n 3)
Procedure3\n 4) Quit"


Menu.Run ‘Runs the menu with the attributes set above

‘This section selects the procedure to be run based upon the keyboard
input. All
‘the procedures are found in a superior list and are each assigned a
Weight of 0.
‘The list will also have 1 row which called the procedure to create
the menu with a
‘Weight of 1.
If CInt(Menu.RESP) = 1 Then
Procedure1.Run c
ElseIf CInt(Menu.RESP) = 2 Then
Procedure2.Run c
Elseif CInt(Menu.RESP) = 3 Then
Procedure3.Run c
Else
Quit.Run c
Redo = 0
End If

Loop

Ben Meyers

unread,
Jul 30, 2008, 3:10:04 PM7/30/08
to E-Prime
I apologize for not making a clear separation between the menu code
and the rest of my message. The menu code begins immediately at the
text that is commented out.
> > Fahad- Hide quoted text -
>
> - Show quoted text -

Psychologue

unread,
Aug 3, 2008, 12:43:59 PM8/3/08
to E-Prime
Hello Mr.Ben Meyers,

Thank you for the help. The only problem I am still unable to solve
is the bar graph. Can you be more "Explicit" in the
solution you provide, since I am E-prime newbie and not an expert.
I gather there are two ways to create a continous bar graph. Here's
a response from Mr.McFarlane to Dina.
Can you explain clearly how I could implement the bar graph continous
feedback in the e-prime experiment using the slide or framesize method
or the inline script canvas.rectangle method?

1.Using the slide method."To add a bar chart, you probably want to use
slides. If you are very
careful with frame sizes you might be able to add new screens without
overwriting the bar graph, otherwise just add the bar graph as a slide
element wherever you need it.Here is how I created a simple bar
display for one program. On a
SlideImage, I added an empty text sub-object. On that sub-object I
made the BackColor something visible (e.g., red), gave it some
constant width, then made the height an attribute reference (e.g.,
[BarHt]). Then I had to add some inline script using c.SetAttrib to
set BarHt as appropriate each time. That made a variable height bar,
but you will have to work out the math details yourself. To add a
frame around the variable height bar, I added another empty text sub-
object. I made it the same width as the bar, set its height to the
maximum bar height, gave it a positive border width, and set
its BackStyle to transparent. I superimposed it on the bar, and set
its layer position to in front of the bar. Voila, a nice
variable-height bar in a fixed frame.

My Question: *2.However, In one condition(a seperate e-prime
experiment) same setup
in terms of training sessions and phases but with feedback(the
Individualized and adaptive feedback condition). -"This condition has
a bar graph that remains displayed throughout the entire training
session and keeps track of current performance relative to the average
of previous performance on the same type of trial (i.e. if the
participant's reaction time on the third neutral trial is 1500ms and
the average of the first two neutral trials is 900ms, the bar graph
for neutral trials should increase in size and turn red)". How would I
code this in E-Prime?*

I could write the canvas.rectangle script in inline, but how would the
rectangle be changed according to the reaction times
of the participant? How would I do this using the frame size method?

Thank you for your help again
Fahad
Reply all
Reply to author
Forward
0 new messages