Differences between revisions 9 and 36 (spanning 27 versions)
Revision 9 as of 2011-01-14 15:12:58
Size: 3644
Editor: TylerTriggs
Comment:
Revision 36 as of 2014-06-24 15:00:59
Size: 5642
Editor: 172
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
=== work in progress... ===
Line 3: Line 3:
Walkthrough: How to use FsFast and [[http://surfer.nmr.mgh.harvard.edu/fswiki/fcseed-sess|fcseed-sess]] for functional connectivity analysis including example commands. This page describes how to perform seed-based functional connectivity (FC) analysis in FSFAST. This is an extension of the task-based analysis for which there is much more documentation. It may be worth your time to study some of the preprocessing and task-based analysis as found in [[http://surfer.nmr.mgh.harvard.edu/pub/docs/freesurfer.fsfast.ppt|FS-FAST powerpoint]]
Line 5: Line 5:
For general tips on using FsFast, download this powerpoint: *STEP 1: Unpack Data into the FSFAST Hierarchy using dcmunpack (run with -help for more documentation):
Line 7: Line 7:
 . [[http://surfer.nmr.mgh.harvard.edu/pub/docs/freesurfer.fsfast.ppt|Using FS-FAST]] Sample cmd:
Line 9: Line 9:
*STEP 1: Unpack Data into the FSFAST Hierarchy using [[https://surfer.nmr.mgh.harvard.edu/fswiki/unpacksdcmdir|unpacksdcmdir]] dcmunpack -src dicomdir/subject/ALLDICOMS -targ fcMRI_dir/subject -fsfast -run 3 bold nii.gz f.nii.gz -run 4 bold nii.gz f.nii.gz
Line 11: Line 11:
Ex: unpacksdcmdir -src $DCM/$subject/cdrom/$rawdi -targ $fcMRI_dir/$subject -cfg $cfg -fsfast -unpackerr ) In this sample command...

 * Have all fMRI dicoms linked into "ALLDICOMS" directory
 * Arguement for "-targ" specifies output directory
 * -run 3 bold nii.gz f.nii.gz will unpack run 3 fmri to fcMRI_dir/subject/bold/003/f.nii.gz
 * To get a list of runs, run dcmunpack -src dicomdir/subject/ALLDICOMS
 * Use "-fsfast" to generate fsfast hierarchy shown in the image below

{{attachment:fsfast-hierarchy.jpg}}

*STEP 2: Link to FreeSurfer anatomical analysis: Create "subjectname" text file in the session directory. Write in it the subject's recon directory name (as labeld in $SUBJECTS_DIR).

C. Create a sessid file (text file with list of your sessions) in your Study DIR (optional)

*STEP 3: Pre-process your bold data using preproc-sess [[http://surfer.nmr.mgh.harvard.edu/fswiki/preproc-sess|preproc-sess]]

Sample cmd:

preproc-sess -s <subjid> -fwhm <#>

A. By default this will do motion correction, smoothing & brain masking

B. Quality Check (plot-twf-sess)

C.Examine additions to FSFAST hierarchy (in each run of bold dir):

 ||f.nii ||(Raw fMRI data) ||
 ||fmc.nii ||(Motion corrected-MC) ||
 ||fmcsm5.nii ||(MC & smoothed) ||
 ||fmc.mcdat ||(Text file with the MC parameters (AFNI)) ||
 ||brain.mgz ||(Binary mask of the brain) ||
Line 15: Line 45:
NOTE: you ''may'' need to convert the file "fmcpr.mgz" to fmcpr.nii using [[http://surfer.nmr.mgh.harvard.edu/fswiki/mri_convert|mri_convert]]
Line 16: Line 47:
1.QA Check after unpacking: Found in each bold scan dir. Sample cmd:
Line 18: Line 49:
 * A - Check unpacked data (time points, # of slices ..etc)
 * B - Check FSFAST hierarchy in session folder
mri_convert session/bold/002/fmcpr.mgz session/bold/002/fmcpr.nii
Line 21: Line 51:
*STEP 2: Reconstruction Anatomical data using "recon-al -all" mri_convert session/bold/003/fmcpr.mgz session/bold/003/fmcpr.nii
Line 23: Line 53:
1.Set SUBJECTS_DIR
Line 25: Line 54:
2.QA Check:
Line 27: Line 55:
 * A - Check talairach transformation
 * B - Check skull strip, white matter & pial surface
 * C - Re-run "recon-all" if edits are made
 * D - Check hierarchy of reconstructed anatomical data [[https://surfer.nmr.mgh.harvard.edu/fswiki/recon-all|recon-all]]
Next, I'll outline two methods of deriving a seed region:
Line 32: Line 57:
1.Make FSFAST basic hierarchy (only if data are not unpacked in FSFAST hierarchy) 1) To use a full-size Freesurfer parcellation from aparc+aseg.mgz, continue with STEP 4 on this page.
Line 34: Line 59:
{{attachment:fsfast-hierarchy.jpg}} 2) To split the full Freesurfer parcellation into multiple seeds ("split parcellation"), follow the [[FsFastFunctionalConnectivityWalkthroughSplittingSeeds |additional steps here]] - and resume with step 5 on this page...
Line 36: Line 61:
2.Link to FreeSurfer anatomical analysis *STEP 4: Use fcseed-config to record the parameters you wish to pass to your connectivity analysis.
Line 38: Line 63:
A - Make subjectname’ file in the session directory to link a subject's functional & structural data Sample command:
fcseed-config -segid 1010 -fcname mean.L_Posteriorcingulate.dat -fsd bold -mean -cfg mean.L_Posteriorcingulate.config
Line 40: Line 66:
3.Create a sessid file (text file with list of your sessions)in your Study DIR. This example will use the FreeSurfer cortical segmentation for the left posterior cingulate (segID: 1010). For seed regions, we recommend generating the mean signal timecourse by using "-mean"
Line 42: Line 68:
4.Create a Stimulus Schedule (Paradigm file) in bold folder (A "paradigm" file is a record of which stimulus was presented when & for how long. *STEP 5: Pass the config text file to fcseed-sess to generate time-course information for your chosen seed region (or for nuisance variable signal).
Line 44: Line 70:
Each paradigm file has four columns: Sample cmd (mean seed region timecourse):
Line 46: Line 72:
 * A - Stimulus onset time (sec)
 * B - Condition ID code (0, 1, 2, ...)
 * C - Stimulus Duration (sec)
 * D - Stimulus Weight (usually 1)
fcseed-sess -s <session> -cfg mean.L_Posteriorcingulate.config
Line 51: Line 74:
*STEP 3: Pre-process your bold data using preproc-sess [[http://surfer.nmr.mgh.harvard.edu/fswiki/preproc-sess|preproc-sess]] Sample cmd (mean waveforms for nuisance regressors, but PCA also
possible with -pca):
Line 53: Line 77:
# Preprocessing of fMRI Data for white matter:
 . fcseed-config -wm -fcname wm.dat -fsd bold -cfg wm.config
 . fcseed-sess -s <session> -cfg wm.config
Line 55: Line 81:
preproc-sess -s <subjid> -fwhm <#> for ventricles + CSF:
 . fcseed-config -vcsf -fcname vcsf.dat -fsd bold -mean -cfg vcsf.config
 . fcseed-sess -s <session> -cfg vcsf.config
Line 57: Line 85:
1.By default this will do motion correction, smoothing & brain masking

2.Quality Check (plot-twf-sess) 3.Examine additions to FSFAST hierarchy (in each run of bold dir):

 . f.nii (Raw fMRI data)
 . fmc.nii (Motion corrected-MC)
 fmcsm5.nii (MC & smoothed)
 . fmc.mcdat (Text file with the MC parameters (AFNI))
 . brain.mgz (Binary mask of the brain)

# Function-Structure Registration View unregistered:

 . [[http://surfer.nmr.mgh.harvard.edu/fswiki/tkregister-sess|tkregister-sess]] -s <subjid> -regheader)

Run automatic registration:

 . [[http://surfer.nmr.mgh.harvard.edu/fswiki/spmregister-sess|spmregister-sess]] -s <subjid>

Check automatic registration:

 . [[http://surfer.nmr.mgh.harvard.edu/fswiki/tkregister-sess|tkregister-sess]] -s <subjid>

A - Make edits if needed using scale as the last resort Check talairach registration:

 . [[http://surfer.nmr.mgh.harvard.edu/fswiki/tkregister2|tkregister2]] --s <subjid> --fstal --surf

*STEP 4: Use fcseed-sess to generate time-course information for your chosen seed region (as well as nuisance variable signal).
 *NOTE: Once a config file is created it may be used for multiple sessions
Line 87: Line 89:
*STEP 6: Use [[http://surfer.nmr.mgh.harvard.edu/fswiki/selxavg3-sess|selxavg3-sess]] to run the subject-level analysis Sample cmd:
Line 89: Line 91:
*STEP 7: Use [[http://surfer.nmr.mgh.harvard.edu/fswiki/mri_glmfit|mri_glmfit]] or [[http://surfer.nmr.mgh.harvard.edu/fswiki/selxavg3-sess|selxavg3-sess]] to run a group-level analysis mkanalysis-sess -a <analysisname>

 . -surface fsaverage <hemi> -notask -taskreg mean.L_Posteriorcingulate.dat 1 -nuisreg vcsfreg.dat 1 -nuisreg wmreg.dat 1 -nuisreg global.waveform.dat 1 -fwhm 5 -fsd bold -TR <TR> -mcextreg -polyfit 5 -nskip 4

Note: if you do not want to regress out the global signal, then do not
include it in the mkanalysis-sess command.

*STEP 6: Use [[http://surfer.nmr.mgh.harvard.edu/fswiki/selxavg3-sess|selxavg3-sess]] to run the subject-level analysis outlined by the above mkanalysis-sess cmd.

 . selxavg3-sess -s <session> -a <analysisname>

*STEP 7: Choose the contrast file (generated in each session's contrast directory) that you wish to analyze on a group level:

  # ces.mgz - contrast effect size (contrast matrix * regression coef)
  # cesvar.mgz - variance of contrast effect size
  # sig.mgz - significance map (-log10(p))
  # pcc.mgz - partial correlation coefficient map

*STEP 8: To continue with a group-level analysis, try one of the methods below:
  Method 1:
            *create fsgd file containing all sessions of interest
            *Concatenate contrast files using [[http://www.freesurfer.net/fswiki/mri_concat|mri_concat]]
            *Run group analysis using [[http://www.freesurfer.net/fswiki/mri_concat|mri_glmfit]]

  Should also be possible with:
  Method 2:
            *[[http://www.freesurfer.net/fswiki/Qdec|Qdec]]

  Should also be possible with:
  Method 3:
            *Concatenate with [[http://www.freesurfer.net/fswiki/isxconcat-sess|isxconcat-sess]]
            *Run group analysis using [[http://www.freesurfer.net/fswiki/mri_concat|mri_glmfit]]

About

This page describes how to perform seed-based functional connectivity (FC) analysis in FSFAST. This is an extension of the task-based analysis for which there is much more documentation. It may be worth your time to study some of the preprocessing and task-based analysis as found in FS-FAST powerpoint

*STEP 1: Unpack Data into the FSFAST Hierarchy using dcmunpack (run with -help for more documentation):

Sample cmd:

dcmunpack -src dicomdir/subject/ALLDICOMS -targ fcMRI_dir/subject -fsfast -run 3 bold nii.gz f.nii.gz -run 4 bold nii.gz f.nii.gz

In this sample command...

  • Have all fMRI dicoms linked into "ALLDICOMS" directory
  • Arguement for "-targ" specifies output directory
  • -run 3 bold nii.gz f.nii.gz will unpack run 3 fmri to fcMRI_dir/subject/bold/003/f.nii.gz
  • To get a list of runs, run dcmunpack -src dicomdir/subject/ALLDICOMS
  • Use "-fsfast" to generate fsfast hierarchy shown in the image below

fsfast-hierarchy.jpg

*STEP 2: Link to FreeSurfer anatomical analysis: Create "subjectname" text file in the session directory. Write in it the subject's recon directory name (as labeld in $SUBJECTS_DIR).

C. Create a sessid file (text file with list of your sessions) in your Study DIR (optional)

*STEP 3: Pre-process your bold data using preproc-sess preproc-sess

Sample cmd:

preproc-sess -s <subjid> -fwhm <#>

A. By default this will do motion correction, smoothing & brain masking

B. Quality Check (plot-twf-sess)

C.Examine additions to FSFAST hierarchy (in each run of bold dir):

  • f.nii

    (Raw fMRI data)

    fmc.nii

    (Motion corrected-MC)

    fmcsm5.nii

    (MC & smoothed)

    fmc.mcdat

    (Text file with the MC parameters (AFNI))

    brain.mgz

    (Binary mask of the brain)

NOTE: you may need to convert the file "fmcpr.mgz" to fmcpr.nii using mri_convert

Found in each bold scan dir. Sample cmd:

mri_convert session/bold/002/fmcpr.mgz session/bold/002/fmcpr.nii

mri_convert session/bold/003/fmcpr.mgz session/bold/003/fmcpr.nii

Next, I'll outline two methods of deriving a seed region:

1) To use a full-size Freesurfer parcellation from aparc+aseg.mgz, continue with STEP 4 on this page.

2) To split the full Freesurfer parcellation into multiple seeds ("split parcellation"), follow the additional steps here - and resume with step 5 on this page...

*STEP 4: Use fcseed-config to record the parameters you wish to pass to your connectivity analysis.

Sample command: fcseed-config -segid 1010 -fcname mean.L_Posteriorcingulate.dat -fsd bold -mean -cfg mean.L_Posteriorcingulate.config

This example will use the FreeSurfer cortical segmentation for the left posterior cingulate (segID: 1010). For seed regions, we recommend generating the mean signal timecourse by using "-mean"

*STEP 5: Pass the config text file to fcseed-sess to generate time-course information for your chosen seed region (or for nuisance variable signal).

Sample cmd (mean seed region timecourse):

fcseed-sess -s <session> -cfg mean.L_Posteriorcingulate.config

Sample cmd (mean waveforms for nuisance regressors, but PCA also possible with -pca):

for white matter:

  • fcseed-config -wm -fcname wm.dat -fsd bold -cfg wm.config
  • fcseed-sess -s <session> -cfg wm.config

for ventricles + CSF:

  • fcseed-config -vcsf -fcname vcsf.dat -fsd bold -mean -cfg vcsf.config
  • fcseed-sess -s <session> -cfg vcsf.config

  • NOTE: Once a config file is created it may be used for multiple sessions

*STEP 5: Use mkanalysis-sess to setup an analysis for your FC data

Sample cmd:

mkanalysis-sess -a <analysisname>

  • -surface fsaverage <hemi> -notask -taskreg mean.L_Posteriorcingulate.dat 1 -nuisreg vcsfreg.dat 1 -nuisreg wmreg.dat 1 -nuisreg global.waveform.dat 1 -fwhm 5 -fsd bold -TR <TR> -mcextreg -polyfit 5 -nskip 4

Note: if you do not want to regress out the global signal, then do not include it in the mkanalysis-sess command.

*STEP 6: Use selxavg3-sess to run the subject-level analysis outlined by the above mkanalysis-sess cmd.

  • selxavg3-sess -s <session> -a <analysisname>

*STEP 7: Choose the contrast file (generated in each session's contrast directory) that you wish to analyze on a group level:

  • # ces.mgz - contrast effect size (contrast matrix * regression coef) # cesvar.mgz - variance of contrast effect size # sig.mgz - significance map (-log10(p)) # pcc.mgz - partial correlation coefficient map

*STEP 8: To continue with a group-level analysis, try one of the methods below:

  • Method 1:
    • create fsgd file containing all sessions of interest
    • Concatenate contrast files using mri_concat

    • Run group analysis using mri_glmfit

    Should also be possible with: Method 2: Should also be possible with: Method 3:

FsFastFunctionalConnectivityWalkthrough (last edited 2024-01-16 14:11:01 by DougGreve)