Index

Name

trac-all: White-matter pathway reconstruction from diffusion-weighted images (DWIs) 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).

Parallel processing

Input image formats

NOTE: This page contains a much greater level of detail than what you need to know to use TRACULA. The simplest way to get started is by going over the TRACULA tutorial.

Arguments

Required arguments

-c <dmrirc>

Configuration file that specifies analysis options

OR:

-s <subjectname>

Name of the subject to be analyzed (if not specified via a configuration file)

-i <file>

Path to the input DWIs (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)

-stat

Assemble pathway measures from multiple subjects (step 4)

Performing a part of the preprocessing or skipping a part:

-corr

Run image corrections (step 1.1)

-nocorr

Skip step 1.1

-qa

Run image quality assessment (step 1.2)

-noqa

Skip step 1.2

-intra

Run intra-subject registration (step 1.3)

-nointra

Skip step 1.3

-tensor

Run tensor fit (step 1.4)

-notensor

Skip step 1.4

-inter

Run inter-subject registration (step 1.5)

-nointer

Skip step 1.5

-prior

Run estimation of pathway priors (step 1.6)

-noprior

Skip step 1.6

Optional arguments

Parallel processing

-jobs <file>

Write a text file with command lines that can be run in parallel but do not run them - the user can then submit each line as a job on a compute cluster

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 DWI files to NIfTI, using mri_convert.

        • Correct for B0 inhomogeneities (optional). The method to use for this step (if any) can be specified in the configuration file. Possible methods are: (i) With epidewarp.fsl, if a field map has been collected. To use this method, the B0 field map magnitude and phase files for each subject, as well as the echo spacing, must be specified in the configuration file. (ii) With FSL's topup, if some of the input DWIs have been collected with reverse phase-encode direction. To use this method, the phase-encode direction for each of the input DWI scans, as well as the EPI factor and echo spacing, must be specified in the configuration file. The default is not to use either method.

        • Correct for eddy currents and simple head motion (optional). The method to use for this step (if any) can be specified in the configuration file. Possible methods are: (i) With FSL's eddy_correct. (ii) With FSL's eddy (the default).

        • 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. This is actually only a temporary brain mask, used in early pre-processing steps, before the diffusion-to-T1 registration has been performed (see 1.3 below). The default is to use the whole-brain anatomical segmentation from recon-all as the mask in all subsequent steps.

      1.2 Image quality assessment

      • This step computes the four measures of head motion from Yendiki et al. 2014, based on the DWIs and the output of the eddy-current correction of step 1.1.

      1.3 Intra-subject registration

      • This step does the following:
        • Perform an affine registration between the individual's low-b diffusion and T1 images. Depending on what has been specified in the configuration file, this can be done either with bbregister (the default) or with FSL's flirt.

        • Use this registration to map the individual's anatomical segmentations from T1 to DWI space. These segmentations are found in the individual's FreeSurfer directory. A whole-brain segmentation is required. The default whole-brain segmentation is mri/aparc+aseg.mgz, which comprises the cortical parcellation and subcortical segmentation. A thalamic nuclei segmentation is also recommended and used by default, in conjunction with the whole-brain segmentation.

        • Create an anatomical brain mask. The mask is created by binarizing and dilating the whole-brain segmentation.

      1.4 Tensor fit

      • This step performs least-squares tensor estimation using FSL's dtifit.

      1.5 Inter-subject registration

      • This step does the following:
        • Perform an affine or nonlinear registration from the individual to a template brain. This can be done with the following methods, depending on what has been specified in the configuration file: (i) Affine registration from the individual T1 to the MNI T1 template, using FSL's flirt), with a correlation ratio cost or a mutual information cost. (ii) Affine registration from the individual T1 to a T1 template using mri_robust_register), which utilizes a robust cost. (ii) Non-linear registration from the individual T1 to the CVS template, using mri_cvs_register. (iii) Non-linear registration from the individual fractional anisotropy (FA) map to an FA template, using symmetric normalization from ANTs. The latter is the default method.

        • Compose the intra-subject (step 1.3) and inter-subject transformations to get the DWI-to-template transformation.
        • Transform all anatomical segmentations and masks from the individual T1 space to the template space.

      1.6 Estimation of anatomical neighborhood priors for the pathways of interest

      • This step does the following:
        • Compute pathway priors. This is done in template space by combining the atlas data (training subjects' manually labeled pathways and anatomical segmentations) with the individual's own segmentation. The training data are used to estimate a priori probabilities that each pathway intersects/neighbors each of the labels in the cortical parcellation and subcortical segmentation, at each point along the pathway's trajectory. The training set is also used to obtain ROIs for the two endings of each pathway, as well as an initial guess of the location of the control points of each pathway, to be used in the tractography of step 3.

        • Map the selected initial control points from the template space to individual diffusion space, using the registrations that were computed in steps 1.3 and 1.5.
  2. Ball-and-stick model fitting

    • This step runs FSL's bedpostx to fit the ball-and-stick model of diffusion to the DWIs. One isotropic and two anisotropic compartments are assumed by default to model the diffusion signal in each voxel. Parallel processing on a compute cluster is highly recommended for this step.

  3. Pathway-of-interest reconstruction

    • This step does the following:
      • Estimate the a posteriori probability distribution of the location of each pathway in the individual. This distribution consists of a likelihood term (the fit of the pathway orientation to the anisotropic compartments of the ball-and-stick model at each voxel) and a prior term (computed in step 1.6 from the training data). The estimation is done by an MCMC algorithm and several parameters of that algorithm can be set in the configuration file.

      • Use the estimated pathway distributions to extract statistics on standard diffusion measures (FA, MD, etc.) for each of the pathways of interest. This includes average measures over the entire pathway, as well as profiles along the trajectory of the pathway.
      • Project the cortical end points of the pathways onto surface labels, and use them to extract anatomical stats such as cortical thickness.
  4. Assemble pathway measures from all subjects

    • This step can be run after each of the subjects has been processed with all of the previous steps. It will combine all subjects' diffusion measures (FA, MD, etc.) along each pathway and output a table for each diffusion measure (FA, MD, etc.) and each pathway. In these tables, each row is a different position along the trajectory of the pathway and each column is a different subject. The user can then use these tables to perform Pointwise Assessment of Streamline Tractography Attributes (PASTA) analyses.

Output directories and files

When trac-all runs, it generates output files for each subject under a directory that is denoted by <subjid> in the following. This subject name is provided either on the command line via the -s option, where only one subject can be specified, or in the configuration file, where multiple subjects can be specified.

By default the <subjid> directory is the same as the one under $SUBJECTS_DIR, where the subject's FreeSurfer recon is saved. An alternative location for trac-all subject directories can be specified either in the configuration file or with the -sd command-line option.

The most basic output of trac-all is the concatenation of the volumetric distributions of all the pathways that were specified in the configuration file (by default all 42 pathways included in the atlas). This output is called merged_*.mgz (the actual name depends on processing options). It can be visualized with freeview's -tv option. More information on this can be found in the TRACULA tutorial.

A detailed list of output files from each step of trac-all is given below.

General log files

Outputs from trac-all -corr

Outputs from trac-all -qa

Outputs from trac-all -intra

In the following, <intra> is used to denote the intra-subject registration method. Depending on what configuration options were used, it can be bbr (bbregister) or flt (flirt). For volumes derived from anatomical segmentations, <space> is used to denote the space that the volume is in. It can be anatorig (FreeSurfer anatomical space) or diff (diffusion space).

Outputs from trac-all -tensor

Outputs from trac-all -inter

In the following, <inter> is the inter-subject registration method (mni for affine registration to the MNI template, rob for affine registration to a robust template, cvs for nonlinear registration to the CVS template, or syn for nonlinear registration to an FA template), and <intra> the intra-subject registration method (bbr for bbregister or flt for flirt).

Outputs from trac-all -prior

In the following, <tract> is used to denote the name of the pathway, <nsubj> the number of training subjects used to calculate the priors (by default all subjects in the manually annotated training set), <inter> the inter-subject registration method (mni for affine registration to the MNI template, rob for affine registration to a robust template, cvs for nonlinear registration to the CVS template, or syn for nonlinear registration to an FA template), and <intra> the intra-subject registration method (bbr for bbregister or flt for flirt).

Pathway initialization:

Pathway end ROIs:

Pathway histograms:

Priors on the underlying anatomy of the pathways

Before computing these, each pathway is split into segments along its arc length. The number of segments depends on the average length of the pathway. Prior information on the underlying anatomy is extracted from the training subjects for each segment along the length of each pathway. In the following text files, each row corresponds to a different segment along the pathway, i.e., the number of rows equals the number of segments. The information in the text files relates to the frequency with which each label in the aparc+aseg is found in the immediate neighborhood of each segment of the pathway, in the left, right, anterior, posterior, superior, and inferior direction. There is a different text file for each of these directions, denoted by the <x>, <y>, and <z> suffixes for the L-R, A-P, and I-S direction respectively. Specifically, x=1: Left; x=-1: Right; y=1: Anterior; y=-1: Posterior; z=1: Superior; z=-1: Inferior.

Outputs from trac-all -bedp

See bedpostX documentation for a detailed explanation of the bedpostX algorithm and its outputs. Every voxel in the diffusion volume is modeled as a combination of two anisotropic compartments and one isotropic compartment. In the following <i> denotes the anisotropic compartment (1, 2, ... up to the maximum number that was specified).

Outputs from trac-all -path

In the following, <tract> is used to denote the name of the pathway, <nsubj> the number of training subjects used to calculate the priors (by default all subjects in the manually annotated training set), <inter> the inter-subject registration method (mni for affine registration to the MNI template, rob for affine registration to a robust template, cvs for nonlinear registration to the CVS template, or syn for nonlinear registration to an FA template), and <intra> the intra-subject registration method (flt for flirt or bbr for bbregister).

All volumes and coordinate files below are in the native diffusion space of subject <subjid>. Tractography is run in diffusion space, even though the anatomical priors are derived in the template space.

For more information on the stats files, see Tract statistics in the TRACULA tutorial.

For more information on how to visualize the merged 4D volume, see Visualizing the posterior distribution of all reconstructed tracts in the TRACULA tutorial.

Outputs from trac-all -stat

Outputs from this step will be saved in a subdirectory named stats, directly under the root TRACULA output directory. Outputs are saved separately for each WM pathway and each diffusion measure (FA, MD, etc.)

In the following, <meas> denotes the name of the diffusion measure, <tract> the name of the pathway, <nsubj> the number of training subjects used to calculate the priors (by default all subjects in the manually annotated training set), <inter> the inter-subject registration method (mni for affine registration to the MNI template, rob for affine registration to a robust template, cvs for nonlinear registration to the CVS template, or syn for nonlinear registration to an FA template), and <intra> the intra-subject registration method (bbr for bbregister or flt for flirt).

See also

dmrirc, dmri_bids_config

Links

TRACULA

References

If you use TRACULA, please cite:

If you use our measures of head motion, please cite:

If you use the longitudinal stream of TRACULA, please cite:

Reporting Bugs

Report bugs to < analysis-bugs@nmr.mgh.harvard.edu >

Author/s

Anastasia Yendiki

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