CONnectivity-based STructural parcELLATION


The toolbox Constellation proposes a connectivity-based parcellation framework for the whole cortical surface. The approach chosen performs gyrus by gyrus to parcellate the whole human cortex. The main originality of the method is to compress for each gyrus the connectivity profiles used for the clustering without any anatomical prior information. This step takes into account the interindividual cortical and connectivity variability. To this end, we consider intersubject high density connectivity areas extracted using a surface-based watershed algorithm. Methods are organized as follow:

How to use it

There are basically two diffent ways to use Constellation:

Constellation is a somewhat complex toolbox, as it is using different types of data (namely diffusion MRI and anatomical MRI), each preprocessed in potentially different ways by different software. Moreover Constellation includes both intra and inter-subject processings which are at some point intricated. A few choices have to be done by the user.

For this reason, users are advised to read the present documentation before proceeding.


To use Constellation, some data and software are required:


Constellation does not handle by itself the use of thirdparty software to process T1 and diffusion MRI data. The user has thus to take care of running Freesurfer on the T1 MRI (either directly or via the BrainVisa toolbox for Freesurfer), and to process the diffusion MRI and run the fiber tracking or connectivity algorithms (using Connectomist or FSL).

Freesurfer conversions and group mesh / texture

Currently T1 MRI have to be processed using FreeSurfer to take advantage of its surface-based inter-subject correspondance. Freesurfer can be run outside of BrainVISA, or using the BrainVISA / Freesurfer toolbox.

Once Freesurfer has run, there are two final passes that should be run on its outputs. This step features an important choice: the Cortical Grey/white interface mesh resolution and method (see below).

Important: Details about meshes resampling

Meshes must be resampled to a common resolution which provides vertex-by-vertex correspondance between subjects. To do so we use the spheric interpolation and the topology of an icosahedron-based template mesh. This can be done either using BrainVisa/Freesurfer toolbox which provides its own template icosphere mesh and interpolation method, or using FreeSurfer, which allows to resample to several icospheres with different resolutions. The choice of the template mesh is very important, because it will determine the corresponance between subjects in the group to be processed. But more importantly, using an atlas to parcellate a new subject will need to use the same template mesh as the atlas.

Constellation has been tested using meshed of 30000-40000 vertices per hemisphere. Using lower resolutions will make results more imprecise, and higher resolutions will lead to more resource consuming processing. The atlas shipped with Constellation is based on meshes of 32492 vertices per hemisphere, the ones used for the Human Connectome Project (HCP) preprocessings.

Thus in summary we have 3 different template meshes and resampling methods for it:

All can be performed using the BrainVISA/Freesurfer toolbox, by running the Freesurfer outputs To BrainVisa conversion pipeline, and selecting the appropriate icosphere_type template parameter (the toolbox provides 32k and 40k template meshes from Freesurfer and from the HCP). However Freesurfer native method can also be run using the Resample mesh to Freesurfer Ico mesh process and the command mri_surf2surf to resample textures, and the HCP method can also be used natively using the HCP workbench.

dMRI preprocessing: fiber tracking

Diffusion data have to undergo a fiber tracking algorithm, which will produce either fiber tracts geometry reconstruction, or connectivity matrices. Constellation has been tested with two different tractography software: Connectomist2 and FSL probtrackx.

Other software, like MRtrix, Diffusion Toolkit / Trackvis or DiPy for instance, might also work, but have not been tested yet. Fiber tracts or connectivity matrices formats must be readable by Constellation, or converted to formats that can be read. The Trackvis format (.trk) is supported and is a convenient way to import tracts.

However all these software have not been validated yet for Constellation, and will probably require some additional work to handle not only file formats, but also coordinates systems and spatial transformations between fiber tracts and T1 images, and maybe adapt a few parameters.

Using Connecomist2

Connectomist 2 should not be confused with the old Connectomist, the diffusion and tracking toolbox for BrainVISA, which is obsolete, deprecated, unmaintained, and has been removed from the BrainVISA distribution since BrainVISA version 4.6. Connectomist2, the successor, is also developed in Neurospin/France, by C. Poupon (a different team), but has not been released publicly so far.

Connectomist2 has to be run for each subject data. It can perform streamline tractography, using either deterministric or probabilistric tracking, using a given number of seeds in each brain voxel. Tracking is generally performed from each voxel of the brain. Constellation has been mostly used using probabilistric tractography with 27 seeds per voxel. This process typically generates about 2Gbytes of tracts per subject.

The main outputs of Connecomist2 used by Constellation are:

Using FSL

FSL provides its diffusion MRI processing and tractography pipelines. The main parts are T1 MRI brain extraction, Bedpostx (local diffusion model fit), and probtrackx (fiber tracking). Probtrackx can process a given number of seeds per voxels (typically 5000), and can track either from the cortex (mode omatrix1) or from the whole brain (omatrix3). Expect significant computing time, especially for high resolution and large data, and mostly using omatrix3 mode (for instance processing the HCP data took us more than 2 months of computing for a single subject).

Optionally, to perform cleaner tracking, it can be a good idea to provide FSL with a brain mask where sulci have been removed, to prevent tracts from crossing sulci. This can be done by running BrainVISA / Morphologist, and removing the sulci skeleton of Morphologist from the brain mask. This is typically what Connectomist2 does.

Important: Constellation works on Freesurfer surfaces, so FSL connectivity has to be processed with Freesurfer surfaces as masks in probtrackx. This operating mode is documented in the FSL user guide.

The main outputs of FSL probtrackx used by Constellation are:

Constellation starts once these preprocessings have been achieved.

Constellation processing

Building group parcellations

In this situation, we want to build a new group-based parcellation on a given group of subjects, not using predefined atlases.

There is some intra-subject processing, and an inter-subject (group) clustering. They correspond to two different pipelines, the intra-subject one should be used before the inter-subject part.

Depending on the dMRI tractography software used for input to Constellation, there are different ways to handle them. Consequently there are currently 2 intra-subject piplines in Constellation, one dealing with Connectomist tracts, the other with FSL connectivity matrices. They differ on the first steps, and then have common later steps.

Group clusterings and assiociated connectivity profiles can then be used to make a new group atlas for instance. Group or individual connectivity profiles obtained on the clusters can be used to build and study connectivity graphs...

Parcellating using predefined atlases

This is the simplest and lightest way to work: you come with one or several subjects data, and get a parcellation for them, with labels compatible with the atlas.

There are also two steps: one is to run the intra-subject pipeline above to get individuel connectivity matrices, then use the following process:

Other tools

Constellation clusters, or other surface-based regions actually, can be used to reduce connectivity information into a region-based connectivity matrix:

Write the connectome of a given parcellation