Eprime fMRIUsersManual
Eprime fMRIUsersManual
PST 100-666
For Research Only
The information in this document is subject to change without notice. Except as permitted under
the United States Copyright Act of 1976, no part of this publication may be reproduced, or
distributed in any form or by any means, or stored in a database or retrieval system, without prior
written permission of Psychology Software Tools, Inc.
If you have any questions or comments regarding this manual, please contact Psychology
Software Tools, Inc. at:
Software Notice: The enclosed software is provided for use by a single user who has purchased
the manual. The software MAY NOT be reproduced or distributed to others. Unauthorized
reproduction and/or sales of the enclosed software may result in criminal and civil prosecution.
(17 USC 506).
Trademark
Psychology Software Tools, Inc., the Psychology Software Tools, Inc. logo, EEfMRI, the EEfMRI
logo, E-Prime and the E-Prime logo are trademarks or registered trademarks of Psychology
Software Tools, Inc.
This manual describes the installation procedure for the E-Prime Extensions for fMRI. Please
review the manual completely and thoroughly before beginning the system installation.
Table of Contents
Chapter 1: Introduction
1.1 Compatibility 6
1.2 Software Overview 7
1.3 Software Installation 8
Chapter 2: Tutorials
2.1 Overview 11
2.2 Tutorial 1: Adding EEfMRI support to an E-Prime Experiment 12
2.3 Tutorial 2: Creating a Menu 24
2.4 Tutorial 3: Allowing Break Requests and List Resets 34
2.5 Tutorial 4: Timing 42
2.6 Tutorial 5: Logging Block Data in .PDAT File 48
2.7 Tutorial 6: Logging Event and Response Data in .PDAT File 53
2.8 Tutorial 7: Creating a Practice Run 59
Chapter 3: Reference
3.1 Package Calls 65
fMRISessionInit 66
fMRIMenuBegin 67
fMRIMenuEnd 68
fMRIRunBegin 69
fMRIRunEnd 70
fMRILogEvent 71
fMRILogResponseEvent 72
fMRILogUserEvent 73
fMRIResetListsByName 74
fMRICheckForBreak 75
Appendix A: MapperOne Experiment Description 76
Appendix B: .PDAT File Format 81
Appendix C: Configuring your MapperOne experiment to
Left-Right Unique 82
Chapter 1: Introduction
Chapter 1: Introduction
1.1 Compatibility
Important compatibility information
EEfMRI is only compatible with E-Prime 2.0 and E-Prime 2.0 Professional.
E-Prime Extensions for fMRI (EEfMRI) is not compatible with E-Prime version 1.x. This software will
only work with E-Prime 2.0 Standard or E-Prime 2.0 Professional.
If you would like to purchase an upgrade or if you have any other questions, please contact
[email protected].
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
This guide will show you how to install the EEfMRI software, explain how to EEfMRI-enable a properly
structured E-Prime experiment, provide descriptions for the tools EEfMRI is equipped with, and
provide useful tips for situations you are likely to encounter while upgrading or creating EEfMRI-
enabled experimental paradigms.
We caution you not to work with the tools provided until you have read the documentation and
worked through most, if not all, of the tutorials. We encourage you to learn the system by following
the tutorials in the order presented. This will minimize your learning time and allow you to take
advantage of the available tools to produce functional paradigms ready for use with the fMRI system.
Recommended readings:
It is recommended that you have read and worked through the tutorials included in the
E-Prime Getting Starting Guide before beginning this tutorial. Prior to collecting critical data,
it is recommended that you also read Chapter 3: Critical timing in E-Prime - Theory and
Recommendations in the E-Prime Users Guide pages 71-122.
Chapter 1: Introduction
Note: The version numbers on the following screen grabs may not correspond with the version
number on your software.
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
Chapter 2: Tutorials
10
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
Chapter 2: Tutorials
2.1 Tutorial Overview
This chapter consists of tutorials that will guide you through the steps necessary to add the most
commonly used features of EEfMRI to an existing E-Prime experiment. In order to complete the
tutorials, you will need a computer with E-Prime and the fMRI software already installed. If you have
not installed E-Prime please stop now and complete the installation, and if you have not installed
EEfMRI, please refer to the installation section of this manual beginning on page 8. The tutorials
assume you are familiar with using E-Prime to build behavioral experiments. If you are new to using
E-Prime it is suggested that you work through all tutorials included in the E-Prime Getting Started
Guide prior to beginning this tutorial series.
11
Chapter 2: Tutorials
2.2 Tutorial 1:
Adding EEfMRI support to an E-Prime Experiment
Summary:
Incorporating EEfMRI support into an existing E-Prime experiment primarily involves adding
both the EEfMRI Package File and the EEfMRI PackageCalls to the experimental
structure at the appropriate locations. PackageCalls are added to the experiment,
renamed and edited to set the required parameters, allowing the user to adapt EEfMRI to
meet their individual needs.
During this tutorial, you will add EEfMRI support to the Press.es sample experiment installed
by default with the EEfMRI package. The Press.es sample experiment consists of multiple
blocks where the participant is either at rest (watching a fixation cross) or is using specified
fingers on each hand to press buttons and make responses. Response feedback is provided
at the end of each trial. If you are not familiar with the Press.es experiment, it is
recommended that you load, review and run the sample experiment before beginning the
tutorial (e.g., in order to develop an understanding of the overall design of the experiment
and how it operates prior to further modifications).
Goal:
This tutorial illustrates how to add the EEfMRI PackageCalls into the Press.es sample
experiment included with EEfMRI. When you have completed this tutorial, you will have a
basic EEfMRI-enabled paradigm.
Overview of Tasks:
Load Press.es and resave it as fMRIPress.es.
Add the EEfMRI Package File to the Experiment Object.
Add the fMRISessionInit PackageCall to initialize the EEfMRI package at the Session level.
Add the fMRIRunBegin PackageCall to designate the beginning of the functional scan
and sync the onset of the stimulus presentation sequence with the scanner trigger pulse.
Add the fMRIRunEnd PackageCall to designate the end of the functional scan.
Verify the overall experiment structure and run the experiment.
12
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
The E-Studio application is installed as part of the standard E-Prime installation. This application is
used to create, modify and test experiments within E-Prime. Open the E-Studio application, navigate
to the appropriate folder and load the Press.es sample experiment.
Under Windows XP the folder will be:
\My Documents\My Experiments\fMRI\Tutorials\Press.es
13
Chapter 2: Tutorials
Rename the experiment and save it in the same directory (\My Documents\My Experiments\
fMRI\Tutorials) so that any resources references within the experiment will remain valid and can be
reused.
14
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
Package Files in E-Prime are cohesive sets of E-Basic routines that are grouped together into a single
file that can be maintained externally. In order to gain access to the routines within a Package File
you must first add the Package File to the experiment. Package Files can be added to an experiment
using the Packages tab of the Experiment Object Properties dialog. The routines that are used to
communicate with the EEfMRI software at runtime are contained within the EEfMRI Package File.
15
Chapter 2: Tutorials
The EEfMRI Package File must be initialized at the start of the experiment by making a call to the
fMRI_SessionInit routine. To call a routine in a Package File you can either make the call directly
using E-Basic script within an Inline object, or preferably, by dragging a PackageCall from the E-Studio
Toolbox, drop it at the desired location within the experiment, and editing its properties. When using the
PackageCall, it is strongly recommended that you rename the object to reflect the specific Package File
and routine that is being referenced within the object. When creating paradigms for use with EEfMRI
it is a common convention to create a name for each PackageCall by combining fMRI with the name of
the routine being called, e.g. the object that is used in this task to call the fMRI_SessionInit routine is
named fMRISessionInit.
16
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
The Properties dialog of the PackageCall is used to specify which Package File and Routine are to be
called in each instance. After a Package is selected within the interface, the Routine dropdown list
will be populated with all of the routines contained within the package. After you select a Routine,
the Parameters field will be set to the default parameters and the Description field will be filled
with the text that the Package File author included for the selected routine. You can refer to the
Description field for information about each parameter in the list (any parameter in double quotes
indicates string data). The fMRISessionInit PackageCall includes parameters that allow you to turn
EEfMRI support on/off and to create a .PDAT file as output that is named by default. This name can
be user defined, but the default should be sufficient for nearly all experiments (details of the .PDAT
file will be discussed in Appendix 1, Page 75)
8
8) Review the fMRISessionInit
parameters listed in the
Parameters and Description
fields.
9
9) Click the OK button to accept
the changes and dismiss the
dialog.
17
Chapter 2: Tutorials
The fMRIRunBegin PackageCall marks the beginning of the functional scan and when properly
placed, will synchronize the onset of the stimulus presentation with the scanner trigger pulse
(assuming appropriate interface hardware is in use). This call will write critical timing information
to the .PDAT file and must be matched with a corresponding fMRIRunEnd PackageCall for proper
operations.
18
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
Edit the Run Condition to correspond to the name of the Run. In this example we will use Press.
19
Chapter 2: Tutorials
The fMRIRunEnd PackageCall is used to mark the end of the functional scanning run. By default, the
routine will also display an Run Report screen when the run has completed (or has been terminated
prematurely by the experimenter). The Run Report summary screen that contains useful information
about the status and observed duration of the run. This PackageCall is typically placed immediately
after the object that completes the stimulus presentation sequence.
1) Drag a new PackageCall
from the Toolbox and drop it on
the SessionProc procedure after 1
the BlockList object before the
Goodbye object.
6
5) Select RunEnd from the Routine
dropdown list.
4
20
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
You have now completed the basic steps necessary to create an EEfMRI-enabled paradigm.
EEfMRI-enabled experiments can be run locally from E-Studio during development and testing. You
should always fully test your experiment locally prior to scheduling actual participants or before using
it to collect data in the scanner.
Before you test the experimental task, it is important that you understand how the task works. The
task itself is simple, once you start the experiment you will be prompted to use a finger to press a
number key. For example, the text Left Middle will appear on the screen. However the expected,
correct response is not intuitive. The correct response key press that correspond with the left
middle finger is 8. The experiment is programmed assuming the person responding to the task is
responding to the cues via the BrainLogics Fiber Optic Button Response System (FOBRS). This
MR compatible hardware system includes custom molded button units that can be worn by the
participant, as well as the interface components necessary to report the scanner trigger pulse to
E-Prime for stimulus synchronization. The default key mappings used by the FOBRS can make key
mappings unintuitive for the experimenter during testing with the computer keyboard, but will allow
you to run your experiment at the scanner without further changes to response mappings.
IN
8 3
9 4
7 2
A 5
6 1
21
Chapter 2: Tutorials
The next steps will walk you through generating the experimental script, starting the experimental
paradigm, and running the experiment.
22
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
After the experiment has terminated, you will see a screen like this:
This is the Run Report which summarizes information about the experimental run that was
completed. The report contains some basic timing information as well as several indicators of the
participants performance. It is often helpful to have this information available immediately at the
end of a run to quickly verify that the run executed as expected and that the participant performed
the task adequately (e.g., to assist the experimenter in determining if the run must be repeated.)
The Start Time, End Time, and Duration fields provide the computer time at which the scanner
trigger pulse was detected/simulated, the computer time the task ended, and the duration of the
task respectively.
The Accuracy field is an indication of the participants percent accuracy. The RT field is the
participants mean response time across all trials and responses. The Correct RT field is the
mean response time for the correct answers only. Note that all of the fields related to dependent
measures, excluding times and duration, are displayed as zero in this example. This is because
the tutorial did not yet add the fMRI PackageCalls required to collect this information. Even after
these additional PackageCalls have been added you may also see these fields as zeros (0) if you do
not make any responses during the task. Please refer to tutorials 5 and 6 (Pages 49 and 54) in this
guide. These tutorials will instruct you which package calls are use to log data and populate the end
of run report.
Select EEfMRI PackageCalls will store additional detailed information about the scanning run in a
tab-delimited output file. By default this output file is located in the same folder as the experiment
(e.g., \My Documents\My Experiments\fMRI\Tutorials) and will have the same name as the
experiments E-Prime data file but with the extension .PDAT appended (e.g., assuming you entered
a 1 for Subject Number and 1 for Session Number the file created by running the experiment in
this tutorial would be named fMRIPress-1-1..PDAT). The file can be opened via Excel or any other
application that can load a tab-delimited text file. The information contained in the .PDAT file can be
used as a reference to assist the experimenter in post-processing and image analysis activities. For
further information about the .PDAT file, see Appendix 1 (Page 81).
23
Chapter 2: Tutorials
Resave
Only follow the steps below if you are loading the fMRIPress1.es sample.
1) Select the File|Save As... from the application menu bar.
2) Type fMRIPress.es as the new name in the File name field.
3) Click the Save button.
Summary:
This tutorial will guide you through the steps necessary to add a menu to the paradigm that
we have EEfMRI-enabled in the previous tutorial.
Goal:
When you have completed this tutorial you will have created an experiment that allows the
user to choose a task to run from the menu list.
Overview of Tasks:
Add the fMRIMenuBegin PackageCall to implement the menu and set the parameters
to populate the menu with information from the RunList.
Add the fMRIMenuEnd PackageCall to designate the end of the menu function.
Add a RunList and edit it to contain the MenuItem attribute that will populate the menu
text.
Create a PressRunProc to allow for multiple runs.
Move PackageCalls to PressRunProc to change the structure for multiple runs.
Relocate the BlockList to PressRunProc to change the structure for multiple runs.
24
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
The fMRIMenuBegin and fMRIMenuEnd PackageCalls are used to create an interactive menu within
the experiment. This menu system can be used by the experimenter to dynamically choose different
tasks to present to the participant at runtime. The menu is created by processing a designated List
object defined within the experiment to extract the text for the items that will appear on the menu.
The fMRIMenuBegin PackageCall is typically placed after the fMRISessionInit PackageCall, but prior
to the fMRIRunBegin because it is not part of the functional run.
1) Double click the SessionProc
object to open it in the 1
workspace.
25
Chapter 2: Tutorials
When you set the routine to fMRIMenuBegin, you will notice that the routines default parameters
contain a reference to an object named RunList. This is the default name of the List object that
the fMRIMenuBegin PackageCall will search for to obtain the information used to populate the menu.
Although the RunList object is referenced here it will not be created until Task 3 of the tutorial.
5 6
6) Select MenuBegin from the
Routine dropdown list.
8
8) Click the OK button to accept
the changes and dismiss the
dialog.
26
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
27
Chapter 2: Tutorials
Task 3: Add the List object that will populate the menu
Add a List object to the SessionProc and rename the List object to RunList.
The RunList object is used to define the entries that will be seen by the experimenter when the menu
is displayed. The object also associates a particular Procedure with each menu entry e.g., when the
user chooses the menu item, fMRI will run the Procedure associated with the selected menu item.
Presently there is only one type of task defined, but it is possible to customize the menu to display
several different types of tasks along with practice runs for each task.
28
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
Edit the RunList object to add the MenuItem attribute. When the fMRIMenuBegin PackageCall
creates the menu at runtime it will examine the MenuItem attribute to extract the text that will be
used for each item listed on the menu.
4) Click Add.
2
3 4
29
Chapter 2: Tutorials
Each MenuItem displayed on the menu must be associated with a Procedure object e.g., when the
experimenter selects an entry from the menu, EEfMRI will run the Procedure that is associated with
the selected MenuItem. Create a new Procedure object and name it PressRunProc.
30
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
In this step, you will move the Instructions, fMRIRunBegin, and fMRIRunEnd objects to the
PressRunProc procedure that you created in the last step. It is important that you understand
the following steps before you try to execute them. If you try to drag and drop the objects you will
create a symbolic link to their current location and the program will call them in at both points in
the experiment. This will create an error. Please read the next instructions carefully before trying to
perform the tasks as they instruct.
31
Chapter 2: Tutorials
32
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
You have now completed the basic steps necessary to create a functional menu.
3 3
3) Click OK to accept the default
values for Subject Number,
Session Number and Summary
of Startup Info.
When you are actually 3
running the experiment
change the appropriate fields
to reflect the pertinent
information. 4
33
Chapter 2: Tutorials
Resave
Only follow the steps below if you are loading the fMRIPress2.es sample.
1) Select the File|Save As... from the application menu bar.
2) Type fMRIPress.es as the new name in the File name field.
3) Click the Save button.
Summary:
In the last tutorial, we used EEfMRI PackageCalls to create a menu that allows the
experimenter to choose between multiple task runs, providing greater flexibility in stimulus
presentation control. EEfMRIs other features address more practical concerns that arise
during fMRI data collection. For instance, during an experiment it may be necessary to stop
and restart the scanner e.g., due to requests for assistance from the participant, participant
movement, problems with the scanner or scanning protocol, etc. When these events occur,
it is advantageous for the experimenter to be able to quickly interrupt the experiment, reset
the stimulus presentation sequence, and restart the task from a particular point in the
experiment, typically the menu. This tutorial guides you through modifications necessary to
customize an experiment that allows you to terminate the experiment while displaying trials/
stimuli and return to the menu. It likewise illustrates how to use fMRI PackageCalls to ensure
that any stimuli presented prior to the interruption of the scan are properly reset to ensure
they will be shown again after you return to the menu, and restart the experiment.
Overview of Tasks:
Add the fMRIResetListsByName PackageCall to the SessionProc.
Add the fMRICheckForBreak PackageCall to the RestBlockProc.
Add the fMRICheckForBreak to the PressBlockProc.
Test the experiment.
34
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
2
3) Click on the PackageCall1
object to select it then press F2
to rename the object to
fMRIResetListsByName. Then
press Enter to accept the
change.
35
Chapter 2: Tutorials
5 6
6) Select ResetListsByName from
the Routine dropdown list.
36
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
37
Chapter 2: Tutorials
38
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
The fMRICheckForBreak PackageCall needs to be placed at each level the user may want to
interrupt or terminate the task. In order to assure the ability to return to the menu during the
stimulus presentation, a PackageCall must be placed at the PressBlockProc level.
Note: The experimenter can register a break request with the system at any time during the
experiment by pressing Shift + Ctrl simultaneously. However the placement of the
fMRICheckForBreak PackageCall at the Block level forces the experiment to wait until the
end of the block to execute the command. The placement of this PackageCall can be altered
to adjust where the experiment executes the break. This gives the experimenter direct
control over when an interruption of the stimulus sequence is permitted.
2
3) Holding the mouse button, drag
and drop the 3
fMRICheckForBreak
PackageCall onto the
PressBlockProc after the
PressTrialList object.
4) The fMRICheckForBreak
PackageCall should now be
shown in both the
RestBlockProc and the
PressBlockProc.
39
Chapter 2: Tutorials
You will now test the break feature you have just implemented by running the experiment and
simultaneously pressing the Shift+Ctrl keys to register the break.
1) Press Ctrl+S to save your work
before continuing. Click the
generate icon or press Ctrl+F7
1
to generate the script and check
it for errors.
2
2) Click the run icon or press F7 to
run the paradigm.
40
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
10
41
Chapter 2: Tutorials
If you have not completed Tutorial 3, start by opening the experimental paradigm \My Documents\
My Experiments\fMRI\Tutorials\fMRIPress3.es. Before you start, save the experiment under the
name fMRIPress.es in the same directory. Detailed instructions on how to save can be found on
page 13, Tutorial 1 Task 2.
Resave
Only follow the steps below if you havent completed tutorial 3.
Summary:
In an fMRI experiment, timing is critical. In order to collect usable data, the time
between stimuli, the inter-stimulus interval (ISI), and the time between trials, inter-trial
interval (ITI), needs to vary as little as possible for all trials. This tutorial will take you through
the steps necessary to modify a behavioral experiments timing to collect meaningful data
during a functional MRI.
Goal:
This tutorial illustrates how to modify experiment object properties to alter the timing to
collect fMRI data.
Overview of Tasks:
Modify RestObject timing.
Modify Stimulus Object timing.
Modify Fixation Object timing.
42
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
The PreRelease option allows the computer to free resources to prepare for the next trial. Cumulative
Timing Mode corrects for delays introduced into the paradigm by delays in stimulus onset by altering
the presentation time of the stimulus. This minimizes the delay of subsequent events due to error. If
used correctly, in conjunction both techniques serve as powerful tools to correct for timing error.
43
Chapter 2: Tutorials
The PreRelease option allows the computer to free resources to prepare for the next trial. Cumulative
Timing Mode corrects for delays introduced into the paradigm by delays in stimulus onset by altering
the presentation time of the stimulus. This minimizes the delay of subsequent events due to error. If
used correctly, in conjunction both techniques serve as powerful tools to correct for timing error.
4 5
6) Select 2000ms from the Time
Limit dropdown list.
44
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
The PreRelease option allows the computer to free resources to prepare for the next trial. Cumulative
Timing Mode corrects for delays introduced into the paradigm by delays in stimulus onset by altering
the presentation time of the stimulus. This minimizes the delay of subsequent events due to error. If
used correctly, in conjunction both techniques serve as powerful tools to correct for timing error.
3
6) Click OK to accept the changes.
4 5
45
Chapter 2: Tutorials
You have now completed the basic steps necessary to modify the timing of this experiment.
Note: There will be no observable difference in the timing. If you desire to see the result of
the changes you made, compare the .PDAT timestamps.
46
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
The following group of tutorials includes a brief discussion of experimental designs, how to use fMRI
package calls to pass timestamps to the .PDAT file to create a list of events that occurred during the
experiment, and how to create a practice run.
47
Chapter 2: Tutorials
Resave
Only follow the steps below if you havent completed tutorial 4.
1) Select the File|Save As... from the application menu bar.
2) Type fMRIPress.es as the new name in the File name field.
3) Click the Save button.
Summary:
An fMRI experiment can contain several runs (time between each scanner start and end)
consisting of different experiments made up of varied trial types. It is important to log the
type of block (set of trials) and onset time of each block for later analysis.
Goal:
This tutorial will illustrate a method used to log the block condition and block onset time in an
experiment. The structure of this experiment is optimal for EEfMRI package to log data.
Overview of Tasks:
Add the fMRILogUserEventBlock PackageCall to the experiment.
Edit the fMRILogUserEventBlock PackageCall.
Insert fMRILogUserEventBlock PackageCall in the appropriate places in the experiment.
48
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
The fMRILogUserEventBlock PackageCall directs EEfMRI to log timing information and a user defined
condition ID into the .PDAT file for later use during analysis.
49
Chapter 2: Tutorials
This PackageCall requires the user to designate how timing information about a particular event
is recorded and associated with that name. In this example we will use the -2 option to record
onset times and the BlockCondition attribute to rename the condition based on the procedure the
experiment calls.
4
5) Select fMRI from the Package
dropdown list.
50
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
During analysis it is necessary to know what condition is active at any given point throughout the
duration of the experiment. In order to achieve this, the fMRILogUserEvent PackageCall needs to be
placed at the beginning of each BlockProcedure.
2) Select the
fMRILogUserEventBlock located
on the RestBlockProc.
51
Chapter 2: Tutorials
Task 3: Test
Run the experiment to verify that the appropriate prompts are presented and no runtime errors are
generated.
You have now completed the basic steps necessary to log the block condition.
Note: There will be no observable difference in the timing. If you desire to see the result of
the changes you made, examine in the .PDAT file.
52
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
Resave
Only follow the steps below if you havent completed tutorial 5.
1) Select the File|Save As... from the application menu bar.
2) Type fMRIPress.es as the new name in the File name field.
3) Click the Save button.
Summary:
In order to analyze fMRI data it is essential to know the stimulus order, what time the
stimulus occurred and the participants response to the stimulus. This data is often referred
to as the stimulus record or the behavioral data. E-Prime collects the data and EEfMRI is able
to write it to a file that is optimal for data analysis, the .PDAT file.
Goal:
This tutorial will illustrate the how to log the stimulus, participants responses and
stimulus onset times for each as well as the response for the stimulus and behavioral
response data collected during an fMRI experiment in the .PDAT file.
Overview of Tasks:
Add the fMRILogEvent PackageCall to the experiment after the event.
Edit the fMRILogEvent PackageCall to record the stimulus condition and time.
Add fMRILogResponseEvent PackageCall to the experiment.
Edit the fMRILogResponseEvent Package to collect the participants responses and time.
53
Chapter 2: Tutorials
It is crucial to log the onset time and condition of the stimulus throughout the duration of an
experiment. The fMRILogEvent directs EEfMRI to record this information in the .PDAT for use in later
analysis.
1
3) Click on the PackageCall1
object to select it then press F2
to rename the object to
fMRILogEventStimulus.
Then press Enter to accept the
change.
54
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
The fMRILogEventStimulus PackageCall requires the user identify the object to be recorded in the
.PDAT file. In this instance we want to document the Stimulus object. In order to accurately record
what stimulus was shown we will use the hand and finger attributes from the PressTrial List and we
will use the -1 option to collect the timing information.
8) Click OK.
55
Chapter 2: Tutorials
This PackageCall enables EEfMRI to output the participants response and the time it occurred into
the .PDAT file. It is important to place the call after the response has transpired.
56
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
4 5
5) Select LogResponseEvent.
57
Chapter 2: Tutorials
Task 3: Test
Run the experiment to verify that the appropriate prompts are presented and no runtime errors are
generated.
You have now completed the basic steps necessary to log timing and experimental condition
information to the .PDAT file. After you run the experiment examine the .PDAT file.
58
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
Resave
Only follow the steps below if you havent completed tutorial 6.
1) Select the File|Save As... from the application menu bar.
2) Type fMRIPress.es as the new name in the File name field.
3) Click the Save button.
Summary:
The ultimate goal of running an experiment is to collect usable data. To maximize the
potential that the data is good, experimental participants are often trained before the actual
functional MRI to insure the task is adequately understood. During the training process it is
necessary to provide the participant with feedback to facilitate his/her learning process.
However, when it is time to start the data collection feedback is often unnecessary or
unwanted. It is advantageous for an experiment to have the ability to control the presence
or absence of feedback when the experimenter deems necessary.
Goal:
This tutorial will illustrate how to create a practice run and include it as a menu item.
Overview of Tasks:
Edit the RunList object to include a practice run.
Add an InLine object capable of skipping feedback when the run is not a practice run.
Add a Label to indicate where to resume the experiment if feedback is skipped.
59
Chapter 2: Tutorials
Add an Attribute to the RunList and name it Practice. The difference between a practice and
experimental run is the presence or absence of feedback presentation to the participant. To enable
an experiment with the ability to halt or display feedback requires several steps. The first step is to
provide a way to designate when the experiment is required to run a practice or an experimental run.
We will accomplish this by adding an Attribute and naming it Practice.
4
3
60
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
Recall from Tutorial 2 that the MenuItem Attribute controls the text items that populate the user
menu. You will need to provide the user a way to distinguish a practice run from an experimental run.
In order to this, edit the MenuItem Attribute to read, Press-Practice. You will also need to designate
a procedure for the experiment to execute during the practice run, choose PressRunProc.
61
Chapter 2: Tutorials
In this step we will enable the program to skip the feedback display if the user has selected the
Press (non-practice) run. This requires adding an InLine object to the TrialProc that instructs the
experiment to skip over the Feedback object and go to a designated label (We will add the label in
Task 4).
1
3) Click the InLine1 object to
select it, then press F2 to
rename the object to
CheckSkipFeedback.
Press Enter to accept the
change.
5) Edit the
CheckSkipFeedback InLine 3
to read:
If c.GetAttrib(Practice)=no
Then GoTo SkipFeedback
62
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
Designate the proper place in the experiment for it to resume once it skips the Feedback object.
63
Chapter 2: Tutorials
You have now completed the basic steps necessary to create practice run. Run the experiment in
practice mode to view the trial by trial feedback and then select the Press option to compare.
3 3
3) Click OK to accept the default
values for Subject Number,
Session Number and summary
confirmation.
When you are actually running
3
the experiment change the
appropriate fields to reflect the
pertinent information. 4
64
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
Chapter 3: Reference
3.1 Package Calls
The following pages describe in detail the fMRI PackageCalls. The formatting is as follows; name
of the PackageCall, overview of the PackageCall, parameters of the PackageCall and any relevant
examples. The PackageCalls are named by the convention the program expects. This naming
convention is not necessary, but is recommended. Naming the PackageCalls otherwise will trigger a
dialog box to inform you, that you are not naming the PackageCall in the way the program expects.
The overview section describes the function of the PackageCall and other useful information about
the PackageCalls features. The parameter section delineates the options available to the user. It
is read as follows; the italicized text is the variable. Except in the case of c the italicized text will
need to be renamed by the user. When the examples are present they serve to clarify points made
in the overview and parameters.
65
Chapter 3: Reference
fMRISessionInit
Overview: This PackageCall is used to initialize fMRI support in the E-Prime experiment at the
session level. It loads the default parameter settings for the other PackageCalls and
initializes the system hardware. It also manages the file buffer. This means it creates
a file to write data to, opens the file for writing and closes the data file when data
collection has concluded. It creates a file with the extension .PDAT and names it by
default (ExperimentName-SubjectNumber-RunNumber .PDAT). If desired the user is
able to specify the name of the .PDAT file and can also specify the names for the user
defined columns. This call must be executed at the Session Level.
Parameters: c As Context
Sets the current experiment context.
strState As String
Options: on , off
Allows user to turn on or off the fMRI Package File support, default is on.
66
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
fMRIMenuBegin
Overview: This call implements an interactive menu using a specified List Object at the Run
Level (see E-Basic help for description and properties of List Object). The menu is
created dynamically by extracting text from a designated attribute (MenuItem) within
the List Object. The MenuItem attribute is defined by a column in the List Object (e.g.,
MenuList).
The text in the cell of the MenuItem column is presented on the menu screen and is
visible to the user and to the participant. When a menu item is selected at runtime the
corresponding row of the List Object is selected and executed.
In the experiment structure the fMRIMenuBegin PackageCall must be followed by the
menu List Object and the List Object must be followed by the fMRIMenuEnd package
call.
For example:
fMRIMenuBegin
MenuList (object that contains MenuItem attribute)
fMRIMenuEnd
Parameters: c As Context
The current experiment context.
strMenuState As String
Options: on , off
Enables or disables the display of the menu at runtime. When the menu is
enabled it will be displayed to the user and the Selection, Reset/Exit related
properties specified on the List Object will be ignored. When the menu is
disabled the List Object will execute normally.
theMenuList As List
The List Object is used to create the menu. The List Object is required to
contain an attribute whose contents are the text displayed to the user. By
default the attribute is expected to be named MenuItem, but may be changed
using the following optional parameter.
67
Chapter 3: Reference
fMRIMenuEnd
Overview: This PackageCall completes the implementation of a menu that was defined by the
fMRIMenuBegin call. In the experiment structure the fMRIMenuEnd PackageCall
must follow the List Object and the List Object must follow the fMRIMenuBegin
package call.
For example,
fMRIMenuBegin
MenuList
fMRIMenuEnd
It is recommended that the fMRIMenuEnd call is placed at the end of the
Session Level.
Parameters: c As Context
The current experiment context.
68
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
fMRIRunBegin
Overview: This call designates the beginning of a new run by writing a RunBegin record to the
.PDAT file, including a run start time and condition. By default the command will
overlay a text message on the current screen and then wait for a designated trigger
key to start the run. The trigger time is saved as the zero time for the run. The
default functionality may be overridden by use of various parameters. If you are
handling trigger detection and synchronization yourself you should still call this
command after the trigger is received, and pass in the timestamp of the trigger and
the appropriate condition. This will cause the RunBegin record to be written to the
.PDAT file with the appropriate condition and experiment start time to be used in later
analyses.
Parameters: c As Context
The current experiment context.
nTriggerTime As Long
A millisecond timestamp to associate with the trigger. If -1 then this call will
wait until one of the designated trigger is received from the scanner trigger
pulse or designated trigger key before returning. If non-zero, then this value will
be used directly as the trigger time and the system will NOT wait for a trigger.
strRunConditionId As String
A string that identifies the current run condition.
69
Chapter 3: Reference
fMRIRunEnd
Overview: This PackageCall designates the end of a current run by writing a RunEnd record to
the .PDAT file. If the user decided to break out of the run before it ends, a RunBreak
record written instead. An optional timing report will also be generated and displayed
to the user. If fMRIRunBegin was called to begin the run then this call is required to
complete the run.
Parameters: c As Context
The current experiment context.
nReportDuration As Long
Specifies how long the report should be in milliseconds unless one of the flag
values below is specified.
0 = disable the report (do not show the report)
-1 = leave the report displayed to the user until the {Enter} key is
pressed.
70
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
fMRILogEvent
Overview: This call logs an event record to the .PDAT file. It should be placed after the object
that you associate with the event (e.g. stimulus presentation object) has been run so
that the correct timing information for the event is logged in the .PDAT file. The record
id is hardcoded as Event. This call must be associated with an Object (see E-Basic
help for details regarding Objects), usually the Object presenting the experimental
stimulus.
Parameters: c As Context
The current experiment context.
StimulusObject As RTERunnableInputObject
The object that corresponds to the event (e.g. Stimulus). The time of the event
will be set to the value saved in objects OnsetTime property.
nDuration As Long
The duration that will be associated with the event. The duration passed in
will be used directly unless one of the following flag values is supplied.
-1 = Set the duration based on value of the theObject.Duration
property.
-2 = Flag the value to be calculated via post processing.
strConditionId As String
A string that describes an experimental condition to associate with the event.
71
Chapter 3: Reference
fMRILogResponseEvent
Overview: Logs a Response Event record to the .PDAT log file. The response information will be
extracted from the Object passed in, usually the Object presenting the experimental
stimulus. The record id is hardcoded as Response, and the RT will be logged as the
duration for the event.
Parameters: c As Context
The current experiment context.
StimulusObject As RTERunnableInputObject
The object that enabled and collected the response. The time of the event will
be set to value saved in objects OnsetTime property.
nDuration As Long
The duration that will be associated with the response event. The duration
passed in will be used directly unless one of the following flag values is
supplied.
-1 = Set the duration to the value of objects RT property.
-2 = Flag the value to be calculated via post processing.
strConditionId As String
A string that describes an experimental condition to associate with the event.
72
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
fMRILogUserEvent
Overview: This call is like the fMRILogEvent call. It logs a user defined event record in the .PDAT
file. The difference is that it does not have to be associated with an Object.
For example if there is a period of time when the participant is memorizing stimuli,
this
would be the PackageCall that you would use.
Parameters: c As Context
The current experiment context.
nOnsetTime As Long
The onset time that will be associated with the event. The onset time passed
in will be used directly unless one of the following flag values is supplied.
-1 = Get a current timestamp by calling Clock.Read
-2 = Get an expected timestamp by calling GetNextTargetOnsetTime()
nTargetOnsetTime As Long
The target onset time that will be associated with the event. The target onset
time passed in will be used directly unless one of the following flag values is
supplied.
-1 = Get a current timestamp by calling Clock.Read
-2 = Get an expected timestamp by calling GetNextTargetOnsetTime()
strRecordId As String
A string id that describes the type of event record described. The fMRI system
reserves some default id strings, but the user may define their own as needed
to assist in post processing activities.
nDuration As Long
The duration that will be associated with the event. The duration passed in
will be used directly unless one of the following flag values is supplied.
-1 = Unused.
-2 = Flag the value to be calculated via post processing.
strConditionId As String
A string that describes an experimental condition to associate with the event.
73
Chapter 3: Reference
fMRIResetListByName
Overview: The experimental level at which you reset the list will vary depending on the type of
experiment you want to run. If you reset the list at the block level, every time that
block is run you will regenerate the list. This could cause a member of that list to be
repeated during the same experimental run (in this example a run is defined as
every time the scanner starts and stops.) and session This will repeat stimuli to the
same participant. If you rest the list at the run level, the list will be refreshed every
run. This will allow you to set the stimulus presentation to random, and run many
blocks without showing a repeat list member.
Accepts a comma delimited string of List names and performs a List.Reset call to
each List that is named. This will reset the items contained in the list so that all items
are once again available for sampling.
Parameters: c As Context
The current experiment context.
strListNames As String
A comma delimited string containing the names of List objects that should be
74
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
fMRICheckForBreak
Overview: Checks for a user break request. If a break request is detected the currently running
List will be terminated.
Parameters: c As Context
The current experiment context.
75
Appendix A: MapperOne Experiment Description
Task Overview
There are five tasks contained in this set divided into four runs. To save time the visual and motor
tasks have been combined. All of the tasks except the emotional pictures task consist of a probe
block (18 seconds duration) alternated with a control block of equal length, and an interstimulus
interval (ISI) of two seconds.
Each run consist of eight blocks and last for two minutes and twenty-eight seconds. Recommended
scanning parameters are TE = 35ms, FOV=20cm, TR=3000ms, two discarded acquisitions 37 slices.
The tasks are set up for the instructions to verbally be given to the participant at the beginning of
each block. It is highly recommended that the participant practice the task prior to the actual scan.
The emotional pictures task consists of a neutral and probe block (both 18 seconds), a rest block (6
seconds) and an ISI of 3 seconds. Each block condition repeats four times and the run lasts three
minutes and 10 seconds.
76
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
For example:
IN
3 3
4 4
2 2
5 5
1 1
During the flashing checkerboard pattern, remind the participant to remain still. The digit blocks and
visual stimulation will alternate eight times.
77
Appendix A: MapperOne Experiment Description
For example:
Trial 1 2 3 4
Noun truck apple key dog
Silent Verb drive eat unlock bark
In trials one and three, the verb could have also been honk and lock respectively. Be sure to inform
the participant there are no right or wrong answers. The important thing is that they think of a verb.
The control blocks and verb generation blocks will alternate several times.
78
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
If the letters are shown, in yellow then the participant will perform a slightly harder task called Two-
Back or letter skips task. During the two-back task the participant will need to keep the previous
two letters in their working memory, compare them to the letter presented in the current trial and
make a judgment if the letter in the current trial is the same letter as the letter presented two trials
ago. If the letter shown in the current trial matches the letter shown two trials back, the participant
should respond by pressing the 2 key (index finger on their right hand). If the letter does not match
the letter shown in the previous two trials the participant should respond by pressing the 3 key
(middle finger on their right hand).
For example:
Trial 1 2 3 4 5 6 7
Letter G J J K J G K
Correct
2 2 2 2 3 2 2
Response
The table above shows a series of letters. The only target occurs on trial five because trail three (the
trial two previous) is the same letter; the target letter skips a letter.
The Zero-Back (red) and Two-Back (yellow) blocks will alternate several times.
79
Appendix A: MapperOne Experiment Description
Emotional Pictures
In this task the Participant will passively observe a fixation for a short period of time. The Participant
will then passively observe a control stimulus (alternating pictures of unemotional pictures) for
a period of time. The Participant will then passively observe a series of emotional pictures. The
control blocks and emotional pictures blocks will alternate several times.
4 sec 18 sec 6 sec 18 secs 6 sec 18 sec 6 sec 18 sec 6 sec ...
Fixation Control Rest Emotional Rest Control Rest Emotional Rest
Pictures Pictures
We are not legally able to distribute the control and emotional pictures, actually used in the
Drobyshevsky et. al. publication. The original experiment used images from the The International
Affective Picture System (IAPS).
IAPS provides normative ratings of emotion (pleasure, arousal, dominance) for a set of color photo-
graphs that provide a set of normative emotional stimuli for experimental investigations of emotion
and attention.
You can request a copy of the stimuli via this web site:
http://csea.phhp.ufl.edu/media/iapsmessage.html
80
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
The OnsetTime is the PackageCall timestamp (computer clock time, ms), and the TargetOnsetTime is
when the program expects the PackageCall (computer clock time, ms).
Please note:
All of the fields except the The RESP, CRESP, ACC, RT, and RTTime are empty
because the PackageCalls that populate the fields have not yet been added to the
experiment.
81
Appendix C: Configuring your MapperOne Experiment to Left-Right Unique
Note: You must have E-Prime Version 1.2 or higher to enable the experiment and accept the trigger
pulse from the BNC connection. The experiment we will use is located in the My Documents\My
Experiments\Samples\MapperOne folder, that is installed when you install E-Prime.
If you do not have this experiment, follow the instructions below.
82
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
1 1
2) Click the Cancel button.
83
Appendix C: Configuring your MapperOne Experiment to Left-Right Unique
5) Click OK.
6) Click Yes.
8) Click OK. 4
84
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
The E-Studio application is installed as part of the standard E-Prime installation. This application is
used to create, modify and test experiments within E-Prime. Open the E-Studio application, navigate to
the appropriate folder and load the MapperOne.es2 sample experiment.
Under Windows XP the folder will be:
My Documents\My Experiments\Samples\MapperOne\MapperOne.es
85
Appendix C: Configuring your MapperOne Experiment to Left-Right Unique
The E-Studio application is installed as part of the standard E-Prime installation. This application is
used to create, modify and test experiments within E-Prime. Open the E-Studio application, navigate to
the appropriate folder and load the MapperOne.es2 sample experiment.
Under Windows XP the folder will be:
My Documents\My Experiments\Samples\MapperOne\MapperOne.es
86
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
The SRBox needs to be added to the Experiment Objects to emulate the keyboard. If the experiment
is not configured as instructed below the hardware and E-Prime will not effectively communicate; the
FOBRS hardware will send the {^} to trigger the experiment, but E-Prime will not recognize the character
properly.
87
Appendix C: Configuring your MapperOne Experiment to Left-Right Unique
Task 3: (continued) Add and Configure the SRBox to Experiment Object Properties
Open the Experiment Object and use the Devices tab to add the SRBox to the experiment and edit the
SRBox to enable Left/Right unique.
10
88
EEfMRI Getting Started Guide PST- 100-666-Rev 1.0
Task 4: Test
Run the experiment to verify that the appropriate prompts are presented and no runtime errors are
generated.
The experiment you just saved is now enabled to use both the right and left response unit.
89
Technical Support
Psychology Software Tools, Inc. provides technical support for E-Prime via the PST web site.
You must register online at http://www.pstnet.com/e-prime/support/login.asp to receive technical
support. To register you simply need a valid serial number. At the support site, you will also find
a Knowledge Base including release notes and a compilation of frequently asked questions. In
addition, the support site also includes E-Prime sample paradigms that are available for you to
download.
90