Archived FMRI pipeline: Difference between revisions

From Brain Mapping Unit
Jump to navigationJump to search
m (mk556 moved page FMRI to Archived FMRI pipeline without leaving a redirect: outdated)
 
(30 intermediate revisions by 2 users not shown)
Line 1: Line 1:
NOTE: THIS PAGE NEEDS FILLING IN!
==About fMRI data and file types==
Raw fMRI data is saved in .dcm (dicom) files. Typically these .dcm files correspond to individual slices, and the resulting 3D image (or a time-series of 3D images) is saved in a .nii (nifti) file. Raw dicom files can be transformed into nifti format using SPM (a MATLAB software package implementing Statistical Parametric Mapping for neuroimaging data) or other software such as MRIcro or Freesurfer. (Note that, when handling neuroimaging data, you need to take special care that the orientation of the images is correct.)


==About fMRI data and file types==
==Standard Preprocessing Steps & The Pipeline==
Raw fMRI data is saved in .dcm (dicom) files. Typically these .dcm files correspond to individual slices, and the resulting 3D image (or a time-series of 3D images) is saved in a .nii (nifti) file. Raw dicom files can be transformed into nifti format using SPM (a MATLAB software package implementing Statistical Parametric Mapping for neuroimaging data) or other software such as MRIcro.
NOTE THAT THIS IS NOT THE MOST UPTO DATE PIPELINE, which is why we don't link to the relevant code here. We have kept this section for reference, and since the main preprocessing steps are standard, the documentation may be a useful guide.
PLEASE SEE SECTION ON MOTION (below) for the new pipeline (which can be downloaded from the secure wiki).


Note that, when handling neuroimaging data, you need to take special care that the orientation of the images is correct.
The input to the pre-processing pipeline must be provided in nifti (.nii) format (see section above). The following PDF [[http://bcni.psychol.cam.ac.uk/~pv226/fmri_preprocessing.pdf]] describes 6 broad stages of fMRI preprocessing:


==Standard Preprocessing Steps & The Pipeline==
'''Signal preprocessing'''
In what follows, we describe the broad stages of fMRI preprocessing. Note that the pipeline saves the data after each intermediate step in newly created files with relevant prefixes.


====Slice-timing correction====
1. Preprocessing of anatomical images
This step corrects for the time-delay between the acquisition of different slices.  
====Rigid body correction====
This step estimates, characterises and broadly corrects for the effect of head-motion. It is also the step at which one can exclude subjects with excessive head-motion (e.g. more than a voxel size).
====Registration to standard space====
Chose source image, template (EPI), method, image size, voxel size (2x2x2). (This is the 'Normalize' option in SPM. )
====Regressing out head motion, CSF, white matter & physiological signals====
(In SPM, this is done under '1st level analysis' -> 'Data and design' -> 'Multiple regression'.)


==Parcellation==
2. Preprocessing of functional images


==Wavelet Decomposition==
3. Anatomical standardization of functional images
A very basic tutorial on wavelets can be found here: [[http://person.hst.aau.dk/enk/ST8/wavelet_tutotial.pdf]]


For details on the wavelet toolbox in MATLAB, read: [[http://web.mit.edu/1.130/WebDocs/wavelet_ug.pdf]]
4. Removal of noise signal


==The Question of Smoothing==
'''Network construction'''
Required before VBM. Important for finding activations regions. Not used when parcellating (for network analysis).


==DVARS and the Motion Problem==
5. Construction of nodes: Parcellation
Attached is dvars.py and dvars_mo.py to generate "Petersen plots."
Here are the requirements


-python (you have it if you're on mac or linux, but an upgrade to
6. Construction of links
2.7.x from python.org is suggested)


-numpy (a version appropriate for your OS and python version, if you
NB: The pipeline ends once the full, weighted adjacency matrix is defined. Network analyses need to be carried out separately.
haven't installed numpy yet)


-NiBabel, at a command prompt, run
 sudo easy_install nibabel


Then run the code as such:
'''The pipeline uses the following software packages:'''


1. RMS Delta Displacement plot:
* AFNI (Analysis of Functional NeuroImages - made by the NIH)


python dvars_mo.py <rigid body motion parameter file>
* FSL (FMRIB Software Library - made by the FMRIB in Oxford)
 i.e.     python dvars_mo.py motionXYZ.1D
this will output a file called motionXYZ_dvars.1D


2. %DVARS
* WMTSA (Wavelet Methods for Time-Series Analysis - a Matlab or R program for computing frequency-band specific “wavelet” correlations) . A very basic tutorial on wavelets can be found here: [[http://person.hst.aau.dk/enk/ST8/wavelet_tutotial.pdf]]. For details on the wavelet toolbox in MATLAB, read: [[http://web.mit.edu/1.130/WebDocs/wavelet_ug.pdf]].
python dvars.py <NIFTI dataset>
 i.e      python dvars.py foobar.nii.gz
this will output a file called foobar_dvars.1D


The input dataset should be at least roughly masked, but otherwise can
Note that it saves the data after each intermediate step in newly created files with relevant prefixes.
be raw or preprocessed data. If data is preprocessed and the mean has
been removed, run like this:


python dvars.py <preprocessed NIFTI dataset> <NIFTI dataset with
non-zero means, 3D or 4D>


The numbers in the fMRI DVARS are in percent signal change, so they
==The Motion Problem==
should be consistent across subjects and vary with the amount of
In short, the 'motion problem' refers to the recent (2012) discovery that even tiny head-motion can lead to severe artifacts in connectvitiy analyses of resting state fMRI data. We have recently set up a 'task-force' to try to better understand and deal with this problem. The task-force holds regular meetings to keep efforts integrated and the key ideas emerging from these meetings will be logged on a parallel (secure) wiki which also contains benchmark data and useful code generated along the way:
motion subjects have. FYI, the baseline of DVARS will be higher with
more thermal noise or continuous noise that you have, so for example,
with people with a lot of cerebral pulsation from vasculature, the
baseline DVARS% will be high.


Enjoy, and let me know if something breaks or if you need help.
[https://wiki.cam.ac.uk/bmuwikisecure/Motion_Task-Froce_Meetings_and_Related_Code Secure Wiki]


==Back To Main Page==
==Back To Main Page==
[[Main Page]]
[[Main Page]]

Latest revision as of 10:53, 10 May 2018

About fMRI data and file types

Raw fMRI data is saved in .dcm (dicom) files. Typically these .dcm files correspond to individual slices, and the resulting 3D image (or a time-series of 3D images) is saved in a .nii (nifti) file. Raw dicom files can be transformed into nifti format using SPM (a MATLAB software package implementing Statistical Parametric Mapping for neuroimaging data) or other software such as MRIcro or Freesurfer. (Note that, when handling neuroimaging data, you need to take special care that the orientation of the images is correct.)

Standard Preprocessing Steps & The Pipeline

NOTE THAT THIS IS NOT THE MOST UPTO DATE PIPELINE, which is why we don't link to the relevant code here. We have kept this section for reference, and since the main preprocessing steps are standard, the documentation may be a useful guide. PLEASE SEE SECTION ON MOTION (below) for the new pipeline (which can be downloaded from the secure wiki).

The input to the pre-processing pipeline must be provided in nifti (.nii) format (see section above). The following PDF [[1]] describes 6 broad stages of fMRI preprocessing:

Signal preprocessing

1. Preprocessing of anatomical images

2. Preprocessing of functional images

3. Anatomical standardization of functional images

4. Removal of noise signal

Network construction

5. Construction of nodes: Parcellation

6. Construction of links

NB: The pipeline ends once the full, weighted adjacency matrix is defined. Network analyses need to be carried out separately.


The pipeline uses the following software packages:

  • AFNI (Analysis of Functional NeuroImages - made by the NIH)
  • FSL (FMRIB Software Library - made by the FMRIB in Oxford)
  • WMTSA (Wavelet Methods for Time-Series Analysis - a Matlab or R program for computing frequency-band specific “wavelet” correlations) . A very basic tutorial on wavelets can be found here: [[2]]. For details on the wavelet toolbox in MATLAB, read: [[3]].

Note that it saves the data after each intermediate step in newly created files with relevant prefixes.


The Motion Problem

In short, the 'motion problem' refers to the recent (2012) discovery that even tiny head-motion can lead to severe artifacts in connectvitiy analyses of resting state fMRI data. We have recently set up a 'task-force' to try to better understand and deal with this problem. The task-force holds regular meetings to keep efforts integrated and the key ideas emerging from these meetings will be logged on a parallel (secure) wiki which also contains benchmark data and useful code generated along the way:

Secure Wiki

Back To Main Page

Main Page