The NeuroBundle Extraction and Evaluation Resource, a data-driven tractography clustering and evaluation tool.
The NeuroBundle Extraction and Evaluation Resource aims to cluster white matter tractography, leveraging fiber geometry and optionally quantitative MRI information. A spectral clustering algorithm, as described by 1von Luxburg (2007), is implemented to identify unique tracts from whole-brain tractography. Filtering for short-ranged, U-shaped fibers is performed through adaptation of the filter as described by 2O'Halloran et al (2017).
No claims are made regarding the correctness of returned output. Results should be interpreted with caution.
All bugs, concerns, and requests for features can be requested via the github repository found here.
The development of this project was originally written in Python2 and has since been ported to Python3 as of 2019. This package has been tested with both Python2 and Python3.
In order to use the package's library and/or command line interfaces, the latest version of the NeuroBundle Extraction and Evaluation Resource can be downloaded by from the github repository or via git using the following command:
git clone https://github.com/khanlab/neurobeer
To install the depedencies needed to use the tool, run the following command:
pip install -r requirements.txt
Finally, to install the package, run the following command:
python setup.py install
NeuroBundle Extraction and Evaluation Resource is also available as a container via both Docker and Singularity.
To use the Docker container, run the following command:
docker pull kaitj/neurobeer
To use the Singularity container, users should pull the container from Docker Hub. To do so, run the following command:
singularity pull docker://kaitj/neurobeer
Note: sudo
may be required to pull or build container.
The NeuroBundle Extraction and Evaluation Resource can be used via command line or as a Python library to be used in Python scripts.
To use the tool, tractography streamlines should be generated and converted to both .vtk format (for clustering) and .bfloat format (for tracking of scalar quantities along fiber length via Camino3).
Scalar data can be generated using the Camino command tractstats
with the -tractstat none
in order to generate a text file with corresponding values at each point.
[1] Von Luxburg, U. A tutorial on spectral clustering. Statistics and computing. Stat Comput. 17(4):395-416.
[2] O'Halloran et al. A Method for U-Fiber Quantification from 7T Diffusion-Weighted MRI Data Tested in Subjects with Non-Lesional Focal Epilepsy. Neuroreport. 28(8):457-461.
[3] Cook, PA, et al. Camino: open-source diffusion-mri reconstruction and processing. Proc Intl Soc Magn Reson Med. 2006, 14, 2759.