Differences between revisions 1 and 81 (spanning 80 versions)
Revision 1 as of 2011-05-13 11:06:42
Size: 686
Comment:
Revision 81 as of 2017-03-20 14:08:34
Size: 11311
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== TRACULA: TRActs Contrained by UnderLying Anatomy == '''TRACULA (TRActs Constrained by !UnderLying Anatomy)''' is a tool for automatic reconstruction of a set of major white-matter pathways from diffusion-weighted MR images. It uses global probabilistic tractography with anatomical priors. Prior distributions on the neighboring anatomical structures of each pathway are derived from an atlas and combined with the !FreeSurfer cortical parcellation and subcortical segmentation of the subject that is being analyzed to constrain the tractography solutions. This obviates the need for user interaction, ''e.g.,'' to draw ROIs manually or to set thresholds on path angle and length, and thus automates the application of tractography to large datasets.
Line 3: Line 3:
Tracula is tool developed for automatically reconstructing a set of major white matter pathways in the brain from diffusion weighted images using probabilistic tractography. This method obviates the need for manual intervention for tract solutions and thus facilitates the application of tractography to large datasets. {{attachment:tracula.jpg||height="360px",width="810px"}}
Line 5: Line 5:
<<TableOfContents>>
Line 6: Line 7:
=== Updates ===
'''TRACULA in !FreeSurfer 6.0:'''
 * Automatic path reinitialization: This feature reduces the cases where the user has to reinitialize a path dramatically.
 * Cluster job submission: Adding '''-jobs <filename>''' to the '''trac-all''' command line will process the configuration file, set up the analysis for all subjects included in it, but will not actually run the analysis. Instead, it will write the commands that need to be run into '''<filename>'''. The user is then responsible for submitting those as jobs to be run in parallel on a cluster.
 * Gradient tables and b-value tables: They can now be read directly from the DICOM header of the DWI series (using new functionality in '''mri_convert'''), without the user having to specify them.
 * In case you want to remove certain volumes from your DWIs, you can create a text file called '''dmri/keepframes.txt''' for each subject, containing the list of frames (0-based) that you want to keep. In this case, you provide the entire DWI series (and the entire gradient table and b-value table, if they are not to be read from the DICOM header) but TRACULA only uses the subset of frames specified in this file.
 * It is also possible to specify a different table of b-values for each scan, using '''set bvallist''' instead of '''set bvalfile''' in the configuration file.
Line 7: Line 15:
To use this tool, Please refer to the following tutorials on how to set up and run Tracula '''TRACULA in !FreeSurfer 5.3:'''
 * 2014/05/26 -- B) TRACULA update: [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.3.0-tracula-addons/tracula.update.centos6_x86_64.5.3.2014_05_26.tar.gz | CentOS 6 (64-bit)]] | [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.3.0-tracula-addons/tracula.update.centos4_x86_64.5.3.2014_05_26.tar.gz | CentOS 4 (64-bit)]] | [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.3.0-tracula-addons/tracula.update.centos4.5.3.2014_05_26.tar.gz | CentOS 4 (32-bit)]] | [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.3.0-tracula-addons/tracula.update.lion.5.3.2014_05_26.tar.gz | MacOSX lion (64-bit)]] | [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.3.0-tracula-addons/tracula.update.snowleopard-i686.5.3.2014_05_26.tar.gz | MacOSX snow leopard (32-bit)]] This update includes all the features from the previous update, plus improvements to the longitudinal stream of TRACULA. Note that this newer version of longitudinal TRACULA uses the '''aparc+aseg.mgz''' from the *.long.* output of longitudinal !FreeSurfer, rather than the cross-sectional '''aparc+aseg.mgz.'''
 * 2013/12/09
  * ''NEW FEATURE:'' Compute the four measures of head motion from [[http://www.sciencedirect.com/science/article/pii/S1053811913011312|Yendiki et al. 2013,]] which can be used to match motion between groups or regress motion in statistical analyses. This can be run as a separate step with '''trac-all -qa''', and is also run as part of '''trac-all -prep.'''
  * ''NEW FEATURE:'' Combine anisotropy and diffusivity measures from multiple subjects at different positions along each pathway (from the '''pathstats.byvoxel.txt''' files). This can be run with '''trac-all -stat'''.
  * It is now possible to specify a different table of gradient vectors for each scan, using '''set bveclist''' instead of '''set bvecfile''' in the configuration file.
  * The tables of gradient vectors and/or b-values can now be formatted in column ''or'' row format, and blank lines at the end of each file should not cause an error.
  * A scripting bug that was causing the longitudinal stream not to run at all on certain platforms has been fixed.
 * 2013/05/15 -- No changes to TRACULA in !FreeSurfer 5.3 since !FreeSurfer 5.2
Line 9: Line 25:
 * [[Tracula|Setting Up a Configuration File to run Tracula]] '''TRACULA in !FreeSurfer 5.2:'''
 * 2013/03/02 -- Changes to TRACULA included in !FreeSurfer 5.2:
  * Improved fitting for the initialization of the pathways in the -prior step, along with a 70% reduction in computation time for that step.
  * More efficient exploration of 3D space in the pathway reconstruction algorithm allows it to get to more of the pathway endings and those hard-to-reach spots.
  * Several default settings have changed, see $FREESURFER_HOME/bin/dmrirc.example for details:
   * The default and recommended method for intra-subject registration is now bbregister.
   * A different number of control points can be (and is, by default) chosen for each of the 18 pathways.
   * The default number of samples has increased.
  * The CVS template can now be used instead of the MNI template for inter-subject registration. This could improve the initialization of the pathways for subjects with challenging anatomical features, ''e.g.,'' enlarged ventricles, at the expense of higher memory requirements for holding the CVS non-linear warp in memory.
  * The low-b images can now be interspersed throughout the DWI series and the low b-value can be greater than zero. There is no need for the user to define the number of low-b images in the configuration file any more, this will all be worked out automatically from the b-value table.
  * The user can set the number of anisotropic compartments ("sticks") in bedpostx's ball-and-stick model to something other than 2, by setting the nstick variable in the configuration file.
  * Compatibility issues with the command line options of the latest version of bedpostx have been resolved.
  * The maximum ''a posteriori'' path, which is used to produce statistics along the length of the path (pathstats.byvoxel.txt) is now selected in a more robust way that makes these paths more consistent across subjects.
  * In addition to values of FA, MD, RD, and AD at each point along the maximum ''a posteriori'' path, pathstats.byvoxel.txt now also contains the mean values of the same measures over the entire cross-section of the path distribution at each point along the trajectory of the path.
  * NEW in this version: Longitudinal tractography. Note: This is an undocumented, unpublished, and only mildly tested BETA provided for testing purposes, so proceed at your own risk. All you need to do to use it is set the baselist variable in your configuration file, see $FREESURFER_HOME/bin/dmrirc.long.example. It assumes that the longitudinal !FreeSurfer stream has been run on the anatomical data to obtain the base templates.
Line 11: Line 41:
 * [[RunningTracula|Running Tracula]] '''TRACULA in !FreeSurfer 5.1:'''
 * 2012/01/09 -- [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/misc/allplatforms/trac-all|trac-all]]: This update for trac-all is recommended '''for all users''' of version 5.1.
 * 2011/08/17 -- [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/misc/macos-snow-leopard-intel/dmri_5.1_snow_leopard.tar.gz|dmri_5.1_snow_leopard.tar.gz]]: TRACULA executables compiled on snow leopard. This build resolves memory issues that snow leopard users had with the original leopard build.
 * 2011/05/24 -- First release of TRACULA in !FreeSurfer 5.1.
Line 13: Line 46:
 * [[TraculaOutputs|Outputs from Tracula]] === Documentation ===
All preprocessing of the diffusion-weighted images and reconstruction of the pathways is done by the '''trac-all''' script. Several options for this analysis stream can be set by the user in a configuration file ('''dmrirc''' file), which is passed as an argument to trac-all. For more information, see:
 * [[trac-all|trac-all usage]] (including description of all processing steps)
 * [[dmrirc|dmrirc example file]]
Line 15: Line 51:
 * [[TraculaStatistics|Computing Tract Statistics]] In summary the trac-all script can be used to:
 * Preprocess the diffusion-weighted images, applying standard methods to mitigate image distortions due to eddy currents and B0 field inhomogeneities
 * Register the individual's diffusion-weighted and anatomical images to each other and to a common (atlas) space
 * Reconstruct volumetric distributions of 18 major white-matter pathways included in the atlas
 * Extract statistics on standard diffusion measures (FA, MD, etc.) for each of the reconstructed pathways
Different [[trac-all#Processingstepoptions|command-line options]] allow the user to run all the above processing steps sequentially or only a single step.
Line 17: Line 58:
The final output of TRACULA, the concatenation of the volumetric distributions of all reconstructed pathways, is a file called merged_*.mgz (the actual name depends on processing options). It can be visualized with [[FreeviewGuide|freeview]]'s -tv option, which displays the volumetric distributions of the pathways as isosurfaces like the ones shown in the image above.

Note that, because TRACULA relies on the underlying anatomy as derived from the !FreeSurfer [[CorticalParcellation|cortical parcellation]] and [[SubcorticalSegmentation|subcortical segmentation,]] these need to be generated before running trac-all. This means that before you run trac-all you will have to analyze your subjects' anatomical images with [[recon-all|recon-all]] and make sure that they have a good-quality mri/aparc+aseg.mgz.

=== Tutorials ===
For step-by-step instructions on how to set up and run TRACULA, see the following tutorials from the [[CourseDescription|FreeSurfer training workshop:]]
 * [[FsTutorial/Tracula|Setting up a configuration file for TRACULA]]
 * [[FsTutorial/RunningTracula|Running TRACULA]]
 * [[FsTutorial/TraculaOutputs|Outputs from TRACULA]]
 * [[FsTutorial/TraculaStatistics|Computing tract statistics]]

Related slide presentations from the workshop are available here:
 * [[http://surfer.nmr.mgh.harvard.edu/pub/docs/dmri,fs.ppt|Intro to diffusion MRI]]
 * [[http://surfer.nmr.mgh.harvard.edu/pub/docs/tracula,fs.ppt|TRACULA]]

=== References ===
If you use TRACULA, please cite:
 [[http://www.frontiersin.org/Neuroinformatics/10.3389/fninf.2011.00023/abstract|Automated probabilistic reconstruction of white-matter pathways in health and disease using an atlas of the underlying anatomy.]] Yendiki A, Panneck P, Srinivasan P, Stevens A, Zöllei L, Augustinack J, Wang R, Salat D, Ehrlich S, Behrens T, Jbabdi S, Gollub R and Fischl B (2011). ''Front. Neuroinform.'' 5:23. doi: 10.3389/fninf.2011.00023

If you use our measures of head motion, please cite:
 [[http://www.sciencedirect.com/science/article/pii/S1053811913011312|Spurious group differences due to head motion in a diffusion MRI study.]] Yendiki A, Koldewyn K, Kakunoori S, Kanwisher N, Fischl B (2014). ''!NeuroImage'' 88:79–90.

If you use the longitudinal stream of TRACULA, please cite:
 [[http://www.sciencedirect.com/science/article/pii/S1053811915011167|Joint reconstruction of white-matter pathways from longitudinal diffusion MRI data with anatomical priors.]] Yendiki A, Reuter, M, Wilkens P, Rosas H D, Fischl B (2016). ''!NeuroImage'' 127:277–286.

TRACULA (TRActs Constrained by UnderLying Anatomy) is a tool for automatic reconstruction of a set of major white-matter pathways from diffusion-weighted MR images. It uses global probabilistic tractography with anatomical priors. Prior distributions on the neighboring anatomical structures of each pathway are derived from an atlas and combined with the FreeSurfer cortical parcellation and subcortical segmentation of the subject that is being analyzed to constrain the tractography solutions. This obviates the need for user interaction, e.g., to draw ROIs manually or to set thresholds on path angle and length, and thus automates the application of tractography to large datasets.

tracula.jpg

Updates

TRACULA in FreeSurfer 6.0:

  • Automatic path reinitialization: This feature reduces the cases where the user has to reinitialize a path dramatically.
  • Cluster job submission: Adding -jobs <filename> to the trac-all command line will process the configuration file, set up the analysis for all subjects included in it, but will not actually run the analysis. Instead, it will write the commands that need to be run into <filename>. The user is then responsible for submitting those as jobs to be run in parallel on a cluster.

  • Gradient tables and b-value tables: They can now be read directly from the DICOM header of the DWI series (using new functionality in mri_convert), without the user having to specify them.

  • In case you want to remove certain volumes from your DWIs, you can create a text file called dmri/keepframes.txt for each subject, containing the list of frames (0-based) that you want to keep. In this case, you provide the entire DWI series (and the entire gradient table and b-value table, if they are not to be read from the DICOM header) but TRACULA only uses the subset of frames specified in this file.

  • It is also possible to specify a different table of b-values for each scan, using set bvallist instead of set bvalfile in the configuration file.

TRACULA in FreeSurfer 5.3:

  • 2014/05/26 -- B) TRACULA update: CentOS 6 (64-bit) | CentOS 4 (64-bit) | CentOS 4 (32-bit) | MacOSX lion (64-bit) | MacOSX snow leopard (32-bit) This update includes all the features from the previous update, plus improvements to the longitudinal stream of TRACULA. Note that this newer version of longitudinal TRACULA uses the aparc+aseg.mgz from the *.long.* output of longitudinal FreeSurfer, rather than the cross-sectional aparc+aseg.mgz.

  • 2013/12/09
    • NEW FEATURE: Compute the four measures of head motion from Yendiki et al. 2013, which can be used to match motion between groups or regress motion in statistical analyses. This can be run as a separate step with trac-all -qa, and is also run as part of trac-all -prep.

    • NEW FEATURE: Combine anisotropy and diffusivity measures from multiple subjects at different positions along each pathway (from the pathstats.byvoxel.txt files). This can be run with trac-all -stat.

    • It is now possible to specify a different table of gradient vectors for each scan, using set bveclist instead of set bvecfile in the configuration file.

    • The tables of gradient vectors and/or b-values can now be formatted in column or row format, and blank lines at the end of each file should not cause an error.

    • A scripting bug that was causing the longitudinal stream not to run at all on certain platforms has been fixed.
  • 2013/05/15 -- No changes to TRACULA in FreeSurfer 5.3 since FreeSurfer 5.2

TRACULA in FreeSurfer 5.2:

  • 2013/03/02 -- Changes to TRACULA included in FreeSurfer 5.2:

    • Improved fitting for the initialization of the pathways in the -prior step, along with a 70% reduction in computation time for that step.
    • More efficient exploration of 3D space in the pathway reconstruction algorithm allows it to get to more of the pathway endings and those hard-to-reach spots.
    • Several default settings have changed, see $FREESURFER_HOME/bin/dmrirc.example for details:
      • The default and recommended method for intra-subject registration is now bbregister.
      • A different number of control points can be (and is, by default) chosen for each of the 18 pathways.
      • The default number of samples has increased.
    • The CVS template can now be used instead of the MNI template for inter-subject registration. This could improve the initialization of the pathways for subjects with challenging anatomical features, e.g., enlarged ventricles, at the expense of higher memory requirements for holding the CVS non-linear warp in memory.

    • The low-b images can now be interspersed throughout the DWI series and the low b-value can be greater than zero. There is no need for the user to define the number of low-b images in the configuration file any more, this will all be worked out automatically from the b-value table.
    • The user can set the number of anisotropic compartments ("sticks") in bedpostx's ball-and-stick model to something other than 2, by setting the nstick variable in the configuration file.
    • Compatibility issues with the command line options of the latest version of bedpostx have been resolved.
    • The maximum a posteriori path, which is used to produce statistics along the length of the path (pathstats.byvoxel.txt) is now selected in a more robust way that makes these paths more consistent across subjects.

    • In addition to values of FA, MD, RD, and AD at each point along the maximum a posteriori path, pathstats.byvoxel.txt now also contains the mean values of the same measures over the entire cross-section of the path distribution at each point along the trajectory of the path.

    • NEW in this version: Longitudinal tractography. Note: This is an undocumented, unpublished, and only mildly tested BETA provided for testing purposes, so proceed at your own risk. All you need to do to use it is set the baselist variable in your configuration file, see $FREESURFER_HOME/bin/dmrirc.long.example. It assumes that the longitudinal FreeSurfer stream has been run on the anatomical data to obtain the base templates.

TRACULA in FreeSurfer 5.1:

  • 2012/01/09 -- trac-all: This update for trac-all is recommended for all users of version 5.1.

  • 2011/08/17 -- dmri_5.1_snow_leopard.tar.gz: TRACULA executables compiled on snow leopard. This build resolves memory issues that snow leopard users had with the original leopard build.

  • 2011/05/24 -- First release of TRACULA in FreeSurfer 5.1.

Documentation

All preprocessing of the diffusion-weighted images and reconstruction of the pathways is done by the trac-all script. Several options for this analysis stream can be set by the user in a configuration file (dmrirc file), which is passed as an argument to trac-all. For more information, see:

In summary the trac-all script can be used to:

  • Preprocess the diffusion-weighted images, applying standard methods to mitigate image distortions due to eddy currents and B0 field inhomogeneities
  • Register the individual's diffusion-weighted and anatomical images to each other and to a common (atlas) space
  • Reconstruct volumetric distributions of 18 major white-matter pathways included in the atlas
  • Extract statistics on standard diffusion measures (FA, MD, etc.) for each of the reconstructed pathways

Different command-line options allow the user to run all the above processing steps sequentially or only a single step.

The final output of TRACULA, the concatenation of the volumetric distributions of all reconstructed pathways, is a file called merged_*.mgz (the actual name depends on processing options). It can be visualized with freeview's -tv option, which displays the volumetric distributions of the pathways as isosurfaces like the ones shown in the image above.

Note that, because TRACULA relies on the underlying anatomy as derived from the FreeSurfer cortical parcellation and subcortical segmentation, these need to be generated before running trac-all. This means that before you run trac-all you will have to analyze your subjects' anatomical images with recon-all and make sure that they have a good-quality mri/aparc+aseg.mgz.

Tutorials

For step-by-step instructions on how to set up and run TRACULA, see the following tutorials from the FreeSurfer training workshop:

Related slide presentations from the workshop are available here:

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:

Tracula (last edited 2023-07-17 03:04:26 by AnastasiaYendiki)