top | previous | FSFAST Tutorial Top
Preprocessing in FS-FAST
Contents
1. Introduction to FSFAST Preprocessing
Once the data have been arranged in the proper directory structure and naming convention, they are ready to be preprocessed. Preprocessing includes
- Template Creation
- Brain Mask Creation
Registration with FreeSurfer Anatomical
- Motion Correction
- Slice Timing Correction (if using)
- Spatial Normalization
- Masking
- Spatial Smoothing
In FS-FAST, it is assumed that each data set will be analyzed in three normalization spaces:
- Left Cortical Hemisphere
- Right Cortical Hemisphere
- Subcortical Structures (Volume-based)
You will need to decide how much to smooth the data and whether you want to do slice-timing correction. In this analysis, we will smooth the data by 5mm Full-Width/Half-Max (FWHM) and correct for slice timing. The slice-timing for this particular data set was 'Ascending', meaning that the first slice was acquired first, the second slice was acquired second, etc. To preprocess the data, run:
cd $FSFTUTDIR preproc-sess -s sess01 -fsd bold -stc up -surface fsaverage lhrh -mni305 -fwhm 5 -per-run
This data has already been preprocessed, so it should just verify that it is up-to-date, finishing in a few seconds. This command has several arguments:
- -s sess01 : indicates which session to preprocess
- -surface fsaverage lhrh : indicates that data should be sampled to the left and right hemispheres of the 'fsaverage' subject
- -mni305 : indicates that data should be sampled to the mni305 volume (2mm isotropic voxel size)
- -fwhm 5 : smooth by 5mm FWHM after resampling (volume and surface separately)
- -stc up : slice-timing correction with ascending ('up') slice order
- -fsd bold : indicate the functional subdirectory (FSD)
- -per-run : register each run separately
This command does a lot, and it can take quite a long time to run, especially for many subjects. Look at the contents of one of the run directories:
ls $FSFTUTDIR/sess01/bold/001
You will see many files there, but there are three important ones:
- fmcpr.up.sm5.fsaverage.lh.nii.gz - Left hemisphere of fsaverage
- fmcpr.up.sm5.fsaverage.rh.nii.gz = Right hemisphere of fsaverage
- fmcpr.sm5.mni305.2mm.nii.gz - Volume of fsaverage (MNI305 space) - for subcortical analyses
These are time series data, and their names indicate what has been performed on them:
- fmcpr - motion correction, per-run
- up - slice-timing correction using ascending
- sm5 - smoothed by 5mm FWHM (after resampling)
- fsaverage.lh - sampled on the surface of fsaverage left hemi
- fsaverage.rh - sampled on the surface of fsaverage right hemi
- mni305.2mm - sampled in the fsaverage (MNI305) volume at 2mm isotropic
To learn more about the details see PREPROC DETAILS below.
2. Quality Assurance
2.1. Motion Correction
The motion plots can be viewed with:
plot-twf-sess -s sess01 -fsd bold -mc
This gives the vector motion at each time point for each run. Note that it is always positive because this is a magnitude. It is also 0 at the middle time point because the middle time point is used as the reference.
There are no rules for how much motion is too much motion. Generally speaking, sudden motions are the worst as are task-related motion.
2.2. Functional-Anatomical Cross-modal Registration
You can get a summary of registration quality using the following command:
tkregister-sess -s sess01 -fsd bold -per-run -bbr-sum
This prints out a value for each run that indicates the quality of the registration with the anatomical.This will be a number between 0 and 1, with 0 being perfect and 1 being terrible. Actual values depend upon exactly how you have acquired your data. Generally, anything over 0.8 indicates that something is probably wrong.
You can view problematic registrations using the following command:
tkregister-sess -s sess02 -fsd bold -per-run
This will display each of the runs. Quit out of tkregister when you have glanced at the registration