White Matter Bundle Segmentation with RecoBundles#

This tutorial explains how we can use RecoBundles [1] to extract bundles from input tractograms.

First, we need to download a reference streamline atlas. Here, we downloaded an atlas with 30 bundles in MNI space [2] from:

For this tutorial, you can use your own tractography data or you can download a single subject tractogram from:

Let’s say we have an input target tractogram named streamlines.trk and the atlas we downloaded, named whole_brain_MNI.trk.

Visualizing the target and atlas tractograms before registration:

dipy_horizon "streamlines.trk" "whole_brain_MNI.trk" --random_color
alternate text

Atlas and target tractograms before registration.#

Streamline-Based Linear Registration#

To extract the bundles from the tractogram, we first need move our target tractogram to be in the same space as the atlas (MNI, in this case). We can directly register the target tractogram to the space of the atlas, using streamline-based linear registration (SLR) [3].

The following workflows require two positional input arguments; static and moving .trk files. In our case, the static input is the atlas and the moving is our target tractogram (streamlines.trk).

Run the following workflow:

dipy_slr "whole_brain_MNI.trk" "streamlines.trk" --force

Per default, the SLR workflow will save a transformed tractogram as moved.trk.

Visualizing the target and atlas tractograms after registration:

dipy_horizon "moved.trk" "whole_brain_MNI.trk" --random_color
alternate text

Atlas and target tractograms after registration.#

RecoBundles#

Create an out_dir folder (e.g., rb_output), into which output will be placed:

mkdir rb_output

For the RecoBundles workflow, we will use the 30 model bundles downloaded earlier. Run the following workflow:

dipy_recobundles "moved.trk" "bundles/*.trk" --force --mix_names --out_dir "rb_output"

This workflow will extract 30 bundles from the tractogram. Example of extracted Left Arcuate fasciculus (AF_L) bundle (visualized with dipy_horizon):

alternate text

Extracted Left Arcuate fasciculus (AF_L) from input tractogram#

Example of extracted Left Arcuate fasciculus (AF_L) bundle visualized along with the model AF_L bundle used as reference in RecoBundles:

alternate text

Extracted Left Arcuate fasciculus (AF_L) in pink and model AF_L bundle in green color.#

Output of RecoBundles will be in native space. To get bundles in subject’s original space, run following commands:

mkdir org_output

dipy_labelsbundles 'streamlines.trk' 'rb_output/*.npy' --mix_names --out_dir "org_output"

For more information about each command line, please visit DIPY website https://dipy.org/ .

If you are using any of these commands please be sure to cite the relevant papers and DIPY [4].

References#