.. 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_01_plotting_plot_carpet.py:
Visualizing global patterns with a carpet plot
==============================================
A common quality control step for functional MRI data is to visualize the data
over time in a carpet plot (also known as a Power plot or a grayplot).
The :func:`nilearn.plotting.plot_carpet()` function generates a carpet plot
from a 4D functional image.
Fetching data from ADHD dataset
-------------------------------
.. code-block:: default
    from nilearn import datasets
    adhd_dataset = datasets.fetch_adhd(n_subjects=1)
    # Print basic information on the dataset
    print('First subject functional nifti image (4D) is at: %s' %
          adhd_dataset.func[0])  # 4D data
.. rst-class:: sphx-glr-script-out
 Out:
 .. code-block:: none
    /home/nicolas/GitRepos/nilearn-fork/nilearn/datasets/func.py:240: VisibleDeprecationWarning: Reading unicode strings without specifying the encoding argument is deprecated. Set the encoding, use None for the system default.
      phenotypic = np.genfromtxt(phenotypic, names=True, delimiter=',',
    First subject functional nifti image (4D) is at: /home/nicolas/nilearn_data/adhd/data/0010042/0010042_rest_tshift_RPI_voreg_mni.nii.gz
Deriving a mask
---------------
.. code-block:: default
    from nilearn import masking
    # Build an EPI-based mask because we have no anatomical data
    mask_img = masking.compute_epi_mask(adhd_dataset.func[0])
Visualizing global patterns over time
-------------------------------------
.. code-block:: default
    import matplotlib.pyplot as plt
    from nilearn.plotting import plot_carpet
    display = plot_carpet(adhd_dataset.func[0], mask_img)
    display.show()
.. image:: /auto_examples/01_plotting/images/sphx_glr_plot_carpet_001.png
    :alt: plot carpet
    :class: sphx-glr-single-img
Deriving a label-based mask
---------------------------
Create a gray matter/white matter/cerebrospinal fluid mask from
ICBM152 tissue probability maps.
.. code-block:: default
    import nibabel as nib
    import numpy as np
    from nilearn import image
    atlas = datasets.fetch_icbm152_2009()
    atlas_img = image.concat_imgs((atlas["gm"], atlas["wm"], atlas["csf"]))
    map_labels = {"Gray Matter": 1, "White Matter": 2, "Cerebrospinal Fluid": 3}
    atlas_data = atlas_img.get_fdata()
    discrete_version = np.argmax(atlas_data, axis=3) + 1
    discrete_version[np.max(atlas_data, axis=3) == 0] = 0
    discrete_atlas_img = nib.Nifti1Image(
        discrete_version,
        atlas_img.affine,
        atlas_img.header,
    )
Visualizing global patterns, separated by tissue type
-----------------------------------------------------
.. code-block:: default
    import matplotlib.pyplot as plt
    from nilearn.plotting import plot_carpet
    fig, ax = plt.subplots(figsize=(10, 10))
    display = plot_carpet(
        adhd_dataset.func[0],
        discrete_atlas_img,
        mask_labels=map_labels,
        axes=ax,
    )
    fig.show()
.. image:: /auto_examples/01_plotting/images/sphx_glr_plot_carpet_002.png
    :alt: plot carpet
    :class: sphx-glr-single-img
.. rst-class:: sphx-glr-script-out
 Out:
 .. code-block:: none
    /home/nicolas/GitRepos/nilearn-fork/nilearn/image/resampling.py:531: UserWarning: Casting data from int32 to float32
      warnings.warn("Casting data from %s to %s" % (data.dtype.name, aux))
    Coercing atlas_values to 
.. rst-class:: sphx-glr-timing
   **Total running time of the script:** ( 0 minutes  8.196 seconds)
.. _sphx_glr_download_auto_examples_01_plotting_plot_carpet.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/01_plotting/plot_carpet.ipynb
      :alt: Launch binder
      :width: 150 px
  .. container:: sphx-glr-download sphx-glr-download-python
     :download:`Download Python source code: plot_carpet.py `
  .. container:: sphx-glr-download sphx-glr-download-jupyter
     :download:`Download Jupyter notebook: plot_carpet.ipynb `
.. only:: html
 .. rst-class:: sphx-glr-signature
    `Gallery generated by Sphinx-Gallery `_