.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/07_advanced/plot_ica_neurovault.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` 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_07_advanced_plot_ica_neurovault.py: NeuroVault cross-study ICA maps =============================== This example shows how to download statistical maps from NeuroVault, label them with NeuroSynth terms, and compute :term:`ICA` components across all the maps. See :func:`~nilearn.datasets.fetch_neurovault` documentation for more details. .. include:: ../../../examples/masker_note.rst .. Ported from code authored by Chris Filo Gorgolewski, Gael Varoquaux https://github.com/NeuroVault/neurovault_analysis .. GENERATED FROM PYTHON SOURCE LINES 18-28 .. code-block:: Python import numpy as np from scipy import stats from sklearn.decomposition import FastICA from nilearn.datasets import fetch_neurovault, load_mni152_brain_mask from nilearn.image import smooth_img from nilearn.maskers import NiftiMasker from nilearn.plotting import plot_stat_map, show .. GENERATED FROM PYTHON SOURCE LINES 29-31 Get image and term data ----------------------- .. GENERATED FROM PYTHON SOURCE LINES 31-60 .. code-block:: Python # Download images # Here by default we only download 80 images to save time, # but for better results I recommend using at least 200. print( "Fetching Neurovault images; " "if you haven't downloaded any Neurovault data before " "this will take several minutes." ) nv_data = fetch_neurovault( max_images=30, fetch_neurosynth_words=True, timeout=30.0 ) images = nv_data["images"] term_weights = nv_data["word_frequencies"] vocabulary = nv_data["vocabulary"] if term_weights is None: term_weights = np.ones((len(images), 2)) vocabulary = np.asarray(["Neurosynth is down", "Please try again later"]) # Clean and report term scores term_weights[term_weights < 0] = 0 total_scores = np.mean(term_weights, axis=0) print("\nTop 10 neurosynth terms from downloaded images:\n") for term_idx in np.argsort(total_scores)[-10:][::-1]: print(vocabulary[term_idx]) .. rst-class:: sphx-glr-script-out .. code-block:: none Fetching Neurovault images; if you haven't downloaded any Neurovault data before this will take several minutes. [fetch_neurovault] Dataset found in /home/runner/nilearn_data/neurovault [fetch_neurovault] Reading local neurovault data. [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=32980 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1952/neurosynth_words_for_image_ 32980.json [fetch_neurovault] Already fetched 1 image [fetch_neurovault] 1 image found on local disk. [fetch_neurovault] Reading server neurovault data. [fetch_neurovault] Scroll collections: getting new batch: https://neurovault.org/api/collections/?limit=100&offset=0 [fetch_neurovault] Scroll collections: batch size: 100 [fetch_neurovault] Scroll images from collection 921: getting new batch: https://neurovault.org/api/collections/921/images/?limit=100&offset=0 [fetch_neurovault] Scroll images from collection 921: batch size: 1 [fetch_neurovault] On neurovault.org: no image matched query in collection 921 [fetch_neurovault] Scroll images from collection 440: getting new batch: https://neurovault.org/api/collections/440/images/?limit=100&offset=0 [fetch_neurovault] Scroll images from collection 440: batch size: 2 [fetch_neurovault] On neurovault.org: no image matched query in collection 440 [fetch_neurovault] Scroll images from collection 496: getting new batch: https://neurovault.org/api/collections/496/images/?limit=100&offset=0 [fetch_neurovault] Scroll images from collection 496: batch size: 1 [fetch_neurovault] On neurovault.org: no image matched query in collection 496 [fetch_neurovault] Scroll images from collection 4008: getting new batch: https://neurovault.org/api/collections/4008/images/?limit=100&offset=0 [fetch_neurovault] Scroll images from collection 4008: batch size: 1 [fetch_neurovault] Downloading file: http://neurovault.org/media/images/4008/spmT_0001.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_4008/image_65426.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=65426 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_4008/neurosynth_words_for_image_ 65426.json [fetch_neurovault] Already fetched 2 images [fetch_neurovault] On neurovault.org: 1 image matched query in collection 4008 [fetch_neurovault] Scroll images from collection 4: getting new batch: https://neurovault.org/api/collections/4/images/?limit=100&offset=0 [fetch_neurovault] Scroll images from collection 4: batch size: 1 [fetch_neurovault] On neurovault.org: no image matched query in collection 4 [fetch_neurovault] Scroll images from collection 79: getting new batch: https://neurovault.org/api/collections/79/images/?limit=100&offset=0 [fetch_neurovault] Scroll images from collection 79: batch size: 5 [fetch_neurovault] Downloading file: http://neurovault.org/media/images/79/neurosynth_spectral_01.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_79/image_11020.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=11020 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_79/neurosynth_words_for_image_11 020.json [fetch_neurovault] Already fetched 3 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/79/neurosynth_spectral_01_1.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_79/image_11021.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=11021 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_79/neurosynth_words_for_image_11 021.json [fetch_neurovault] Already fetched 4 images [fetch_neurovault] On neurovault.org: 2 images matched query in collection 79 [fetch_neurovault] Scroll images from collection 1257: getting new batch: https://neurovault.org/api/collections/1257/images/?limit=100&offset=0 [fetch_neurovault] Scroll images from collection 1257: batch size: 100 [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/abstract_knowledge_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17327.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17327 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17327.json [fetch_neurovault] Already fetched 5 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/acoustic_processing_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17328.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17328 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17328.json [fetch_neurovault] Already fetched 6 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/action_perception_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17329.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17329 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17329.json [fetch_neurovault] Already fetched 7 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/action_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17330.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17330 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17330.json [fetch_neurovault] Already fetched 8 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/activation_level_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17331.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17331 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17331.json [fetch_neurovault] Already fetched 9 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/activation_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17332.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17332 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17332.json [fetch_neurovault] Already fetched 10 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/active_maintenance_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17333.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17333 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17333.json [fetch_neurovault] Already fetched 11 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/active_retrieval_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17334.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17334 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17334.json [fetch_neurovault] Already fetched 12 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/acuity_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17335.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17335 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17335.json [fetch_neurovault] Already fetched 13 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/adaptation_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17336.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17336 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17336.json [fetch_neurovault] Already fetched 14 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/adaptive_control_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17337.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17337 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17337.json [fetch_neurovault] Already fetched 15 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/addiction_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17338.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17338 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17338.json [fetch_neurovault] Already fetched 16 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/affect_perception_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17339.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17339 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17339.json [fetch_neurovault] Already fetched 17 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/affect_recognition_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17340.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17340 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17340.json [fetch_neurovault] Already fetched 18 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/agency_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17341.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17341 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17341.json [fetch_neurovault] Already fetched 19 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/agreeableness_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17342.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17342 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17342.json [fetch_neurovault] Already fetched 20 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/altruism_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17343.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17343 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17343.json [fetch_neurovault] Already fetched 21 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/altruistic_motivation_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17344.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17344 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17344.json [fetch_neurovault] Already fetched 22 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/alveolar_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17345.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17345 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17345.json [fetch_neurovault] Already fetched 23 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/amodal_representation_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17346.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17346 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17346.json [fetch_neurovault] Already fetched 24 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/analogical_reasoning_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17347.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17347 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17347.json [fetch_neurovault] Already fetched 25 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/analogy_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17348.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17348 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17348.json [fetch_neurovault] Already fetched 26 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/anchoring_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17349.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17349 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17349.json [fetch_neurovault] Already fetched 27 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/anhedonia_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17350.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17350 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17350.json [fetch_neurovault] Already fetched 28 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/animacy_decision_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17351.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17351 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17351.json [fetch_neurovault] Already fetched 29 images [fetch_neurovault] Downloading file: http://neurovault.org/media/images/1257/animacy_perception_regparam.nii.gz [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/image_17352.nii.gz [fetch_neurovault] Downloading file: https://neurosynth.org/api/decode/?neurovault=17352 [fetch_neurovault] Download succeeded, downloaded to: /home/runner/nilearn_data/neurovault/collection_1257/neurosynth_words_for_image_ 17352.json [fetch_neurovault] Already fetched 30 images [fetch_neurovault] Computing word features. [fetch_neurovault] Computing word features done; vocabulary size: 1307 Top 10 neurosynth terms from downloaded images: parietal motor premotor tasks movements intraparietal intraparietal sulcus task premotor cortex phonological .. GENERATED FROM PYTHON SOURCE LINES 61-63 Reshape and mask images ----------------------- .. GENERATED FROM PYTHON SOURCE LINES 63-95 .. code-block:: Python print("\nReshaping and masking images.\n") mask_img = load_mni152_brain_mask(resolution=2) masker = NiftiMasker(mask_img=mask_img, memory="nilearn_cache", memory_level=1) masker = masker.fit() # Images may fail to be transformed, and are of different shapes, # so we need to transform one-by-one and keep track of failures. X = [] is_usable = np.ones((len(images),), dtype=bool) for index, image_path in enumerate(images): # load image and remove nan and inf values. # applying smooth_img to an image with fwhm=None simply cleans up # non-finite values but otherwise doesn't modify the image. image = smooth_img(image_path, fwhm=None) try: X.append(masker.transform(image)) except Exception as e: meta = nv_data["images_meta"][index] print( f"Failed to mask/reshape image: id: {meta.get('id')}; " f"name: '{meta.get('name')}'; " f"collection: {meta.get('collection_id')}; error: {e}" ) is_usable[index] = False # Now reshape list into 2D matrix, and remove failed images from terms X = np.vstack(X) term_weights = term_weights[is_usable, :] .. rst-class:: sphx-glr-script-out .. code-block:: none Reshaping and masking images. /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/joblib/memory.py:779: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. output = self.func(*args, **kwargs) [NiftiMasker.wrapped] Resampling images .. GENERATED FROM PYTHON SOURCE LINES 96-98 Run :term:`ICA` and map components to terms ------------------------------------------- .. GENERATED FROM PYTHON SOURCE LINES 98-110 .. code-block:: Python print("Running ICA; may take time...") # We use a very small number of components as we have downloaded only 80 # images. For better results, increase the number of images downloaded # and the number of components n_components = 8 fast_ica = FastICA(n_components=n_components, random_state=0) ica_maps = fast_ica.fit_transform(X.T).T term_weights_for_components = np.dot(fast_ica.components_, term_weights) print("Done, plotting results.") .. rst-class:: sphx-glr-script-out .. code-block:: none Running ICA; may take time... Done, plotting results. .. GENERATED FROM PYTHON SOURCE LINES 111-113 Generate figures ---------------- .. GENERATED FROM PYTHON SOURCE LINES 113-129 .. code-block:: Python for index, (ic_map, ic_terms) in enumerate( zip(ica_maps, term_weights_for_components) ): if -ic_map.min() > ic_map.max(): # Flip the map's sign for prettiness ic_map = -ic_map ic_terms = -ic_terms ic_threshold = stats.scoreatpercentile(np.abs(ic_map), 90) ic_img = masker.inverse_transform(ic_map) important_terms = vocabulary[np.argsort(ic_terms)[-3:]] title = f"IC{int(index)} {', '.join(important_terms[::-1])}" plot_stat_map(ic_img, threshold=ic_threshold, colorbar=False, title=title) .. rst-class:: sphx-glr-horizontal * .. image-sg:: /auto_examples/07_advanced/images/sphx_glr_plot_ica_neurovault_001.png :alt: plot ica neurovault :srcset: /auto_examples/07_advanced/images/sphx_glr_plot_ica_neurovault_001.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/07_advanced/images/sphx_glr_plot_ica_neurovault_002.png :alt: plot ica neurovault :srcset: /auto_examples/07_advanced/images/sphx_glr_plot_ica_neurovault_002.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/07_advanced/images/sphx_glr_plot_ica_neurovault_003.png :alt: plot ica neurovault :srcset: /auto_examples/07_advanced/images/sphx_glr_plot_ica_neurovault_003.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/07_advanced/images/sphx_glr_plot_ica_neurovault_004.png :alt: plot ica neurovault :srcset: /auto_examples/07_advanced/images/sphx_glr_plot_ica_neurovault_004.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/07_advanced/images/sphx_glr_plot_ica_neurovault_005.png :alt: plot ica neurovault :srcset: /auto_examples/07_advanced/images/sphx_glr_plot_ica_neurovault_005.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/07_advanced/images/sphx_glr_plot_ica_neurovault_006.png :alt: plot ica neurovault :srcset: /auto_examples/07_advanced/images/sphx_glr_plot_ica_neurovault_006.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/07_advanced/images/sphx_glr_plot_ica_neurovault_007.png :alt: plot ica neurovault :srcset: /auto_examples/07_advanced/images/sphx_glr_plot_ica_neurovault_007.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/07_advanced/images/sphx_glr_plot_ica_neurovault_008.png :alt: plot ica neurovault :srcset: /auto_examples/07_advanced/images/sphx_glr_plot_ica_neurovault_008.png :class: sphx-glr-multi-img .. GENERATED FROM PYTHON SOURCE LINES 130-133 As we can see, some of the components capture cognitive or neurological maps, while other capture noise in the database. More data, better filtering, and better cognitive labels would give better maps .. GENERATED FROM PYTHON SOURCE LINES 133-136 .. code-block:: Python # Done. show() .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 45.992 seconds) **Estimated memory usage:** 132 MB .. _sphx_glr_download_auto_examples_07_advanced_plot_ica_neurovault.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: binder-badge .. image:: images/binder_badge_logo.svg :target: https://mybinder.org/v2/gh/nilearn/nilearn/0.12.0?urlpath=lab/tree/notebooks/auto_examples/07_advanced/plot_ica_neurovault.ipynb :alt: Launch binder :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_ica_neurovault.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_ica_neurovault.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_ica_neurovault.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_