Note
Click here to download the full example code or to run this example in your browser via Binder
9.2.7. Visualizing a probablistic atlas: the default mode in the MSDL atlas¶
Visualizing a probablistic atlas requires visualizing the different maps that compose it.
Here we represent the nodes constituting the default mode network in the MSDL atlas.
The tools that we need to leverage are:
nilearn.image.index_img
to retrieve the various maps composing the atlas- Adding overlays on an existing brain display, to plot each of these maps
Alternatively, nilearn.plotting.plot_prob_atlas
allows to plot the maps in one step that with less control over the plot (see below)
9.2.7.1. Fetching probabilistic atlas - MSDL atlas¶
from nilearn import datasets
atlas_data = datasets.fetch_atlas_msdl()
atlas_filename = atlas_data.maps
Out:
Dataset created in /home/varoquau/nilearn_data/msdl_atlas
Downloading data from https://team.inria.fr/parietal/files/2015/01/MSDL_rois.zip ...
...done. (0 seconds, 0 min)
Extracting data from /home/varoquau/nilearn_data/msdl_atlas/8eaecb9e05c478f565847000d9902a25/MSDL_rois.zip..... done.
/usr/lib/python3/dist-packages/numpy/lib/npyio.py:2358: VisibleDeprecationWarning: Reading unicode strings without specifying the encoding argument is deprecated. Set the encoding, use None for the system default.
output = genfromtxt(fname, **kwargs)
9.2.7.2. Visualizing a probabilistic atlas with plot_stat_map and add_overlay object¶
from nilearn import plotting, image
# First plot the map for the PCC: index 4 in the atlas
display = plotting.plot_stat_map(image.index_img(atlas_filename, 4),
colorbar=False,
title="DMN nodes in MSDL atlas")
# Now add as an overlay the maps for the ACC and the left and right
# parietal nodes
display.add_overlay(image.index_img(atlas_filename, 5),
cmap=plotting.cm.black_blue)
display.add_overlay(image.index_img(atlas_filename, 6),
cmap=plotting.cm.black_green)
display.add_overlay(image.index_img(atlas_filename, 3),
cmap=plotting.cm.black_pink)
plotting.show()
Out:
/usr/lib/python3/dist-packages/numpy/ma/core.py:2785: UserWarning: Warning: converting a masked element to nan.
_data = np.array(data, dtype=dtype, copy=copy,
9.2.8. Visualizing a probablistic atlas with plot_prob_atlas¶
Alternatively, we can create a new 4D-image by selecting the 3rd, 4th, 5th and 6th (zero-based) probabilistic map from atlas via nilearn.image.index_img
and use nilearn.plotting.plot_prob_atlas
(added in version 0.2) to plot the selected nodes in one step.
Unlike nilearn.plotting.plot_stat_map
this works with 4D images
dmn_nodes = image.index_img(atlas_filename, [3, 4, 5, 6])
# Note that dmn_node is now a 4D image
print(dmn_nodes.shape)
Out:
(40, 48, 35, 4)
display = plotting.plot_prob_atlas(dmn_nodes,
cut_coords=(0, -55, 29),
title="DMN nodes in MSDL atlas")
plotting.show()
Total running time of the script: ( 0 minutes 2.943 seconds)