User Tools

Site Tools


biac:analysis:resting_pipeline

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
biac:analysis:resting_pipeline [2012/05/31 16:16] – [Step 6] adminbiac:analysis:resting_pipeline [2012/07/09 19:02] – [Step 4] admin
Line 8: Line 8:
 Usage:  Usage: 
 resting_pipeline.py --func /path/to/run4.bxh --steps all --outpath /here/ -p func resting_pipeline.py --func /path/to/run4.bxh --steps all --outpath /here/ -p func
- 
  
 Program to run through Nan-kuei Chen's resting state analysis pipeline: Program to run through Nan-kuei Chen's resting state analysis pipeline:
Line 18: Line 17:
     4 - normalize data     4 - normalize data
     5 - regress out WM/CSF     5 - regress out WM/CSF
-    6 - bandpass filter +    6 - lowpass filter 
-    7 - produce correlation matrix from label file+    7 - do parcellation and produce correlation matrix from label file 
 +      * or split it up: 
 +         7a - do parcellation from label file 
 +         7b - produce correlation matrix [--func option is ignored if step 7b 
 +              is run by itself unless --dvarsthreshold is specified, and 
 +              --corrts overrides default location for input parcellation 
 +              results (outputpath/corrlabel_ts.txt)]
  
  
Line 29: Line 34:
                         run                         run
   -p func, --prefix=func   -p func, --prefix=func
-                        prefix for all resulting images, defaults to name of+                        prefix for all resulting images, defaults to name of                        
                         input                         input
 +  --t1=/path/to/BXH     bxh ( or nifti ) file for the anatomical T1
   -s 0,1,2,3, --steps=0,1,2,3   -s 0,1,2,3, --steps=0,1,2,3
                         comma seperated string of steps. 'all' will run                         comma seperated string of steps. 'all' will run
Line 48: Line 54:
                         standard brain                         standard brain
   --refcsf=FILE         pointer to CSF mask of reference image if not using   --refcsf=FILE         pointer to CSF mask of reference image if not using
 +                        standard brain
 +  --refbrainmask=FILE   pointer to brain mask of reference image if not using
                         standard brain                         standard brain
   --refacpoint=45,63,36   --refacpoint=45,63,36
                         AC point of reference image if not using standard MNI                         AC point of reference image if not using standard MNI
-                        brain                     +                        brain 
-  --betfval=0.        f value to use while skull stripping. default is 0.5+  --betfval=0.        f value to use while skull stripping. default is 0.4 
 +  --anatbetfval=0.5     f value to use while skill stripping ANAT. default is 0.5
   --lpfreq=0.08         frequency cutoff for lowpass filtering in HZ.  default   --lpfreq=0.08         frequency cutoff for lowpass filtering in HZ.  default
                         is .08hz                         is .08hz
Line 61: Line 70:
                         for the correlation search. default is the 116 region                         for the correlation search. default is the 116 region
                         AAL label txt file                         AAL label txt file
 +  --corrts=FILE         If using step 7b by itself, this is the path to 
 +                        parcellation output (default is to use 
 +                        OUTPATH/corrlabel_ts.txt), which will be used as input 
 +                        to the correlation. 
 +  --dvarsthreshold=THRESH 
 +                        If specified, this reprsents a DVARS threshold either 
 +                        in BOLD units, or if ending in a '%' character, as a 
 +                        percentage of mean global signal intensity (over the 
 +                        brain mask).  Any volume contributing to a DVARS value 
 +                        greater than this threshold will be excluded 
 +                        ("scrubbed") from the (final) correlation step.  DVARS 
 +                        calculation is performed on the results of the last 
 +                        pre-processing step, and is calculated as described by 
 +                        Power, J.D., et al., "Spurious but systematic 
 +                        correlations in functional connectivity MRI networks 
 +                        arise from subject motion", NeuroImage(2011).  Note: 
 +                        data is only excluded during the final correlation, 
 +                        and so will never affect any operations that require 
 +                        the full signal, like regression, etc. 
 +  --dvarsnumneighbors=NUMNEIGHBORS 
 +                        If --dvarsthreshold is specified, then 
 +                        --dvarsnumnumneighbors specifies how many neighboring 
 +                        volumes, before and after the initially excluded 
 +                        volumes, should also be excluded.  Default is 0. 
 +  --motionthreshold=THRESH 
 +                        If specified, any volume whose motion parameters 
 +                        indicate a movement greater than this threshold (in 
 +                        mm) will be excluded ("scrubbed") from the (final) 
 +                        correlation step.  Volume-to-volume movement is 
 +                        calculated per pair of neighboring volumes from the 
 +                        three rotational and three translational parameters 
 +                        generated by mcflirt.  Motion for a pair of 
 +                        neighboring volumes is calculated as the maximum 
 +                        displacement (due to the combined rotation and 
 +                        translation) of any voxel on the 50mm-radius sphere 
 +                        surrounding the center of rotation.  Note: data is 
 +                        only excluded during the final correlation, and so 
 +                        will never affect any operations that require the full 
 +                        signal, like regression, etc. 
 +  --motionnumneighbors=NUMNEIGHBORS 
 +                        If --motionthreshold is specified, then 
 +                        --motionnumnumneighbors specifies how many neighboring 
 +                        volumes, before and after the initially excluded 
 +                        volumes, should also be excluded.  Default is 1. 
 +  --motionpar=FILE.par  If --motionthreshold is specified, then --motionpar 
 +                        specifies the .par file from which the motion 
 +                        parameters are extracted.  If you allow this script to 
 +                        perform motion correction, then this option is 
 +                        ignored. 
 +  --scrubkeepminvols=NUMVOLS 
 +                        If --motionthreshold or --dvarsthreshold are 
 +                        specified, then --scrubminvols specifies the minimum 
 +                        number of volumes that should pass the threshold 
 +                        before doing any correlation.  If the minimum is not 
 +                        met, then the script exits with an error.  Default is 
 +                        to have no minimum.
   --cleanup             delete files from intermediate steps?   --cleanup             delete files from intermediate steps?
 </code> </code>
Line 89: Line 153:
   * the functional run is meaned across time with fslmaths, then bet is applied.  the resulting mask is then applied to the entire run of data   * the functional run is meaned across time with fslmaths, then bet is applied.  the resulting mask is then applied to the entire run of data
   * if you find that bet is doing a poor job finding the edges you can adjust the intensity threshold with **--betfval**   * if you find that bet is doing a poor job finding the edges you can adjust the intensity threshold with **--betfval**
-    * this is equivalent of **-f** when actually running bet.  the default is 0.5, but smaller values will be more conservative in finding the edges of the brain ( ie: larger mask ) +    * this is equivalent of **-f** when actually running bet.  the default is 0.4 (same as feat), but smaller values will be more conservative in finding the edges of the brain ( ie: larger mask ) 
 +  * if provided T1 anatomical is skull stripped. **--anatbetfval** is used to control intensity threshold, the default is 0.5 (same as feat)
 ==== Step 4 ==== ==== Step 4 ====
   * normalize the data using flirt   * normalize the data using flirt
Line 97: Line 161:
   * if your subject has already been normalized during standard pre-processing of other runs, please provide the flirt matrix from pre-stats with **--flirtmat** ( most likely example_func2standard.mat)   * if your subject has already been normalized during standard pre-processing of other runs, please provide the flirt matrix from pre-stats with **--flirtmat** ( most likely example_func2standard.mat)
     * this will apply the previously determined flirt matrix to your functional data instead of trying to calculate a new matrix based on the functionals.  the matrix from pre-stats was likely calculated using a high-resolution anatomical, also this will assure that your resting state runs are in the same space as the other runs from your subject.     * this will apply the previously determined flirt matrix to your functional data instead of trying to calculate a new matrix based on the functionals.  the matrix from pre-stats was likely calculated using a high-resolution anatomical, also this will assure that your resting state runs are in the same space as the other runs from your subject.
 +  * if you've provided at T1 anatomical image then this sequence is followed:
 +    * func-2-t1
 +    * t1-2-standard
 +    * flirt matrices are concatenated to create func-2-standard
 +  * if no T1 is provided, then the functional is used for the flirt normalization
  
 ==== Step 5 ====  ==== Step 5 ==== 
Line 110: Line 179:
 ==== Step 7 ====  ==== Step 7 ==== 
   * if defaults are used, then the aal_MNI_V4 label file is used to extract the average timeseries for each of the 116 regions   * if defaults are used, then the aal_MNI_V4 label file is used to extract the average timeseries for each of the 116 regions
 +  * if --dvarsthreshold or --motionthreshold are specified, then the ROI-averaged timeseries are further filtered ("scrubbed") by removing timepoints that exceed the given thresholds
   * cross correlation coefficients are found for the entire matrix of 116x116 regions   * cross correlation coefficients are found for the entire matrix of 116x116 regions
   * this step produces 4 files:   * this step produces 4 files:
biac/analysis/resting_pipeline.txt · Last modified: 2024/06/21 15:44 by 127.0.0.1