FreeSurfer Slides
This tutorial steps you through the analysis of an fMRI data set with the FreeSurfer Functional Analysis Stream (FSFAST) version 5.1, from organizing the data to group analysis.
Contents
Tutorial Data Description
The data being analyzed were collected as part of the Functional Biomedical Research Network (fBIRN, www.nbirn.net).
- Working-memory paradigm with distractors
- 18 subjects
- Each subject has 1 run (except sess01 which has 4 runs)
- Collected at MGH Bay 4 (3T Siemens)
FreeSurfer anatomical analyses
Getting and Organizing the Tutorial
If you do not have the tutorial data set up, then consult the FsFastTutorialData page. You will need to set the FSFTUTDIR environment variable. NOTE: if you are taking a class at MGH, the data have already been set up on your computer.
cd into the tutorial data directory and run ls:
cd $FSFTUTDIR ls
You will see 18 folders with names like "sess09". These are the 18 subjects. There are some other files and folders there but don't worry about them now.
Understanding the FS-FAST Directory Structure
All of these sessions have been analyzed with the exception of sess01.noproc. This session is what the directory structure should look like immediately prior to beginning analysis. This includes:
- Directory stucture
- Raw data
- subjectname file
- Parasigm files for each run
The directory structure and raw data are usually created by "unpacking" the data with dcmunpack or unpacksdcmdir, but it could also be done by hand. The subjectname file and paradigm files must be added manually.
The 'Session' Folder
The folder/directory where all the data for a session are stored is called the 'session' or the 'sessid'. There may be more than one session for a given subject (eg, in a longitudinal analysis). Go into the sess01.noproc folder and run 'ls':
cd sess01.noproc ls
You will see see two folders ('bold' and 'rest') and a file called 'subjectname'.
The 'subjectname' File
subjectname is a text file with the name of the FreeSurfer subject as found in $SUBJECTS_DIR (ie, the location of the anatomical analysis).
View the contents of the text file (with 'cat', 'more', 'less', 'gedit', or 'emacs') and verify that this subject is in the $SUBJECTS_DIR.
NOTE: it is important that the anatomical data and the functional data be from the same subject. The contents of the subjectname file is the only link! Make sure that it is right! There is a check for this below.
Functional Subdirectories (FSDs)
The other two directories (bold and rest) are 'functional subdirectories' (FSDs) and contain functional data. If you 'ls rest' you will see '001'. If you 'ls bold' you will see '001 002 003 004'. Each of these is a 'run' of fMRI data, ie, all the data collected from a start and stop of the scanner.
Raw Data
Go into the first run of the bold directory with 'cd bold/001' and run ls. You will see 'f.nii.gz wmfir.par workmem.par'. The raw data is stored in f.nii.gz (compressed NIFTI) and is directly converted from the DICOM file. Examine this file with mri_info:
mri_info --dim f.nii.gz mri_info --res f.nii.gz
The first command results in '64 64 30 142'. This is the dimension of the functional data. Since it is functional, it has 4 dimensions: 3 spatial and one temporal (ie, 64 rows, 64 cols, 30 slices, and 142 time points or TRs or frames). The second command results in '3.438 3.437 5.000 2000.000'. This is the resolution of the data, ie, each voxel is 3.438mm by 3.437mm by 5.000mm and the TR is 2000ms (2 sec).
Paradigm Files
The workmem.par and wmfir.par files are paradigm files. They are text files that you create that indicate the stimulus schedule (ie, which stimulus was presented when).
View workmem.par. Each row indicates a stimulus presentation. You will see that each row has 5 columns. The columns are:
- Stimulus Onset Time (sec)
- Numeric Stimulus Identifier
- Stimulus Duration (sec)
- Weight (usually 1)
- Text Stimulus Identifier (redundant with Numeric Stimulus Identifier)
The Stimulus Onset Time is the onset relative to the acquiistion time of first time point in f.nii.gz. The Numeric and Text Stimulus Identifiers indicate which stimulus was presented. The Stimulus Duration is the amount of time the stimulus was presented.
In this case, there are 5 event types:
- Encode - encode phase
- EDistrator - emotional distractor
- EProbe - probe after emotional distractor
- NDistrator - neutral distractor
- NProbe - probe after neutral distractor
Note two things: (1) Not all the time is taken up, and (2) Basline/Fixation is not explicitly represented. By default, any time not covered by stimuluation is assumed to be baseline.
- What time was the third Encode presented?
- What time was the last Neutral Distractor presented?
- Is this timing for all runs the same?