Differences between revisions 71 and 72
Revision 71 as of 2012-01-07 19:56:56
Size: 15757
Comment:
Revision 72 as of 2012-01-07 20:04:38
Size: 15856
Comment:
Deletions are marked like this. Additions are marked like this.
Line 103: Line 103:
    * Transform all the above masks from individual T1 space to the individual diffusion space and to the template space. This is done using the registrations that were computed in steps 1.2 and 1.3.     * Transform all the above masks from individual T1 space to individual diffusion space and to the template space. This is done using the registrations that were computed in steps 1.2 and 1.3.
Line 109: Line 109:
    * Compute least-squares tensor estimation using FSL's [[http://www.fmrib.ox.ac.uk/fsl/fdt/fdt_dtifit.html|dtifit]].     * Perform least-squares tensor estimation using FSL's [[http://www.fmrib.ox.ac.uk/fsl/fdt/fdt_dtifit.html|dtifit]].
Line 113: Line 113:
- Combine training data and subject's own data to generate pathway priors.

   This step does the following:
    * Compute priors, end ROIs and intial control points from the training set.

   This step does the following:
    * Compute pathway priors. This in template space by combining the atlas data (training subjects' manually labeled paths and FreeSurfer segmentations) with the individual's own masks from step 1.5. , end ROIs and intial control points from the training set.

trac-all

Index

Name

trac-all: White-matter pathway reconstruction from diffusion-weighted MR images using TRACULA

Usage

Using a configuration file to set analysis options:

trac-all -[step] -c <configfile>

Using only mandatory inputs with all default options (no configuration file needed):

trac-all -[step] -s <subjectname> --i <dicomfile>

In the above -[step] is one or more command-line options that specify which steps of the processing to run (see details below).

For Martinos Center users:

  • Do not submit trac-all as a job on the cluster with pbsubmit or qsub. Run it directly on the command line. If run on a local machine, trac-all will run all analyses locally. If run on the cluster, trac-all will submit the analysis of each subject listed in your configuration file as a job on the cluster.

For non-MGH acquisitions

  • If your DICOMs were acquired at a different site and mri_convert cannot extract the b-values and gradient vector files from them automatically, you will have to supply them in separate text files and specify them in the trac-all configuration file. To see the required format of these files, please refer to the tutorial.

Arguments

Required Arguments

-c <dmrirc>

configuration file that specifies analysis options

OR:

-s <subjectname>

name of the subject upon which to operate (if not specified via a configuration file)

-i <file>

path to the input diffusion-weighted images (if not specified via a configuration file)

In addition to the above, one of the processing step options below must be provided to specify which parts of the analysis to run.

Processing step options

Choosing which part of the analysis to do:

-prep

Run all preprocessing (steps 1.1-1.6, see below)

-bedp

Run FSL's bedpost (step 2)

-path

Run pathway reconstruction (step 3)

Performing a part of the preprocessing or skipping a part:

-corr

Run image corrections (step 1.1)

-nocorr

Skip step 1.1

-intra

Run intra-subject registration (step 1.2)

-nointra

Skip step 1.2

-inter

Run inter-subject registration (step 1.3)

-nointer

Skip step 1.3

-masks

Run mask creation (step 1.4)

-nomasks

Skip step 1.4

-tensor

Run tensor fit (step 1.5)

-notensor

Skip step 1.5

-prior

Run estimation of pathway priors (step 1.6)

-noprior

Skip step 1.6

Optional arguments

Status and log files

-log <file>

Log file (default: $SUBJECTS_DIR/<your_subjectid>/scripts/trac-all.log)

-cmd <file>

Command file (default: $SUBJECTS_DIR/<your_subjectid>/scripts/trac-all.cmd)

-noappendlog

Start new log files instead of appending to existing files

Other arguments

-no-isrunning

Do not check whether subjects are currently being processed

-sd <dir>

Specify subjects dir (default: $SUBJECTS_DIR)

-umask <umask>

Set unix file permission mask (default: 002)

-grp <groupid>

Check that current group is alpha groupid

-allowcoredump

Set coredump limit to unlimited

-debug

Generate much more output

-dontrun

Do everything except executing commands

-onlyversions

Print version of each binary and exit

-version

Print version of this script and exit

-help

Print full contents of help

Processing steps

  1. Preprocessing

    • 1.1 Image corrections

      • This step does the following:
        • Convert the input diffusion-weighted image files to NIfTI.
        • Correct for B0 inhomogeneities (optional). This is done using epidewarp.fsl. This step can be turned on or off in the configuration file. To run this step, B0 field map files for each subject must be specified in the configuration file.

        • Correct for eddy currents and simple head motion (optional). This is done using FSL's eddy_correct. This step can be turned on or off in the configuration file.

        • Create a brain mask from the low-b diffusion images. This done using FSL's bet. The threshold can be specified in the configuration file. The configuration file can also be used to specify if this brain mask will actually be used in the following processing steps or if the anatomical brain mask from recon-all will be used instead.

      1.2 Intra-subject registration

      • This step performs an affine registration between the individual's low-b diffusion and T1 images. This can be done with bbregister and/or with FSL's flirt, as specified in the configuration file.

      1.3 Inter-subject registration

      • This step does the following:
        • Register the individual's T1 image to an atlas template. Currently the only available option is to use the MNI template and compute an affine registration between the individual T1 and the template using FSL's flirt.

        • Compose the diffusion-to-T1 transformation (from step 1.2) and the T1-to-template transformation to get the diffusion-to-template transformation.

      1.4 Mask creation

      • This step does the following:
        • Create a white-matter (WM) mask. This is done by extracting the cerebral WM, cerebellar WM, ventral DC, and brainstem from the individual's FreeSurfer cortical parcellation and subcortical segmentation (mri/aparc+aseg.mgz).

        • Create a mask of the cortex. This is done by mapping the cortical parcellation labels to the volume, growing them into the WM by 2mm and combining all the grown cortical labels into a mask.
        • Create an anatomical brain mask. This is done by binarizing and dilating the entire cortical parcellation and subcortical segmentation.
        • Transform all the above masks from individual T1 space to individual diffusion space and to the template space. This is done using the registrations that were computed in steps 1.2 and 1.3.
        • Transform the diffusion brain mask created in step 1.1 from the individual diffusion space to individual T1 space and to the template space.

      1.5 Tensor fit

      • This step does the following:
        • Perform least-squares tensor estimation using FSL's dtifit.

        • Map all scalar output volumes of the tensor fit (FA, MD, etc.) from diffusion space to the template space. This is done using the registrations that were computed in steps 1.2 and 1.3. (One could use these transformed volumes to do voxel-based statistical analyses in the template space, if one is so inclined.)

      1.6 Estimation of pathway priors

      • This step does the following:
        • Compute pathway priors. This in template space by combining the atlas data (training subjects' manually labeled paths and FreeSurfer segmentations) with the individual's own masks from step 1.5. , end ROIs and intial control points from the training set.

        • Map the initial control points from the template space to individual diffusion space.
  2. Ball-and-stick model fitting

    • This step runs FSL's bedpostx to fit the ball-and-stick model of diffusion to the data. It uses two anisotropic compartments and 1 isotropic compartment by default for modeling the diffusion data. Parallel processing on a computer cluster is highly recommended for this step.

  3. White-matter pathway reconstruction

    • This step does the following:
      • Estimate a priori probabilities that a certain path will intersect/neighbor each of the labels found in the anatomical segmentation (obtained from step 1.4) from the training set.

      • Estimate the posterior probability distribution of the path using an MCMC algorithm given the Priors obtained from the training set and the Likelihood estimates of the underlying data obtained from the ball and stick model fitting.

Output directories and files

Running trac-all creates a new directory named <subjid> (if subject id is specified through the commandline) or <subjlist(i)> (if a subjectlist is specified through the configuration file, where i is index of the subject that is currently being processed)

Outputs from trac-all -corr

Note: The list below does not include outputs from B0 inhomogenity correction

This creates three directories under the <subjid> directory (i) dlabel/diff (ii) dmri (iii) scripts

  • <subjid>/dlabel/diff/lowb_brain_mask.nii.gz - Low-b Diffusion brain mask

    <subjid>/dmri/dwi_orig.nii.gz - Original Diffusion Weighted image converted from Dicom to Analyze format

    <subjid>/dmri/dwi_orig.mghdti.bvecs - Original bvecs for the Diffusion sequence

    <subjid>/dmri/dwi_orig.mghdti.bvals - Original bvals for the Diffusion sequence

    <subjid>/dmri/dwi_orig_flip.nii.gz - Flipped Diffusion weighted image to be used in FSL.

    <subjid>/dmri/bvals.norot - Bvals rotated to match the flipped Diffusion data

    <subjid>/dmri/bvecs.norot - bvecs rotated to match the flipped data

    <subjid>/dmri/dwi.ecclog - Eddy-current correction log

    <subjid>/dmri/dwi.nii.gz - Eddy-current corrected Diffusion image

    <subjid>/dmri/bvals - Bvals rotated to compensate Eddy-current correction

    <subjid>/dmri/bvecs - Bvecs rotated to compensate Eddy-current correction

    <subjid>/scripts/trac-all.cmd - Command file containing all the commands executed by the trac-all script. This is constantly updated during every step unless a seperate command file option (using -cmd flag) is specified for each step.

    <subjid>/scripts/trac-all.local-copy - A local copy of the actual trac-all script with which all the steps were run.

    <subjid>/scripts/trac-all.log - Complete log of all the commands and processing that was done while running the trac-all script. This is constantly updated during every step unless a seperate log file option (using -log flag) is specified for each step.

    <subjid>/scripts/trac-preproc.local-copy - A local copy of the actual trac-preproc script with which all the steps were run.

Outputs from trac-all -intra

Note: <regtype>: flt (FLIRT) / bbr (BBREGISTER)

This step creates a folder <subjid>/dmri/xfms

  • <subjid>/dmri/brain_anat_orig.nii.gz - Original skull stripped Anatomical (MPRAGE)

    <subjid>/dmri/brain_anat.nii.gz - Flipped Anatomical to be used in FSL

    <subjid>/dmri/xfms/anatorig2anat.mat(.dat) - Transformation matrix to go from Original Anatomical space to Flipped Anatomical space

    <subjid>/dmri/xfms/anat2anatorig.mat(.dat) - Transformation matrix to go from Flipped Anatomical space to Original Anatomical space

    <subjid>/dmri/lowb_brain_anat.<regtype>.nii.gz - Low-b Diffusion image in anatomical space

    <subjid>/dmri/xfms/diff2anat.<regtype>.mat - Transformation matrix from Diffusion space to Flipped Anatomical space

    <subjid>/dmri/xfms/anat2diff.<regtype>.mat - Transformation matrix from Flipped Anatomical space to Diffusion space

    <subjid>/dmri/xfms/diff2anatorig.<regtype>.mat - Transformation matrix from Diffusion space to Flipped Anatomical space

    <subjid>/dmri/xfms/anatorig2diff.<regtype>.mat - Transformation matrix from Flipped Anatomical space to Diffusion space

Outputs from trac-all -inter

The following outputs get created if registering to an MNI template.

  • <subjid>/dmri/brain_anat_mni.nii.gz - Flipped Anatomical in MNI space

    <subjid>/dmri/xfms/anat2mni.mat - Transformation matrix from Flipped Anatomical space to MNI space

    <subjid>/dmri/xfms/mni2anat.mat - Transformation matrix from MNI space to Flipped Anatomical space

    <subjid>/dmri/xfms/diff2mni.<regtype>.mat - Transformation matrix from Diffusion to MNI space

    <subjid>/dmri/xfms/mni2diff.<regtype>.mat - Transformation matrix from MNI to Diffusion space

    <subjid>/dmri/xfms/anatorig2mni.mat - Transformation matrix from Original Anatomical space to MNI

    <subjid>/dmri/xfms/mni2anatorig.mat - Transformation matrix from MNI to Original Anatomical space

Outputs from trac-all -masks

This step creates the following folders (i) <subjid>/dlabel/anatorig (ii) <subjid>/dlabel/anat (iii) <subjid>/dlabel/diff (iv) <subjid>/dlabel/mni

The images given below are created in all four spaces:

  • Original anatomical space (can be found in <subjid>/dlabel/anatorig)

  • Flipped anatomical space (<subjid>/dlabel/anat)

  • Diffusion space (<subjid>/dlabel/diff)

  • MNI space (<subjid>/dlabel/mni)

Note: <space> - anatorig, diff, anat, mni

The following are the output files/images created in this step:

  • <subjid>/dlabel/<space>/White-Matter.nii.gz - White Matter mask extracted from Freesurfer's aparc+aseg.mgz file

    <subjid>/dlabel/<space>/White-Matter++.nii.gz - White Matter mask including Ventral DC and Brainstem

    <subjid>/dlabel/<space>/notventricles.nii.gz - White Matter mask excluding Lateral Ventricles.

    <subjid>/dlabel/<space>/aparc+aseg+2mm.nii.gz - Cortical parcellation mapped to the volume and grown into 2mm into the WM.

    <subjid>/dlabel/<space>/cortex.nii.gz - Mask of the cortex

    <subjid>/dlabel/<space>/cortex+2mm.nii.gz - Mask of the grown cortex

    <subjid>/dlabel/<space>/Brain-Stem.nii.gz - Brain stem from Freesurfer's aparc+aseg.mgz file

    <subjid>/dlabel/<space>/cortex+2mm+bs.nii.gz - Mask of cortex with brain stem

    <subjid>/dlabel/<space>/anat_brain_mask.nii.gz - Anatomical brain mask

    <subjid>/dlabel/<space>/anat_brain_mask-vent.nii.gz - Anatomical brain mask without ventricles

    <subjid>/dlabel/<space>/aparc+aseg_mask.nii.gz - Dilated segmentation mask obtained by dilating Freesurfer's aparc_aseg.nii.gz file

    <subjid>/dmri/dwi_snr.txt - SNR of DWIs in the WM mask

    <subjid>/dlabel/mni/lowb_brain_mask.<regtype>.nii.gz - low-b Diffusion mask in mni space

    <subjid>/dlabel/anatorig/lowb_brain_mask.<regtype>.nii.gz - low-b Diffusion mask in original anatomical space

Outputs from trac-all -tensor

The following are the scalar outputs that are computed after fitting a tensor model to the Diffusion data (This is done with FSL's dtifit. For more information refer to the FSL's dtifit page here)

  • <subjid>/dmri/dtifit_FA.nii.gz - Fractional Anisotropy image

    <subjid>/dmri/dtifit_V1.nii.gz - Primary Eigen Vector image

    <subjid>/dmri/dtifit_V2.nii.gz - Secondary Eigen Vector image

    <subjid>/dmri/dtifit_V3.nii.gz - Tertiary Eigen Vector image

    <subjid>/dmri/dtifit_L1.nii.gz - Primary Eigen Value image

    <subjid>/dmri/dtifit_L2.nii.gz - Secondary Eigen Value image

    <subjid>/dmri/dtifit_L3.nii.gz - Tertiary Eigen Value image

    <subjid>/dmri/dtifit_MD.nii.gz - Mean Diffusivity

    <subjid>/dmri/dtifit_MO.nii.gz - Mode of the anisotropy (oblate ~ -1; isotropic ~ 0; prolate ~ 1)

    <subjid>/dmri/dtifit_S0.nii.gz - Raw T2 signal with no diffusion weighting

Note: The same set of outputs in MNI space is created under the following directory <subjid>/dmri/mni/dtifit_*.nii.gz

Outputs from trac-all -prior

trac-all (last edited 2021-12-08 16:06:06 by AnastasiaYendiki)