Skip to main content

An open source framework for combining multiple parcellations of the human brain

Project description

CHIMERA: An open source framework for combining multiple parcellations

Creating multi-source parcellations of the human brain is a fundamental task at several steps of the MRI analysis research workflow. Chimera facilitates this otherwise difficult operation with an intuitive and flexible interface for humans and machines, thereby assisting in the construction of sophisticated and more reliable processing pipelines. This repository contains the source code and atlases needed by Chimera.

📖 Documentation

Full documentation is available at: https://chimera-brainparcellation.readthedocs.io

The documentation includes:

  • Complete API reference
  • Installation guide
  • Usage examples
  • Parcellation methodology details

Parcellations fusion

Chimera defines ten different supra-regions (cortex, basal ganglia, thalamus, amygdala, hippocampus, hypothalamus, cerebellum, brainstem, gyral white matter, and white-matter). Basal ganglia includes only the regions that are not labeled as supra-regions. Subdivisions in each supra-region will be populated with the parcellation information of a single source. The available parcellation sources per supra-region, as well as one corresponding parcellation name, and a one-character unique identifier are configured in a JSON (JavaScript Object Notation) file.
Chimera code: A sequence of ten one-character identifiers (one per each supra-region) unambiguosly denotes a single instance of combined parcellation (Figure. 1B). Given the sequence of ten identifier characters, Chimera selects the atlas and/or applies the corresponding methodology to obtain the parcellation for each supra-region. These supra-region-specific parcellations are finally integrated to obtain the combined volumetric parcellation for each input subject, as well as its corresponding tab-separated values table of labels, region names, and rendering colors for visualization. Chimera uses FreeSurfer to map cortical templates from fsaverage to individual space. It also applies different methods to obtain the hippocampal subfields and brainstem parcellations as well as the thalamic, amygdala and hypothalamic nuclei segmentations. FIRST and ANTs are also used for segmenting subcortical structures and thalamic nuclei respectively.

Requirements

Required Python Packages

Standard Library (Built-in, no installation required)

  • argparse - Command-line argument parsing
  • csv - CSV file reading and writing
  • datetime - Date and time handling
  • json - JSON encoder and decoder
  • operator - Standard operators as functions
  • os - Operating system interface
  • pathlib - Object-oriented filesystem paths
  • shutil - High-level file operations
  • subprocess - Subprocess management
  • sys - System-specific parameters and functions
  • time - Time access and conversions
  • typing - Support for type hints

Data Science & Analysis

  • numpy - Fundamental package for scientific computing
  • pandas - Data manipulation and analysis library
  • scipy - Scientific computing library

Neuroimaging & Medical Data

  • nibabel - Access to neuroimaging file formats
  • pybids - BIDS (Brain Imaging Data Structure) toolkit
  • templateflow - Neuroimaging template management

CLI & User Interface

  • rich - Rich text and beautiful formatting for terminals

Specialized Tools

Installation

Install from PyPI (Recommended)

The easiest way to install CHIMERA is using pip:

pip install chimera-brainparcellation

This will automatically install all required dependencies including:

  • pandas
  • pybids
  • numpy
  • nibabel
  • rich
  • scipy
  • templateflow
  • clabtoolkit (NB: Clabtoolkit requires the dev version as of 20250916)

Manual Installation

Alternatively, you can install all required external packages manually:

pip install pandas pybids numpy nibabel rich scipy templateflow clabtoolkit

Or using a requirements.txt file:

pip install -r requirements.txt

requirements.txt content:

pandas
pybids
numpy
nibabel
rich
scipy
templateflow
clabtoolkit

Or using the yaml file:

conda env create -f environment.yaml -n chimera --solver=libmamba

Or on Mac:

conda env create -f environment-mac.yaml -n chimera --solver=libmamba

Required image processing packages:


Options:

Brief description of input options:

Option Description
--regions, -r List available parcellations for each supra-region.
--bidsdir, -b BIDs dataset folder. Different BIDs directories could be entered separating them by a comma.
--derivdir, -d Derivatives folder. Different directories could be entered separating them by a comma.
--parcodes, -p Sequence of ten one-character identifiers (one per each supra-region).
--freesurferdir, -fr FreeSurfer subjects dir. If the folder does not exist it will be created.
--scale, -s Scale identification. This option should be supplied for multi-resolution cortical parcellations (e.g. Lausanne or Schaeffer).
--seg, -e Segmentation identifier.
--nthreads, -n Number of processes to run in parallel (default= Number of cores - 4).
--growwm, -g Grow of GM labels inside the white matter (mm).
--subjids, -ids Subject IDs. Multiple subject ids can be specified separating them by a comma.
--mergectx,, -mctx Join cortical white matter and cortical gray matter regions.
--force, -f Overwrite the results.
--verbose, -v Verbose (0, 1 or 2).
--help, -h Help.

Usage

General command line to use Chimera:

    $ chimera -b <BIDs directory> -d <Derivatives directory> -p <Chimera code>

This command will run Chimera for all the subjects in the BIDs directory.

Simple examples
  1. Running Chimera for 3 different parcellation codes (LFMFIIFIF,SFMFIIFIF,CFMFIIFIF). This will obtain the combined parcellations for all the T1-weighted images inside the BIDs dataset.
    $ chimera -b <BIDs directory> -d <Derivatives directory> -p LFMFIIFIF,SFMFIIFIF,CFMFIIFI
  1. Running Chimera for T1-weighted images included in a txt file:
    $ chimera -b <BIDs directory> -d <Derivatives directory> -p LFMFIIFIF -ids <t1s.txt>

Example of t1s.txt file | sub-00001_ses-0001_run-2 | sub-00001_ses-0003_run-1 | sub-00001_ses-post_acq-mprage

  1. Cortical volumes will grow 0 and 2 mm respectively inside the white matter for the selected cortical parcellations.
    $ chimera -b <BIDs directory> -d <Derivatives directory> -p LFMFIIFIF -g 0,2

Main files in the repository

  1. chimera.py__: Main python library for performing Chimera parcellations.
  2. supraregions_dictionary.json__: JSON file especifying the available parcellation sources per supra-region.
  3. annot_atlases and gcs_atlases: Folder containing cortical atlases in .annot and .gcs file formats.

Parcellations and methodologies for each supra-region

1. Cortical (Supra-region: Cortical)

Code Name Citation Code Name Citation
A AALv2 Rolls et al, 2015 B Brainnetome Fan et al, 2016
C Campbell Campbell, 1905 D Desikan-Killiany Desikan et al, 2006
F Flechsig Flechsig, 1920 H HCP-MMP1 Glasser et al, 2016
K Kleist Kleist, 1934 L Lausanne Symmetric version of Cammoun et al, 2012
M Smith Smith et al, 1907 R Broadmann Broadmann, 1909
S Schaefer Schaefer et al, 2018 T Desikan-Killiany-Tourville Klein and Tourville, 2012
V vonEconomo von Economo and Koskinas, 1925 X Destrieux Destrieux et al, 2009
Y Yeo Yeo et al, 2011

2. Subcortical (Supra-region: Subcortical)

Code Name Citation
F Aseg Fischl et al, 2002
R FIRST Patenaude et al, 2011

3. Thalamus (Supra-region: Thalamus)

Code Name Citation Code Name Citation
F Aseg Fischl et al, 2002 I FSThalParc Iglesias et al, 2018
M MIALThalParc Najdenovska and Aleman-Gomez et al, 2018 R FIRST Patenaude et al, 2011

4. Amygdala (Supra-region: Amygdala)

Code Name Citation
F Aseg Fischl et al, 2002
I FSAmygHippoParc Saygin et al, 2017
R FIRST Patenaude et al, 2011

5. Hippocampus (Supra-region: Hippocampus)

Code Name Citation Code Name Citation
F Aseg Fischl et al, 2002 I FSAmygHippoParc Iglesias et al, 2015
H HBT Iglesias et al, 2015 R FIRST Patenaude et al, 2011

6. Hypothalamus (Supra-region: Hypothalamus)

Code Name Citation
F Aseg Based on in-house protocol
I FSHypoThalParc Billot et al, 2020

7. Cerebellum (Supra-region: Cerebellum)

Code Name Citation
A AALv2 Rolls et al, 2015
F Aseg Fischl et al, 2002
S SUIT Diedrichsen, J. et al, 2009

8. Brainstem (Supra-region: Brainstem)

Code Name Citation
F Aseg Fischl et al, 2002
I FSBrainStemParc Iglesias et al, 2015
R FIRST Patenaude et al, 2011

9. Gyral White Matter (Supra-region: GyralWM)

Code Name Citation
F Cortical Depends on the cortical parcellation

10. White Matter (Supra-region: WhiteMatter)

Code Name Citation
F Aseg Fischl et al, 2002
J JHU Hua et al, 2008
Results

Chimera parcellations were generated using the following codes: LFMIIIFIF, HFIIIIFIF, BFIIHIFIF (162, 492 and 314 regions respectively). Figure 2A shows the corresponding results of the fused parcellations for a single subject. By filtering each individual's tractogram with the corresponding Chimera parcellations, we generated connectivity matrices (Figure 2B).

License

License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chimera_brainparcellation-0.3.0.tar.gz (83.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chimera_brainparcellation-0.3.0-py3-none-any.whl (77.9 MB view details)

Uploaded Python 3

File details

Details for the file chimera_brainparcellation-0.3.0.tar.gz.

File metadata

File hashes

Hashes for chimera_brainparcellation-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2425f35ea9e7b9c2645523619cebb4b92764d0d603e26bddb71b9bc58d384e82
MD5 c0a65055b16870bb8fc4ffb027268beb
BLAKE2b-256 14dc625fd6f9f63e75a573b261ba9c82df7e97b5fbbc1b994d16427f1bc45e01

See more details on using hashes here.

File details

Details for the file chimera_brainparcellation-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for chimera_brainparcellation-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0c56f9adadcab7b6aec5853c22c28043dafa2453f217947dd4d17a116c4b4adc
MD5 f987d17230da34e19066f9f98c9a788e
BLAKE2b-256 e159f6ce4cd04446194b5a25ba17a5f8f98b536a9f570eddabbf5e07eaf5cd30

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page