Research Ideas and Outcomes : Project Report
Project Report
Cluster-viz: A Tractography QC Tool
expand article infoKesshi M Jordan‡,§, Anisha Keshavan‡,§, Maria Luisa Mandelli§, Roland G Henry‡,§
‡ UC Berkeley-UCSF Graduate Group in Bioengineering, San Francisco, United States of America
§ Department of Neurology University of California, San Francisco, San Francisco, United States of America
Open Access


Cluster-viz is a web application that provides a platform for cluster-based interactive quality-control of tractography algorithm outputs. This tool facilitates the creation of white matter fascicle models by employing a cluster-based approach to allow the user to select streamline bundles for inclusion/exclusion in the final fascicle model. This project was started at the 2016 Neurohackweek and BrainHack events and is still under development. We welcome contributions to the Cluster-viz github repository (


Fiber Tracking, Streamline Clustering, Web Application, Fascicle Model, Quality Control


When tractography algorithms are used to create an anatomically constrained model of a fascicle, the output of the processing can contain many streamlines that are not part of the bundle-of-interest. Using methods that leverage High Angular Resolution Diffusion Imaging (HARDI) datasets by employing models like Constrained Spherical Deconvolution (Tournier et al. 2004, Tournier et al. 2007) or Q-ball (Tuch 2004, Tuch et al. 2003, Berman et al. 2008) increases the sensitivity of the method (compared to the simpler tensor model), but generates many more streamlines that must be excluded. Automatic classification methods have been developed (Yeatman et al. 2012, Yoo et al. 2015), but pathologies (e.g. tumors) present in patient populations can cause failures. Furthermore, clinical use still requires an expert human quality control step for applications such as Neurosurgical planning (Duffau 2014) until the methods have been sufficiently developed and validated. The typical way to select streamlines as part of the bundle-of-interest is to use a tractography output viewer, such as Trackvis (Wedeen and Wang 2007), to place regions-of-interest (ROIs) manually that select included or excluded streamlines. There are many reproducibility concerns (Wakana et al. 2007, Feigl et al. 2013) with these methods, however. We propose a cluster-based approach as an alternative to manual placement of ROIs to isolate fascicle models from tractography output. This approach minimizes the variability in manual execution of streamline selection by reducing the output to discrete clusters that require limited decisions for inclusion instead of relying on the placement of ROIs in continuous space. This method also provides the framework for training a classifier that could be tailored to the data type and goals of a particular application. This is an important consideration, as the tractography output can vary widely depending on a variety of parameters (stopping condition, maximum turning angle, etc.; Chamberland et al. 2014) and there may not be a consensus on what sub-bundles should be included in tractography models for a given application.


This viewer enables the user to select streamlines on a cluster-level (Fig. 1). The Quickbundles algorithm (Garyfallidis et al. 2012), implemented in Dipy (Garyfallidis et al. 2014), can be used to quickly cluster a set of streamlines into sub-bundles. The main design requirement for this interactive tool was to minimize the computing time spent reclustering between iterative steps of cluster selection. Quickbundles does not take the computational time needed to optimally cluster streamlines, but rather prioritizes speed to reduce the dimensionality of the classification problem (Garyfallidis et al. 2012). The user can select all of the sub-bundles that include parts of the target bundle-of-interest (Fig. 2). The user can alternate between selected and deselected streamline bundles by clicking on the button "Toggle Choice" to study the rejected streamlines more closely. The selected sub-bundles are re-clustered into finer sub-bundles when the user pushes the "Finer" button, and the desired components of the bundle-of-interest can be further refined by selecting a subset of the reclustered bundles (Fig. 3).

Figure 1.

The connectivity of an ROI placed on the coronal plane over the external/extreme capsules at the level of the anterior commissure is shown (tractography method: Caverzasi et al. 2015). Each color is a cluster, as generated by the Quickbundles algorithm (Garyfallidis et al. 2012).

Figure 2.

The user selected two sub-bundles that contain streamlines representing a tractography model of the Uncinate Fasciculus.

Figure 3.

Sub-bundles that the user judged were part of an Uncinate Fasciculus tractography model are re-clustered so that the user can further refine the model.


This Cluster-Based Streamline Tool was implemented as a web-based viewer with a python backend using CherryPy (Fig. 4). The code from the AFQ-Browser was used as an interface skeleton and adapted for this project. The user can upload and download tractography streamline data, select streamline bundles, and initiate finer clustering using Quickbundles (Garyfallidis et al. 2012). The viewer presents all of the streamlines to the user and allows them to select a subset of the ten sub-bundles by either clicking on the streamlines, themselves, or by clicking on the menu. This tool is a work-in-progress; in the future, the selected sub-bundles will be clustered further upon user request. The transparent cortical surface is for orientation only; it is not in the patient space. In-progress developments include patient-specific anatomical reference in both slice and surface representation, and iterative clustering functionality.

Figure 4.

Flowchart of the Cluster-viz web application

Conclusions/Future Directions

This method is advantageous to the traditional ROI-based approach because binary decisions made on discrete clusters is less variable than manually placing ROIs in continuous space. In theory, this should facilitate reproducibility of human operators, as well as create a more tractable training set for machine learning applications. Ideally, the Cluster-viz tool would learn from the user as they interact with the viewer and provide suggestions for bundle classification that the user could approve. Over time, the learning element could greatly increase the efficiency of the user and, perhaps, eventually replace the human.


This work was completed during Neurohackweek 2016 in Seattle, WA and the BrainHack 2016 in Los Angeles, CA. We would like to thank Dr. Ariel Rokem and Dr. Jason Yeatman for their help during Neurohackweek and Dr. Jeremy Maitin-Shepard for his help during BrainHack LA. We would also like to thank all of the Neurohackweek and BrainHack organizers and mentors.


login to comment