.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/03_connectivity/plot_compare_decomposition.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note Click :ref:`here ` to download the full example code or to run this example in your browser via Binder .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_03_connectivity_plot_compare_decomposition.py: Deriving spatial maps from group fMRI data using ICA and Dictionary Learning ============================================================================ Various approaches exist to derive spatial maps or networks from group fmr data. The methods extract distributed brain regions that exhibit similar :term:`BOLD` fluctuations over time. Decomposition methods allow for generation of many independent maps simultaneously without the need to provide a priori information (e.g. seeds or priors.) This example will apply two popular decomposition methods, :term:`ICA` and :term:`Dictionary learning`, to :term:`fMRI` data measured while children and young adults watch movies. The resulting maps will be visualized using atlas plotting tools. :term:`CanICA` is an :term:`ICA` method for group-level analysis of :term:`fMRI` data. Compared to other strategies, it brings a well-controlled group model, as well as a thresholding algorithm controlling for specificity and sensitivity with an explicit model of the signal. The reference paper is: * G. Varoquaux et al. "A group model for stable multi-subject ICA on fMRI datasets", NeuroImage Vol 51 (2010), p. 288-299 `preprint `_ .. GENERATED FROM PYTHON SOURCE LINES 27-29 Load brain development fmri dataset ----------------------------------- .. GENERATED FROM PYTHON SOURCE LINES 29-39 .. code-block:: default from nilearn import datasets rest_dataset = datasets.fetch_development_fmri(n_subjects=30) func_filenames = rest_dataset.func # list of 4D nifti files for each subject # print basic information on the dataset print('First functional nifti image (4D) is at: %s' % rest_dataset.func[0]) # 4D data .. rst-class:: sphx-glr-script-out Out: .. code-block:: none First functional nifti image (4D) is at: /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar123_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz .. GENERATED FROM PYTHON SOURCE LINES 40-45 Apply CanICA on the data --------------------------------- We use "whole-brain-template" as a strategy to compute the mask, as this leads to slightly faster and more reproducible results. However, the images need to be in :term:`MNI` template space. .. GENERATED FROM PYTHON SOURCE LINES 45-63 .. code-block:: default from nilearn.decomposition import CanICA canica = CanICA(n_components=20, memory="nilearn_cache", memory_level=2, verbose=10, mask_strategy='whole-brain-template', random_state=0) canica.fit(func_filenames) # Retrieve the independent components in brain space. Directly # accessible through attribute `components_img_`. canica_components_img = canica.components_img_ # components_img is a Nifti Image object, and can be saved to a file with # the following line: canica_components_img.to_filename('canica_resting_state.nii.gz') .. rst-class:: sphx-glr-script-out Out: .. code-block:: none [MultiNiftiMasker.fit] Loading data from [/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar123_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar124_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar125_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar126_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar127_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar128_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar001_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar002_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar003_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar004_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar005_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar006_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar007_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar008_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar009_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar010_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar011_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar012_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar013_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar014_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar015_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar016_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar017_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar018_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar019_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar020_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar021_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar022_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar023_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar024_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz] [MultiNiftiMasker.fit] Computing mask /home/nicolas/GitRepos/joblib-fork/joblib/memory.py:632: UserWarning: Cannot inspect object functools.partial(, mask_type='whole-brain'), ignore list will not work. Template whole-brain mask computation /home/nicolas/GitRepos/joblib-fork/joblib/memory.py:810: UserWarning: Cannot inspect object functools.partial(, mask_type='whole-brain'), ignore list will not work. /home/nicolas/GitRepos/joblib-fork/joblib/memory.py:632: UserWarning: Cannot inspect object functools.partial(, mask_type='whole-brain'), ignore list will not work. [MultiNiftiMasker.transform] Resampling mask [CanICA] Loading data [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar123_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar124_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar125_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar126_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar127_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar128_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar001_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar002_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar003_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar004_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar005_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar006_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar007_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar008_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar009_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar010_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar011_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar012_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar013_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar014_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar015_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar016_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar017_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar018_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar019_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar020_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar021_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar022_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar023_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar024_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals ________________________________________________________________________________ [Memory] Calling sklearn.utils.extmath.randomized_svd... randomized_svd(array([[0.003659, ..., 0.013254], ..., [0.012477, ..., 0.002881]]), n_components=20, transpose=True, random_state=0, n_iter=3) ___________________________________________________randomized_svd - 0.6s, 0.0min [Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers. ________________________________________________________________________________ [Memory] Calling sklearn.decomposition._fastica.fastica... fastica(array([[ 0.004071, ..., 0.000497], ..., [ 0.005856, ..., -0.004765]]), whiten=True, fun='cube', random_state=209652396) /home/nicolas/GitRepos/scikit-learn-fork/sklearn/decomposition/_fastica.py:300: FutureWarning: From version 1.3 whiten=True should be specified as whiten='arbitrary-variance' (its current behaviour). This behavior is deprecated in 1.1 and will raise ValueError in 1.3. __________________________________________________________fastica - 2.0s, 0.0min [Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 2.0s remaining: 0.0s ________________________________________________________________________________ [Memory] Calling sklearn.decomposition._fastica.fastica... fastica(array([[ 0.004071, ..., 0.000497], ..., [ 0.005856, ..., -0.004765]]), whiten=True, fun='cube', random_state=398764591) /home/nicolas/GitRepos/scikit-learn-fork/sklearn/decomposition/_fastica.py:300: FutureWarning: From version 1.3 whiten=True should be specified as whiten='arbitrary-variance' (its current behaviour). This behavior is deprecated in 1.1 and will raise ValueError in 1.3. __________________________________________________________fastica - 1.7s, 0.0min [Parallel(n_jobs=1)]: Done 2 out of 2 | elapsed: 3.8s remaining: 0.0s ________________________________________________________________________________ [Memory] Calling sklearn.decomposition._fastica.fastica... fastica(array([[ 0.004071, ..., 0.000497], ..., [ 0.005856, ..., -0.004765]]), whiten=True, fun='cube', random_state=924231285) /home/nicolas/GitRepos/scikit-learn-fork/sklearn/decomposition/_fastica.py:300: FutureWarning: From version 1.3 whiten=True should be specified as whiten='arbitrary-variance' (its current behaviour). This behavior is deprecated in 1.1 and will raise ValueError in 1.3. __________________________________________________________fastica - 2.0s, 0.0min [Parallel(n_jobs=1)]: Done 3 out of 3 | elapsed: 5.7s remaining: 0.0s ________________________________________________________________________________ [Memory] Calling sklearn.decomposition._fastica.fastica... fastica(array([[ 0.004071, ..., 0.000497], ..., [ 0.005856, ..., -0.004765]]), whiten=True, fun='cube', random_state=1478610112) /home/nicolas/GitRepos/scikit-learn-fork/sklearn/decomposition/_fastica.py:300: FutureWarning: From version 1.3 whiten=True should be specified as whiten='arbitrary-variance' (its current behaviour). This behavior is deprecated in 1.1 and will raise ValueError in 1.3. __________________________________________________________fastica - 1.8s, 0.0min [Parallel(n_jobs=1)]: Done 4 out of 4 | elapsed: 7.5s remaining: 0.0s ________________________________________________________________________________ [Memory] Calling sklearn.decomposition._fastica.fastica... fastica(array([[ 0.004071, ..., 0.000497], ..., [ 0.005856, ..., -0.004765]]), whiten=True, fun='cube', random_state=441365315) /home/nicolas/GitRepos/scikit-learn-fork/sklearn/decomposition/_fastica.py:300: FutureWarning: From version 1.3 whiten=True should be specified as whiten='arbitrary-variance' (its current behaviour). This behavior is deprecated in 1.1 and will raise ValueError in 1.3. __________________________________________________________fastica - 1.9s, 0.0min [Parallel(n_jobs=1)]: Done 5 out of 5 | elapsed: 9.4s remaining: 0.0s ________________________________________________________________________________ [Memory] Calling sklearn.decomposition._fastica.fastica... fastica(array([[ 0.004071, ..., 0.000497], ..., [ 0.005856, ..., -0.004765]]), whiten=True, fun='cube', random_state=1537364731) /home/nicolas/GitRepos/scikit-learn-fork/sklearn/decomposition/_fastica.py:300: FutureWarning: From version 1.3 whiten=True should be specified as whiten='arbitrary-variance' (its current behaviour). This behavior is deprecated in 1.1 and will raise ValueError in 1.3. __________________________________________________________fastica - 2.5s, 0.0min [Parallel(n_jobs=1)]: Done 6 out of 6 | elapsed: 12.0s remaining: 0.0s ________________________________________________________________________________ [Memory] Calling sklearn.decomposition._fastica.fastica... fastica(array([[ 0.004071, ..., 0.000497], ..., [ 0.005856, ..., -0.004765]]), whiten=True, fun='cube', random_state=192771779) /home/nicolas/GitRepos/scikit-learn-fork/sklearn/decomposition/_fastica.py:300: FutureWarning: From version 1.3 whiten=True should be specified as whiten='arbitrary-variance' (its current behaviour). This behavior is deprecated in 1.1 and will raise ValueError in 1.3. __________________________________________________________fastica - 1.4s, 0.0min [Parallel(n_jobs=1)]: Done 7 out of 7 | elapsed: 13.4s remaining: 0.0s ________________________________________________________________________________ [Memory] Calling sklearn.decomposition._fastica.fastica... fastica(array([[ 0.004071, ..., 0.000497], ..., [ 0.005856, ..., -0.004765]]), whiten=True, fun='cube', random_state=1491434855) /home/nicolas/GitRepos/scikit-learn-fork/sklearn/decomposition/_fastica.py:300: FutureWarning: From version 1.3 whiten=True should be specified as whiten='arbitrary-variance' (its current behaviour). This behavior is deprecated in 1.1 and will raise ValueError in 1.3. __________________________________________________________fastica - 1.4s, 0.0min [Parallel(n_jobs=1)]: Done 8 out of 8 | elapsed: 14.8s remaining: 0.0s ________________________________________________________________________________ [Memory] Calling sklearn.decomposition._fastica.fastica... fastica(array([[ 0.004071, ..., 0.000497], ..., [ 0.005856, ..., -0.004765]]), whiten=True, fun='cube', random_state=1819583497) /home/nicolas/GitRepos/scikit-learn-fork/sklearn/decomposition/_fastica.py:300: FutureWarning: From version 1.3 whiten=True should be specified as whiten='arbitrary-variance' (its current behaviour). This behavior is deprecated in 1.1 and will raise ValueError in 1.3. __________________________________________________________fastica - 2.2s, 0.0min [Parallel(n_jobs=1)]: Done 9 out of 9 | elapsed: 17.0s remaining: 0.0s ________________________________________________________________________________ [Memory] Calling sklearn.decomposition._fastica.fastica... fastica(array([[ 0.004071, ..., 0.000497], ..., [ 0.005856, ..., -0.004765]]), whiten=True, fun='cube', random_state=530702035) /home/nicolas/GitRepos/scikit-learn-fork/sklearn/decomposition/_fastica.py:300: FutureWarning: From version 1.3 whiten=True should be specified as whiten='arbitrary-variance' (its current behaviour). This behavior is deprecated in 1.1 and will raise ValueError in 1.3. __________________________________________________________fastica - 1.6s, 0.0min [Parallel(n_jobs=1)]: Done 10 out of 10 | elapsed: 18.6s finished .. GENERATED FROM PYTHON SOURCE LINES 64-65 To visualize we plot the outline of all components on one figure .. GENERATED FROM PYTHON SOURCE LINES 65-71 .. code-block:: default from nilearn.plotting import plot_prob_atlas # Plot all ICA components together plot_prob_atlas(canica_components_img, title='All ICA components') .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_001.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out Out: .. code-block:: none /home/nicolas/anaconda3/envs/nilearn/lib/python3.8/site-packages/numpy/ma/core.py:2825: UserWarning: Warning: converting a masked element to nan. /home/nicolas/GitRepos/nilearn-fork/nilearn/plotting/displays/_axes.py:71: UserWarning: linewidths is ignored by contourf /home/nicolas/GitRepos/nilearn-fork/nilearn/plotting/displays/_axes.py:71: UserWarning: No contour levels were found within the data range. .. GENERATED FROM PYTHON SOURCE LINES 72-73 Finally, we plot the map for each :term:`ICA` component separately .. GENERATED FROM PYTHON SOURCE LINES 73-81 .. code-block:: default from nilearn.image import iter_img from nilearn.plotting import plot_stat_map, show for i, cur_img in enumerate(iter_img(canica_components_img)): plot_stat_map(cur_img, display_mode="z", title="IC %d" % i, cut_coords=1, colorbar=False) .. rst-class:: sphx-glr-horizontal * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_002.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_002.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_003.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_003.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_004.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_004.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_005.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_005.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_006.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_006.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_007.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_007.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_008.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_008.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_009.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_009.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_010.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_010.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_011.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_011.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_012.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_012.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_013.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_013.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_014.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_014.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_015.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_015.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_016.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_016.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_017.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_017.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_018.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_018.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_019.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_019.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_020.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_020.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_021.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_021.png :class: sphx-glr-multi-img .. GENERATED FROM PYTHON SOURCE LINES 82-93 Compare CanICA to dictionary learning ------------------------------------- :term:`Dictionary learning` is a sparsity based decomposition method for extracting spatial maps. It extracts maps that are naturally sparse and usually cleaner than :term:`ICA`. Here, we will compare networks built with :term:`CanICA` to networks built with :term:`Dictionary learning`. * Arthur Mensch et al. `Compressed online dictionary learning for fast resting-state fMRI decomposition `_, ISBI 2016, Lecture Notes in Computer Science .. GENERATED FROM PYTHON SOURCE LINES 96-97 Create a dictionary learning estimator .. GENERATED FROM PYTHON SOURCE LINES 97-116 .. code-block:: default from nilearn.decomposition import DictLearning dict_learning = DictLearning(n_components=20, memory="nilearn_cache", memory_level=2, verbose=1, random_state=0, n_epochs=1, mask_strategy='whole-brain-template') print('[Example] Fitting dicitonary learning model') dict_learning.fit(func_filenames) print('[Example] Saving results') # Grab extracted components umasked back to Nifti image. # Note: For older versions, less than 0.4.1. components_img_ # is not implemented. See Note section above for details. dictlearning_components_img = dict_learning.components_img_ dictlearning_components_img.to_filename('dictionary_learning_resting_state.nii.gz') .. rst-class:: sphx-glr-script-out Out: .. code-block:: none [Example] Fitting dicitonary learning model [MultiNiftiMasker.fit] Loading data from [/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar123_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar124_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar125_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar126_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar127_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar128_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar001_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar002_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar003_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar004_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar005_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar006_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar007_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar008_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar009_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar010_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar011_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar012_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar013_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar014_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar015_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar016_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar017_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar018_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar019_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar020_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar021_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar022_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar023_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz, /home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar024_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz] [MultiNiftiMasker.fit] Computing mask /home/nicolas/GitRepos/joblib-fork/joblib/memory.py:632: UserWarning: Cannot inspect object functools.partial(, mask_type='whole-brain'), ignore list will not work. /home/nicolas/GitRepos/joblib-fork/joblib/memory.py:810: UserWarning: Cannot inspect object functools.partial(, mask_type='whole-brain'), ignore list will not work. /home/nicolas/GitRepos/joblib-fork/joblib/memory.py:632: UserWarning: Cannot inspect object functools.partial(, mask_type='whole-brain'), ignore list will not work. [MultiNiftiMasker.transform] Resampling mask [DictLearning] Loading data [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar123_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar124_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar125_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar126_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar127_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar128_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar001_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar002_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar003_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar004_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar005_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar006_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar007_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar008_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar009_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar010_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar011_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar012_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar013_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar014_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar015_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar016_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar017_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar018_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar019_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar020_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar021_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar022_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar023_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [MultiNiftiMasker.transform_single_imgs] Loading data from Nifti1Image('/home/nicolas/nilearn_data/development_fmri/development_fmri/sub-pixar024_task-pixar_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz') [MultiNiftiMasker.transform_single_imgs] Smoothing images [MultiNiftiMasker.transform_single_imgs] Extracting region signals [MultiNiftiMasker.transform_single_imgs] Cleaning extracted signals [DictLearning] Learning initial components ________________________________________________________________________________ [Memory] Calling sklearn.utils.extmath.randomized_svd... randomized_svd(array([[-0.001315, ..., 0.004387], ..., [ 0.011243, ..., 0.004194]]), n_components=20, transpose=True, random_state=0, n_iter=3) ___________________________________________________randomized_svd - 0.7s, 0.0min [Parallel(n_jobs=1)]: Using backend SequentialBackend with 1 concurrent workers. ________________________________________________________________________________ [Memory] Calling sklearn.decomposition._fastica.fastica... fastica(array([[ 0.00289 , ..., -0.002135], ..., [ 0.005107, ..., -0.012507]]), whiten=True, fun='cube', random_state=209652396) /home/nicolas/GitRepos/scikit-learn-fork/sklearn/decomposition/_fastica.py:300: FutureWarning: From version 1.3 whiten=True should be specified as whiten='arbitrary-variance' (its current behaviour). This behavior is deprecated in 1.1 and will raise ValueError in 1.3. __________________________________________________________fastica - 2.0s, 0.0min [Parallel(n_jobs=1)]: Done 1 out of 1 | elapsed: 2.0s finished [DictLearning] Computing initial loadings ________________________________________________________________________________ [Memory] Calling nilearn.decomposition.dict_learning._compute_loadings... _compute_loadings(array([[-0.007103, ..., -0.000443], ..., [ 0.007539, ..., 0.005995]]), array([[-0.624512, ..., 5.338654], ..., [ 0.779528, ..., 0.745343]])) _________________________________________________compute_loadings - 0.2s, 0.0min [DictLearning] Learning dictionary ________________________________________________________________________________ [Memory] Calling sklearn.decomposition._dict_learning.dict_learning_online... dict_learning_online(array([[-0.624512, ..., 0.779528], ..., [ 5.338654, ..., 0.745343]]), 20, alpha=10, n_iter=1090, batch_size=20, method='cd', dict_init=array([[ 0.107127, ..., -0.23469 ], ..., [-0.133393, ..., 0.012617]]), verbose=0, random_state=0, return_code=True, shuffle=True, n_jobs=1) _____________________________________________dict_learning_online - 4.1s, 0.1min [Example] Saving results .. GENERATED FROM PYTHON SOURCE LINES 117-120 Visualize the results First plot all DictLearning components together .. GENERATED FROM PYTHON SOURCE LINES 120-125 .. code-block:: default plot_prob_atlas(dictlearning_components_img, title='All DictLearning components') .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_022.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_022.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out Out: .. code-block:: none /home/nicolas/GitRepos/nilearn-fork/nilearn/plotting/displays/_axes.py:71: UserWarning: No contour levels were found within the data range. /home/nicolas/GitRepos/nilearn-fork/nilearn/plotting/displays/_axes.py:71: UserWarning: linewidths is ignored by contourf .. GENERATED FROM PYTHON SOURCE LINES 126-127 One plot of each component .. GENERATED FROM PYTHON SOURCE LINES 127-132 .. code-block:: default for i, cur_img in enumerate(iter_img(dictlearning_components_img)): plot_stat_map(cur_img, display_mode="z", title="Comp %d" % i, cut_coords=1, colorbar=False) .. rst-class:: sphx-glr-horizontal * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_023.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_023.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_024.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_024.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_025.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_025.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_026.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_026.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_027.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_027.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_028.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_028.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_029.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_029.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_030.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_030.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_031.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_031.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_032.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_032.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_033.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_033.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_034.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_034.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_035.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_035.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_036.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_036.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_037.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_037.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_038.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_038.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_039.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_039.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_040.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_040.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_041.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_041.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_042.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_042.png :class: sphx-glr-multi-img .. GENERATED FROM PYTHON SOURCE LINES 133-136 Estimate explained variance per component and plot using matplotlib The fitted object `dict_learning` can be used to calculate the score per component .. GENERATED FROM PYTHON SOURCE LINES 136-153 .. code-block:: default scores = dict_learning.score(func_filenames, per_component=True) # Plot the scores import numpy as np from matplotlib import pyplot as plt from matplotlib.ticker import FormatStrFormatter plt.figure(figsize=(4, 4)) positions = np.arange(len(scores)) plt.barh(positions, scores) plt.ylabel('Component #', size=12) plt.xlabel('Explained variance', size=12) plt.yticks(np.arange(20)) plt.gca().xaxis.set_major_formatter(FormatStrFormatter('%.3f')) plt.tight_layout() show() .. image-sg:: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_043.png :alt: plot compare decomposition :srcset: /auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_043.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out Out: .. code-block:: none ________________________________________________________________________________ [Memory] Calling nilearn.decomposition.base.explained_variance... explained_variance(array([[-6.245714e-01, ..., 5.338591e+00], ..., [-5.266110e-15, ..., 1.027327e-16]]), array([[-0., ..., 0.], ..., [ 0., ..., 0.]]), per_component=True) /home/nicolas/GitRepos/nilearn-fork/nilearn/decomposition/base.py:502: UserWarning: Persisting input arguments took 1.06s to run. If this happens often in your code, it can cause performance problems (results will be correct in all cases). The reason for this is probably some large input arguments for a wrapped function (e.g. large strings). THIS IS A JOBLIB ISSUE. If you can, kindly provide the joblib's team with an example so that they can fix the problem. ______________________________________________explained_variance - 20.2s, 0.3min .. GENERATED FROM PYTHON SOURCE LINES 154-160 .. note:: To see how to extract subject-level timeseries' from regions created using :term:`Dictionary learning`, see :ref:`example Regions extraction using dictionary learning and functional connectomes `. .. rst-class:: sphx-glr-timing **Total running time of the script:** ( 4 minutes 45.978 seconds) **Estimated memory usage:** 2703 MB .. _sphx_glr_download_auto_examples_03_connectivity_plot_compare_decomposition.py: .. only :: html .. container:: sphx-glr-footer :class: sphx-glr-footer-example .. container:: binder-badge .. image:: images/binder_badge_logo.svg :target: https://mybinder.org/v2/gh/nilearn/nilearn.github.io/main?filepath=examples/auto_examples/03_connectivity/plot_compare_decomposition.ipynb :alt: Launch binder :width: 150 px .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_compare_decomposition.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_compare_decomposition.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_