From SlicerWiki
Jump to: navigation, search
Home < Documentation < Nightly < Extensions < FinslerTractography

For the stable Slicer documentation, visit the 4.6 page.

Introduction and Acknowledgements

Acknowledgments: Supported by grant number FMECD-2010/71131616E from the Spanish Ministry of Education/Fulbright Committee
Contributors: Antonio Tristan Vega, Demian Wassermann and Carl-Fredrik Westin. The directional iterators were contributed by Luis Ibanez (Kitware).

National Alliance for Medical Image Computing (NA-MIC)  

Extension Description

This module implements the Finsler tractography method with HARDI data described by J. Melonakos et al. From a set of seeding and target points, the paths are estimated as the shortest path taking into account a local, directional dependent cost.

The output provided is the connectivity map from each voxel in the volume to the seeding points, plus a vector volume with the directions tangent to the fiber bundles at each point. If the Backtracing module within is built, these directions can be traced back to actually compute the fiber bundles


Use Cases

The Finsler Tractography Module module uses the fast-sweeping algorithm to find the connectivity from a set of seeding points to each voxel in the input DWI volume (or inside the mask, if provided). This connectivity is the minimum cost of arriving at each voxel from the seeds, following the trajectory of the estimated pathways. The cost is computed as the integral along the pathway of a local directional cost computed from the ODF or some other HARDI-related measurement. A complete description of the algorithm may be found in: J. Melonakos, E. Pichon, S. Angenent, A. Tannenbaum, 'Finsler Active Contours'. IEEE Transactions on Pattern Analysis and Machine Intelligence, 30(3):412-423. March 2008. A background-removal mask can be used to accelerate computations. Optionally, the algorithm provides at each voxel an estimation of the vector tangent to the optimal pathway at that point (arrival direction). Fast-sweeping is full multi-threaded, and some other accelerations (checking only those voxels in the causal direction of the solution) have been implemented to obtain a result in a reasonable time. However, an algorithm virtually identical to that in the aforementioned paper may be reproduced fixing the advanced parameters as follows: Cost: (E(q)/Phi(r))^3 Directions: 26 Use threads: deactivate Use accelerated iterations: deactivate (Start accelerated iterations becomes irrelevant).

The Backtracing Module uses the output of the Finsler tractography module to actually trace the estimated fiber bundles. Note that you should have 'Finsler Tractography based on HARDI' installed and working in order to be able to use the present module (see the documentation therein for more details on the Finsler Tractography method). The nomenclature for this module can be a little confusing: contrary to 'Labelmap seeding', this algorithm does not ask for a seeding region. This is because the seeding region is provided when calculating the costs map and the optimal arrival directions with 'Finsler Tractography based on HARDI'. Hence, the seeding region (and also the hypothetic mask used) is now implicit in the costs map. In the present module, we have to choose instead a set of 'target points': the fiber bundles are traced from these target points to the seeding region. Accordingly, no stopping criterion is needed: we stop tracking the bundle just when we hit either the seeding region or a point outside the mask (if used). Nonetheless, we perform some 'sanity checks', avoiding fibers with abnormal length or with excessive curvature. NOTE: If compiled as a stand-alone, this module needs to be linked against both ITK and VTK NOTE2: If compiled as a stand-alone, the fiber bundles computed are written to disk as a VTK file (.vtp/.vtk) that can be loaded with 3D-Slicer or FSL. IMPORTANT: The fibers are always stored in that file in RAS coordinates..



Similar Extensions



  • GJ. Melonakos, E. Pichon, S. Angenent, A. Tannenbaum, 'Finsler Active Contours'. IEEE Transactions on Pattern Analysis and Machine Intelligence, 30(3):412-423. March 2008

Information for Developers