.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/07_advanced/plot_localizer_simple_analysis.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_localizer_simple_analysis.py: Massively univariate analysis of a calculation task from the Localizer dataset ============================================================================== This example shows how to use the Localizer dataset in a basic analysis. A standard Anova is performed (massively univariate F-test) and the resulting Bonferroni-corrected p-values are plotted. We use a calculation task and 20 subjects out of the 94 available. The Localizer dataset contains many contrasts and subject-related variates. The user can refer to the `plot_localizer_mass_univariate_methods.py` example to see how to use these. .. include:: ../../../examples/masker_note.rst .. GENERATED FROM PYTHON SOURCE LINES 16-23 .. code-block:: Python from nilearn._utils.helpers import check_matplotlib check_matplotlib() import matplotlib.pyplot as plt .. GENERATED FROM PYTHON SOURCE LINES 24-30 .. code-block:: Python import numpy as np from nilearn import datasets from nilearn.image import get_data from nilearn.maskers import NiftiMasker .. GENERATED FROM PYTHON SOURCE LINES 31-32 Load Localizer contrast .. GENERATED FROM PYTHON SOURCE LINES 32-38 .. code-block:: Python n_samples = 20 localizer_dataset = datasets.fetch_localizer_calculation_task( n_subjects=n_samples ) tested_var = np.ones((n_samples, 1)) .. rst-class:: sphx-glr-script-out .. code-block:: none [fetch_localizer_calculation_task] Dataset found in /home/runner/nilearn_data/brainomics_localizer .. GENERATED FROM PYTHON SOURCE LINES 39-40 Mask data .. GENERATED FROM PYTHON SOURCE LINES 40-46 .. code-block:: Python nifti_masker = NiftiMasker( smoothing_fwhm=5, memory="nilearn_cache", memory_level=1 ) cmap_filenames = localizer_dataset.cmaps fmri_masked = nifti_masker.fit_transform(cmap_filenames) .. GENERATED FROM PYTHON SOURCE LINES 47-48 Anova (parametric F-scores) .. GENERATED FROM PYTHON SOURCE LINES 48-60 .. code-block:: Python from sklearn.feature_selection import f_regression # Center=False is used to not remove intercept _, pvals_anova = f_regression(fmri_masked, tested_var, center=False) pvals_anova *= fmri_masked.shape[1] pvals_anova[np.isnan(pvals_anova)] = 1 pvals_anova[pvals_anova > 1] = 1 neg_log_pvals_anova = -np.log10(pvals_anova) neg_log_pvals_anova_unmasked = nifti_masker.inverse_transform( neg_log_pvals_anova ) .. rst-class:: sphx-glr-script-out .. code-block:: none /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/sklearn/utils/validation.py:1229: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel(). y = column_or_1d(y, warn=True) .. GENERATED FROM PYTHON SOURCE LINES 61-62 Visualization .. GENERATED FROM PYTHON SOURCE LINES 62-92 .. code-block:: Python from nilearn.plotting import plot_stat_map, show # Various plotting parameters plotted_slice = 45 threshold = -np.log10(0.1) # 10% corrected masked_pvals = np.ma.masked_less( get_data(neg_log_pvals_anova_unmasked), threshold ) title = ( "Negative $\\log_{10}$ p-values" "\n(Parametric + Bonferroni correction)" f"\n{(~masked_pvals.mask).sum()} detections" ) # Plot Anova p-values display = plot_stat_map( neg_log_pvals_anova_unmasked, threshold=threshold, display_mode="z", cut_coords=[plotted_slice], figure=plt.figure(figsize=(5, 6), facecolor="w"), cmap="inferno", vmin=threshold, title=title, ) show() .. image-sg:: /auto_examples/07_advanced/images/sphx_glr_plot_localizer_simple_analysis_001.png :alt: plot localizer simple analysis :srcset: /auto_examples/07_advanced/images/sphx_glr_plot_localizer_simple_analysis_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none /home/runner/work/nilearn/nilearn/.tox/doc/lib/python3.9/site-packages/nilearn/plotting/displays/_slicers.py:1674: MatplotlibDeprecationWarning: Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance. ax = fh.add_axes( .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 3.299 seconds) **Estimated memory usage:** 108 MB .. _sphx_glr_download_auto_examples_07_advanced_plot_localizer_simple_analysis.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_localizer_simple_analysis.ipynb :alt: Launch binder :width: 150 px .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_localizer_simple_analysis.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_localizer_simple_analysis.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: plot_localizer_simple_analysis.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_