FEAT Extras Practical
This practical contains an overview of some advanced analysis methods
available in FEAT. It leads you through some of the more advanced usage and
concepts in both single-session and higher-level FEAT analyses. Feel free to
do the latter two sections in a different order if you are particularly
interested in any of them.
- Custom Waveforms
- An example of the options for setting up first-level FEAT analyses
with simple designs that do not require timing files.
- HRF Basis Functions
- Create and use basis functions to model more general / flexible HRF
It is possible to specify EVs in FEAT using Custom Waveforms. Here, a
simulated dataset has been generated with some event-related conditions to
Open FEAT (
Feat_gui & on Mac]) and follow the
- Select the data
artdata.nii.gz (you may get a warning about
pre-set options, you can ignore it). This dataset has already been
preprocessed, so change Full analysis to Statistics .
- Go to Full model setup (under the Stats tab) and set 3 EVs
(there are three different things going on in the data with their own
timings). We will convolve all of these EVs with a gamma function.
- Condition 1 is a boxcar (square wave) design so set EV1 to be
Off=20 On=20 Phase=10.
- Condition 2 is a jittered event-related design with
inter-stimulus-interval (ISI) > 20s and mean(ISI)=25s; so set EV2's
Basic shape to custom (3 column format); select the
jittered_isi_custom_file.dat. In the terminal
have a quick look at the custom file with the
command. The 3 columns are explained in the
- Condition 3 is randomised event-related with ISI>3s and mean(ISI)=6s;
set EV3's shape to custom (3 column format); select the filename
- Set 3 contrasts [1 0 0] [0 1 0] and [0 0 1] and an F-test [1 1 1] - that
is, select all three t-contrasts to be part of the
F-test. Press Done. Press Go and wait for exciting results!
On the FEAT report page look at the time series plots of data vs
- If you have time, have a detailed look at the timeseries plots in
the Post-stats section of the webpage report. For example, click on
the zstat1 timeseries plot, to see more information about the
fitting related to contrast 1. Find the Peristimulus plot for EV1;
this shows the data points for all repeats of the condition described in
EV1, collapsed down to one "average" version of that
stimulus. In this case this means all repeats of the basic block-design
on-off shape. Now go back and click on the zstat2 timeseries plot,
to see more information about the fitting related to contrast 2. Find
the Peristimulus plot for EV3; in this case the plot is showing
all repeats of the brief event.
- Now start
fsleyes, load in the
filtered_func_data image in
the FEAT output directory, and select View -> Perspectives ->
FEAT mode. You should be able to see the data timeseries, and the
model fit for the current voxel. If you now open the time series control
panel (Settings -> Time series 2 -> Time series control),
expand the FEAT settings for currently selected overlay section,
and check the Plot COPE1 fit box, you will see the data, full
model fit, and the COPE1 fit, for the current voxel.
This section shows you how basis functions can be setup and used in FEAT. The
dataset we will use is a jittered single-event experiment with 200 time
points. The stimulus is heat applied for 3 seconds with an average
inter-stimulus interval of 70 secs. We will only analyze one slice to allow
for quick processing.
- Press Select 4D data and select
This dataset has already been preprocessed, so change Full analysis
- Set the High pass filter cutoff to 50sec.
- Setup one EV using the Custom (3 column format)
pain_paradigm.txt. Note that this is the underlying
experimental stimulus and is assumed to also correspond to the neuronal
response to the stimulus. This needs to be convolved with our assumed
To start with we will analyze the dataset assuming a fixed Gamma HRF (no
basis functions) and then compare the results with a set of the optimal linear
- Hence, for the EV leave the Convolution as Gamma, BUT
turn OFF Add temporal derivative as we want to show the results for
when a simple, fixed HRF is assumed.
- Take a look at the contrasts - the default OC1 contrast
 is fine. You need to also make an F-contrast consisting
only of ev1 so that we can compare it to what we will do later.
- Press Done and view the design.
- Take a look at the Post-stats tab - the defaults are fine.
- Press Go and wait for the results. On the FEAT report
page look at the time series plots of data vs model.
We will now process the same data using FMRIB's Linear Optimal Basis Set
(FLOBS) and compare the results. Kill and
Feat, and then follow the instructions
- Press Load and select the design.fsf file in
the filtdata.feat created from the fixed Gamma HRF analysis we have
just performed. This loads up the design we just used - saving us the
effort of having to setup many of the same options again.
- The only bit we need to change is in Full model setup in
the Stats tab. We need to change the
Convolution option to Optimal/custom basis functions.
- We can now specify the FMRIB's Linear Optimal Basis Set (FLOBS)
filename we wish to use. By default the FLOBS provided in
$FSLDIR/etc/default_flobs.flobs is used - so leave that
selected. You can generate your own customised FLOBS by
selecting Utils > Make_flobs on the main FEAT setup GUI (if
you have time later then come back and try generating your own basis
functions with this GUI and feed that into FEAT).
- Now look at the Contrasts and F-tests tab. We have two ways of
setting up contrasts with basis functions. This is via consideration of
the Original EVs or the Real EVs.
- The default is to work with the Original EVs. Original EVs
correspond to the true underlying effects/conditions in the
experiment. Hence, to investigate if the effect is significant, a simple
- Now press View Design and the actual design matrix to be used is
displayed. This shows one EV for each of the basis functions convolved
with the experimental stimulus. The single Original EV is
automatically expanded into the Real EVs that need to be actually
used in the design matrix when modelling with basis functions. Note that
 contrast will be actually carried out by the F1 f
contrast. Why is this the correct way to do the test?
- Return to Contrasts and F-tests and change Original EVs
to Real EVs. The single Original EV is again automatically expanded
into the Real EVs actually used in the design matrix, but now you have
control of the actual contrast settings used.
- Again press View Design and the design should be exactly the
same as it was before.
- Press Done and then press Go and wait for the results.
Take a look at the FEAT report. In particular, look at the peristimulus
(PST) plots by clicking on the model fit plots. The peristimulus plots
show the fits to a single epoch of stimulation. The data actually
acquired at each repeat of the stimulation is plotted as a scatter of
points. The full model fit on the peristimulus plot indicates the
HRF formed by fitting the basis set to the data.
- Compare this FEAT report with the FEAT report from the single HRF Gamma
run previously. Are there any differences?
- If you get time at the end of this session try running a range of
different basis sets, e.g. Sinusoidal, FIR. In particular, have a go at
making your own customised basis set (FLOBS) using Utils >
Make_flobs on the main FEAT setup GUI.