Nilearn logo
  • SVM
  • Ward clustering
  • Searchlight
  • ICA
  • Nifti IO
  • Datasets

Nilearn:

Statistics for NeuroImaging in Python

Navigation

  • modules
  • next |
  • previous |
  • Nilearn Home | 
  • User Guide | 
  • Examples | 
  • Reference | 
  • About| 
  • Glossary| 
  • Bibliography| 
  • Nipy ecosystem
  • User guide: table of contents »
  • 3. Functional connectivity and resting state »
  • Nilearn: Statistical Analysis for NeuroImaging in Python

3.3. Extracting functional brain networks: ICA and related¶

Page summary

This page demonstrates the use of multi-subject decompositions models to extract brain-networks from fMRI data in a data-driven way. Specifically, we will apply Independent Component Analysis (ICA), which implements a multivariate random effects model across subjects. We will then compare ICA to a newer technique, based on dictionary learning.

3.3.1. Multi-subject ICA: CanICA¶

References

  • G. Varoquaux et al. “A group model for stable multi-subject ICA on fMRI datasets”, NeuroImage Vol 51 (2010), p. 288-299

3.3.1.1. Objective¶

ICA is a useful approach for finding independent sources from fMRI images. ICA and similar techniques can be therefore used to define regions or networks that share similar BOLD signal across time. The CanICA incorporates information both within-subjects and across subjects to arrive at consensus components.

Nilearn data for examples

Nilearn provides easy-to-analyze data to explore functional connectivity and resting: the brain development dataset, which has been preprocessed using FMRIPrep and Nilearn We use nilearn functions to fetch data from Internet and get the filenames (more on data loading).

3.3.1.2. Fitting CanICA model with nilearn¶

CanICA is a ready-to-use object that can be applied to multi-subject Nifti data, for instance presented as filenames, and will perform a multi-subject ICA decomposition following the CanICA model. As with every object in nilearn, we give its parameters at construction, and then fit it on the data. For examples of this process, see here: Deriving spatial maps from group fMRI data using ICA and Dictionary Learning

Once an ICA object has been fit to an fMRI dataset, the individual components can be accessed as a 4D Nifti object using the components_img_ attribute.

3.3.1.3. Visualizing results¶

We can visualize each component outlined over the brain:

../_images/sphx_glr_plot_compare_decomposition_001.png

We can also plot the map for different components separately:

ic1 ic2 ic3 ic4

See also

The full code can be found as an example: Deriving spatial maps from group fMRI data using ICA and Dictionary Learning

Note

Note that as the ICA components are not ordered, the two components displayed on your computer might not match those of the documentation. For a fair representation, you should display all components and investigate which one resemble those displayed above.

3.3.1.4. Interpreting such components¶

ICA, and related algorithms, extract patterns that coactivate in the signal. As a result, it finds functional networks, but also patterns of non neural activity, ie confounding signals. Both are visible in the plots of the components.

3.3.2. An alternative to ICA: Dictionary learning¶

Recent work has shown that dictionary learning based techniques outperform ICA in term of stability and constitutes a better first step in a statistical analysis pipeline. Dictionary learning in neuro-imaging seeks to extract a few representative temporal elements along with their sparse spatial loadings, which constitute good extracted maps.

References

  • Arthur Mensch et al. Compressed online dictionary learning for fast resting-state fMRI decomposition, ISBI 2016, Lecture Notes in Computer Science

DictLearning is a ready-to-use class with the same interface as CanICA. Sparsity of output map is controlled by a parameter alpha: using a larger alpha yields sparser maps.

We can fit both estimators to compare them. 4D plotting (using nilearn.plotting.plot_prob_atlas) offers an efficient way to compare both resulting outputs.

../_images/sphx_glr_plot_compare_decomposition_022.png
../_images/sphx_glr_plot_compare_decomposition_001.png

Maps obtained with dictionary learning are often easier to exploit as they are more contrasted than ICA maps, with blobs usually better defined. Typically, smoothing can be lower than when doing ICA.

dl1 dl2 dl3 dl4

While dictionary learning computation time is comparable to CanICA, obtained atlases have been shown to outperform ICA in a variety of classification tasks.

See also

The full code can be found as an example: Deriving spatial maps from group fMRI data using ICA and Dictionary Learning

See also

Learn how to extract fMRI data from regions created with dictionary learning with this example: Regions extraction using Dictionary Learning and functional connectomes

Giving credit

  • Please consider citing the papers.

Table of Contents

  • 3.3. Extracting functional brain networks: ICA and related
    • 3.3.1. Multi-subject ICA: CanICA
      • 3.3.1.1. Objective
      • 3.3.1.2. Fitting CanICA model with nilearn
      • 3.3.1.3. Visualizing results
      • 3.3.1.4. Interpreting such components
    • 3.3.2. An alternative to ICA: Dictionary learning

Previous topic

3.2.3.1. Group-sparse covariance estimation

Next topic

3.4. Region Extraction for better brain parcellations

Quick search

© The nilearn developers 2010-2021. Created using Sphinx 4.0.2. Show this page source