Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update ADHD dataset in examples to MAIN #1953

Merged
merged 49 commits into from Apr 15, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
09babaf
[WIP] test examples to replace ADHD with MAIN datasets
KamalakerDadi Dec 22, 2018
ec150a6
tests in AppVeyor
KamalakerDadi Dec 22, 2018
9bc4276
Changed fetch_adhd to main functional datasets in all examples
KamalakerDadi Dec 24, 2018
8088609
DOC: fix pattern not found in masker_objects.rst
KamalakerDadi Dec 26, 2018
ed148d9
DOC: Added in modules reference.rst
KamalakerDadi Dec 26, 2018
39acb3d
DOC: Fix title underline too short issue
KamalakerDadi Dec 26, 2018
cc00ee9
FIX: empty contours which are lying below certain threshold with fill…
KamalakerDadi Jan 18, 2019
5d40bf0
[fix] update MAIN fetcher for new OSF filenames
emdupre Mar 29, 2019
2886339
[temp] fake sub63
emdupre Mar 29, 2019
9f17421
address @bthirion comments on documentation improvements
KamalakerDadi Mar 30, 2019
d2bbf1c
addressed comment by @GaelVaroquaux for name change to fetch_developm…
KamalakerDadi Mar 30, 2019
5088f9a
FIX: based on massive changes
KamalakerDadi Mar 30, 2019
65d8176
FIX: ids and comments
KamalakerDadi Apr 10, 2019
9d82aa5
removed unnecessary column in csv file
KamalakerDadi Apr 10, 2019
fed24ed
Increase the number of subjects in the connectivity comparison example
GaelVaroquaux Apr 11, 2019
fec956a
TST: add about bug fix
KamalakerDadi Apr 12, 2019
c6b9493
DOC: Massive changes in terms of standardizing names according to thi…
KamalakerDadi Apr 13, 2019
e05e356
CircleCI to rebuild from scratch
KamalakerDadi Apr 13, 2019
8e6244c
change example canica resting state to canica analysis
KamalakerDadi Apr 15, 2019
5cfd04a
Change of example names
KamalakerDadi Apr 15, 2019
c62bbd2
Whats new
KamalakerDadi Apr 15, 2019
c895b13
Update doc/connectivity/connectome_extraction.rst
emdupre Apr 15, 2019
7bebdb0
Update doc/connectivity/connectome_extraction.rst
emdupre Apr 15, 2019
2ab4e42
Update doc/connectivity/functional_connectomes.rst
emdupre Apr 15, 2019
37bae37
Update doc/connectivity/functional_connectomes.rst
emdupre Apr 15, 2019
7c4720d
Update doc/connectivity/connectome_extraction.rst
emdupre Apr 15, 2019
37cfed5
Update doc/connectivity/parcellating.rst
emdupre Apr 15, 2019
97b1079
Update doc/connectivity/region_extraction.rst
emdupre Apr 15, 2019
ef4ef19
Update examples/03_connectivity/plot_probabilistic_atlas_extraction.py
emdupre Apr 15, 2019
bbd7975
Update examples/03_connectivity/plot_group_level_connectivity.py
emdupre Apr 15, 2019
beaea55
Update examples/03_connectivity/plot_seed_to_voxel_correlation.py
emdupre Apr 15, 2019
30c90d4
Update examples/05_advanced/plot_ica_resting_state.py
emdupre Apr 15, 2019
2f4520c
Update doc/connectivity/region_extraction.rst
emdupre Apr 15, 2019
cd3c5a4
Update doc/connectivity/region_extraction.rst
emdupre Apr 15, 2019
1649258
Update doc/connectivity/region_extraction.rst
emdupre Apr 15, 2019
cd81db1
Update doc/connectivity/region_extraction.rst
emdupre Apr 15, 2019
5668b5b
Update doc/connectivity/resting_state_networks.rst
emdupre Apr 15, 2019
d30e834
Update doc/connectivity/resting_state_networks.rst
emdupre Apr 15, 2019
9d97dcb
Update doc/introduction.rst
emdupre Apr 15, 2019
ccf72ba
Update doc/manipulating_images/masker_objects.rst
emdupre Apr 15, 2019
10a84af
Update doc/manipulating_images/masker_objects.rst
emdupre Apr 15, 2019
f339702
Update doc/whats_new.rst
emdupre Apr 15, 2019
4fb8449
Update examples/03_connectivity/plot_atlas_comparison.py
emdupre Apr 15, 2019
2e09716
Update examples/03_connectivity/plot_canica_analysis.py
emdupre Apr 15, 2019
0511b6b
Update examples/03_connectivity/plot_compare_decomposition.py
emdupre Apr 15, 2019
7a79b48
Update examples/03_connectivity/plot_compare_decomposition.py
emdupre Apr 15, 2019
d1379a8
Update examples/03_connectivity/plot_extract_regions_dictlearning_map…
emdupre Apr 15, 2019
1b3ce75
Update examples/03_connectivity/plot_extract_regions_dictlearning_map…
emdupre Apr 15, 2019
ef732d7
Update examples/03_connectivity/plot_extract_regions_dictlearning_map…
emdupre Apr 15, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .circleci/clean-cache.py
Expand Up @@ -9,7 +9,7 @@
def update_cache_timestamp(timestamp_filename):
""" Updates the contents of the manual-cache-timestamp file
with current timestamp.

Returns
-------
None
Expand Down
2 changes: 1 addition & 1 deletion .circleci/manual-cache-timestamp
@@ -1 +1 @@
2018-12-07 13:09:12.409726
2019-04-13 20:12:23.519962
23 changes: 13 additions & 10 deletions doc/connectivity/connectome_extraction.rst
Expand Up @@ -28,9 +28,10 @@ Connectome extraction: inverse covariance for direct connections
Sparse inverse covariance for functional connectomes
=====================================================

Resting-state functional connectivity can be obtained by estimating a
covariance (or correlation) matrix for signals from different brain
regions. The same information can be represented as a weighted graph,
Functional connectivity can be obtained by estimating a covariance
(or correlation) matrix for signals from different brain
regions decomposed, for example on resting-state or naturalistic-stimuli datasets.
The same information can be represented as a weighted graph,
vertices being brain regions, weights on edges being covariances
(gaussian graphical model). However, coefficients in a covariance matrix
reflect direct as well as indirect connections. Covariance matrices form
Expand Down Expand Up @@ -104,8 +105,8 @@ of the estimator::
.. topic:: **Exercise: computing sparse inverse covariance**
:class: green

Compute and visualize a connectome on the first subject of the ADHD
dataset downloaded with :func:`nilearn.datasets.fetch_adhd`
Compute and visualize a connectome on the first subject of the brain
development dataset downloaded with :func:`nilearn.datasets.fetch_development_fmri`

**Hints:** The example above has the solution

Expand Down Expand Up @@ -164,10 +165,11 @@ group analysis only on the non zero coefficients.
:class: green

Try using the information above to compute a connectome on the
first 5 subjects of the ADHD dataset downloaded with
:func:`nilearn.datasets.fetch_adhd`
first 5 subjects of the brain development dataset downloaded with
:func:`nilearn.datasets.fetch_development_fmri`

**Hint:** The example above has the solution
**Hint:** The example above works through the solution for the ADHD dataset.
adhd.


.. topic:: **Reference**
Expand Down Expand Up @@ -255,8 +257,9 @@ Deviations from this mean in the tangent space are provided in the connectivitie
.. topic:: **Exercise: computing connectivity in tangent space**
:class: green

Compute and visualize the tangent group connectome based on the NYU, OHSU and NeuroImage sites of the ADHD
dataset downloaded with :func:`nilearn.datasets.fetch_adhd`
Compute and visualize the tangent group connectome based on the brain
development
dataset downloaded with :func:`nilearn.datasets.fetch_development_fmri`

**Hints:** The example above has the solution

Expand Down
14 changes: 8 additions & 6 deletions doc/connectivity/functional_connectomes.rst
Expand Up @@ -104,13 +104,13 @@ regions, regressing out noise sources is indeed very important
:class: green

Try using the information above to compute the correlation matrix of
the first subject of the ADHD dataset downloaded with
:func:`nilearn.datasets.fetch_adhd`.
the first subject of the brain development dataset
downloaded with :func:`nilearn.datasets.fetch_development_fmri`.

**Hints:**

* Inspect the '.keys()' of the object returned by
:func:`nilearn.datasets.fetch_adhd`.
:func:`nilearn.datasets.fetch_development_fmri`.

* :class:`nilearn.connectome.ConnectivityMeasure` can be used to compute
a correlation matrix (check the shape of your matrices).
Expand All @@ -130,7 +130,8 @@ Probabilistic atlases
The definition of regions as by a continuous probability map captures
better our imperfect knowledge of boundaries in brain images (notably
because of inter-subject registration errors). One example of such an
atlas well suited to resting-state data analysis is the `MSDL atlas
atlas well suited to resting-state or naturalistic-stimuli data analysis is
the `MSDL atlas
<https://team.inria.fr/parietal/18-2/spatial_patterns/spatial-patterns-in-resting-state/>`_
(:func:`nilearn.datasets.fetch_atlas_msdl`).

Expand Down Expand Up @@ -181,8 +182,9 @@ the same considerations on using confounds regressors apply.
.. topic:: **Exercise: correlation matrix of rest fMRI on probabilistic atlas**
:class: green

Try to compute the correlation matrix of the first subject of the ADHD
dataset downloaded with :func:`nilearn.datasets.fetch_adhd`
Try to compute the correlation matrix of the first subject of the
brain development
dataset downloaded with :func:`nilearn.datasets.fetch_development_fmri`
with the MSDL atlas downloaded via
:func:`nilearn.datasets.fetch_atlas_msdl`.

Expand Down
23 changes: 12 additions & 11 deletions doc/connectivity/parcellating.rst
Expand Up @@ -19,16 +19,17 @@ into homogeneous regions from functional imaging data.
<http://journal.frontiersin.org/article/10.3389/fnins.2014.00167/full>`_
Frontiers in neuroscience 8.167 (2014): 13.

Data loading: Resting-state data
Data loading: movie-watching data
=================================

.. currentmodule:: nilearn.datasets

Clustering is commonly applied to resting-state data, but any brain
functional data will give rise of a functional parcellation, capturing
intrinsic brain architecture in the case of resting-state data.
In the examples, we use rest data downloaded with the function
:func:`fetch_adhd` (see :ref:`loading_data`).
In the examples, we use naturalistic stimuli-based movie watching
brain development data downloaded with the function
:func:`fetch_development_fmri` (see :ref:`loading_data`).

Applying clustering
====================
Expand All @@ -51,7 +52,7 @@ Applying clustering
Both clustering algorithms (as well as many others) are provided by
this object :class:`nilearn.regions.Parcellations` and full
code example in
:ref:`here<sphx_glr_auto_examples_03_connectivity_plot_rest_parcellations.py>`.
:ref:`here<sphx_glr_auto_examples_03_connectivity_plot_data_driven_parcellations.py>`.
Ward clustering is the easiest to use, as it can be done with the Feature
agglomeration object. It is also quite fast. We detail it below.

Expand Down Expand Up @@ -117,8 +118,8 @@ using *ward.fit*. We directly use the result for visualization.
To visualize the clusters, we assign random colors to each cluster
for the labels visualization.

.. figure:: ../auto_examples/03_connectivity/images/sphx_glr_plot_rest_parcellations_001.png
:target: ../auto_examples/03_connectivity/plot_rest_parcellations.html
.. figure:: ../auto_examples/03_connectivity/images/sphx_glr_plot_data_driven_parcellations_001.png
:target: ../auto_examples/03_connectivity/plot_data_driven_parcellations.html
:align: center
:scale: 80

Expand All @@ -133,12 +134,12 @@ representation, taking the average on each parcel:
- call *ward.inverse_transform* on the previous result to turn it back into
the masked picture shape

.. |left_img| image:: ../auto_examples/03_connectivity/images/sphx_glr_plot_rest_parcellations_002.png
:target: ../auto_examples/03_connectivity/plot_rest_parcellations.html
.. |left_img| image:: ../auto_examples/03_connectivity/images/sphx_glr_plot_data_driven_parcellations_002.png
:target: ../auto_examples/03_connectivity/plot_data_driven_parcellations.html
:width: 49%

.. |right_img| image:: ../auto_examples/03_connectivity/images/sphx_glr_plot_rest_parcellations_003.png
:target: ../auto_examples/03_connectivity/plot_rest_parcellations.html
.. |right_img| image:: ../auto_examples/03_connectivity/images/sphx_glr_plot_data_driven_parcellations_003.png
:target: ../auto_examples/03_connectivity/plot_data_driven_parcellations.html
:width: 49%

|left_img| |right_img|
Expand All @@ -152,6 +153,6 @@ approximated.

All the steps discussed in this section can be seen implemented in
:ref:`a full code example
<sphx_glr_auto_examples_03_connectivity_plot_rest_parcellations.py>`.
<sphx_glr_auto_examples_03_connectivity_plot_data_driven_parcellations.py>`.


18 changes: 9 additions & 9 deletions doc/connectivity/region_extraction.rst
Expand Up @@ -24,14 +24,14 @@ Region Extraction for better brain parcellations

.. currentmodule:: nilearn.datasets

Fetching resting state functional datasets
==========================================
Fetching movie-watching based functional datasets
=================================================

We use ADHD resting state functional connectivity datasets of 20 subjects,
which is already preprocessed and publicly available at
`<http://fcon_1000.projects.nitrc.org/indi/adhd200/>`_. We use utilities
:func:`fetch_adhd` implemented in nilearn for automatic fetching of these
datasets.
We use a naturalistic stimuli based movie-watching functional connectivity dataset
of 20 subjects, which is already preprocessed, downsampled to 4mm isotropic resolution, and publicly available at
`<https://osf.io/5hju4/files/>`_. We use utilities
:func:`fetch_development_fmri` implemented in nilearn for automatic fetching of this
dataset.


.. literalinclude:: ../../examples/03_connectivity/plot_extract_regions_dictlearning_maps.py
Expand All @@ -51,7 +51,7 @@ necessarily converting each file to Nifti1Image object.

.. literalinclude:: ../../examples/03_connectivity/plot_extract_regions_dictlearning_maps.py
:start-after: # object and fit the model to the functional datasets
:end-before: # Visualization of resting state networks
:end-before: # Visualization of functional networks

.. currentmodule:: nilearn.plotting

Expand Down Expand Up @@ -167,7 +167,7 @@ Validating results

Showing only one specific network regions before and after region extraction.

Left image displays the regions of one specific resting network without region extraction
Left image displays the regions of one specific functional network without region extraction
and right image displays the regions split apart after region extraction. Here, we can
validate that regions are nicely separated identified by each extracted region in different
color.
Expand Down
58 changes: 30 additions & 28 deletions doc/connectivity/resting_state_networks.rst
@@ -1,13 +1,14 @@
.. _extracting_rsn:

==================================================
Extracting resting-state networks: ICA and related
Extracting functional brain networks: ICA and related
==================================================

.. topic:: **Page summary**

This page demonstrates the use of multi-subject Independent Component
Analysis (ICA) of resting-state fMRI data to extract brain networks in
Analysis (ICA) of movie-watching fMRI data
to extract brain networks in
an data-driven way. Here we use the 'CanICA' approach, that implements
a multivariate random effects model across subjects. A newer technique,
based on dictionary learning, is then described.
Expand All @@ -27,16 +28,17 @@ Multi-subject ICA: CanICA
Data preparation: retrieving example data
-----------------------------------------

We will use sample data from the `ADHD 200 resting-state dataset
<http://fcon_1000.projects.nitrc.org/indi/adhd200/>`_ has been
preprocessed using `CPAC <http://fcp-indi.github.io/>`_. We use nilearn
We will use down-sampled data from the `brain development dataset
<https://osf.io/5hju4/files/>`_ has been
preprocessed using `FMRIPrep and Nilearn <https://osf.io/wjtyq/>`_.
We use nilearn
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, I think we might want to link OSF here. It gives the exact fMRIPrep "methods section" as well as the Nilearn commands used in downsampling.

functions to fetch data from Internet and get the filenames (:ref:`more
on data loading <loading_data>`):


.. literalinclude:: ../../examples/03_connectivity/plot_canica_resting_state.py
:start-after: # First we load the ADHD200 data
:end-before: ####################################################################
.. literalinclude:: ../../examples/03_connectivity/plot_canica_analysis.py
:start-after: # First we load the brain development fmri data
:end-before: ###############################################

Applying CanICA
---------------
Expand All @@ -47,7 +49,7 @@ perform a multi-subject ICA decomposition following the CanICA model.
As with every object in nilearn, we give its parameters at construction,
and then fit it on the data.

.. literalinclude:: ../../examples/03_connectivity/plot_canica_resting_state.py
.. literalinclude:: ../../examples/03_connectivity/plot_canica_analysis.py
:start-after: # Here we apply CanICA on the data
:end-before: ####################################################################

Expand All @@ -68,31 +70,31 @@ We can visualize the components as in the previous examples. The first plot
shows a map generated from all the components. Then we plot an axial cut for
each component separately.

.. literalinclude:: ../../examples/03_connectivity/plot_canica_resting_state.py
.. literalinclude:: ../../examples/03_connectivity/plot_canica_analysis.py
:start-after: # To visualize we plot the outline of all components on one figure
:end-before: ####################################################################

.. figure:: ../auto_examples/03_connectivity/images/sphx_glr_plot_canica_resting_state_001.png
.. figure:: ../auto_examples/03_connectivity/images/sphx_glr_plot_canica_analysis_001.png
:align: center
:target: ../auto_examples/03_connectivity/plot_canica_resting_state.html
:target: ../auto_examples/03_connectivity/plot_canica_analysis.html

Finally, we can plot the map for different ICA components separately:

.. literalinclude:: ../../examples/03_connectivity/plot_canica_resting_state.py
.. literalinclude:: ../../examples/03_connectivity/plot_canica_analysis.py
:start-after: # Finally, we plot the map for each ICA component separately

.. |left_img| image:: ../auto_examples/03_connectivity/images/sphx_glr_plot_canica_resting_state_003.png
.. |left_img| image:: ../auto_examples/03_connectivity/images/sphx_glr_plot_canica_analysis_003.png
:width: 23%

.. |right_img| image:: ../auto_examples/03_connectivity/images/sphx_glr_plot_canica_resting_state_004.png
.. |right_img| image:: ../auto_examples/03_connectivity/images/sphx_glr_plot_canica_analysis_004.png
:width: 23%

.. centered:: |left_img| |right_img|

.. seealso::

The full code can be found as an example:
:ref:`sphx_glr_auto_examples_03_connectivity_plot_canica_resting_state.py`
:ref:`sphx_glr_auto_examples_03_connectivity_plot_canica_analysis.py`

.. note::

Expand Down Expand Up @@ -123,13 +125,13 @@ Applying DictLearning
Sparsity of output map is controlled by a parameter alpha: using a
larger alpha yields sparser maps.

.. literalinclude:: ../../examples/03_connectivity/plot_compare_resting_state_decomposition.py
.. literalinclude:: ../../examples/03_connectivity/plot_compare_decomposition.py
:start-after: # Dictionary learning
:end-before: ###############################################################################

We can fit both estimators to compare them

.. literalinclude:: ../../examples/03_connectivity/plot_compare_resting_state_decomposition.py
.. literalinclude:: ../../examples/03_connectivity/plot_compare_decomposition.py
:start-after: # Fit both estimators
:end-before: ###############################################################################

Expand All @@ -138,21 +140,21 @@ Visualizing the results

4D plotting offers an efficient way to compare both resulting outputs

.. literalinclude:: ../../examples/03_connectivity/plot_compare_resting_state_decomposition.py
.. literalinclude:: ../../examples/03_connectivity/plot_compare_decomposition.py
:start-after: # Visualize the results

.. |left_img_decomp| image:: ../auto_examples/03_connectivity/images/sphx_glr_plot_compare_resting_state_decomposition_001.png
:target: ../auto_examples/03_connectivity/plot_compare_resting_state_decomposition.html
.. |left_img_decomp| image:: ../auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_001.png
:target: ../auto_examples/03_connectivity/plot_compare_decomposition.html
:width: 50%
.. |right_img_decomp| image:: ../auto_examples/03_connectivity/images/sphx_glr_plot_compare_resting_state_decomposition_003.png
:target: ../auto_examples/03_connectivity/plot_compare_resting_state_decomposition.html
.. |right_img_decomp| image:: ../auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_003.png
:target: ../auto_examples/03_connectivity/plot_compare_decomposition.html
:width: 50%

.. |left_img_decomp_single| image:: ../auto_examples/03_connectivity/images/sphx_glr_plot_compare_resting_state_decomposition_002.png
:target: ../auto_examples/03_connectivity/plot_compare_resting_state_decomposition.html
.. |left_img_decomp_single| image:: ../auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_002.png
:target: ../auto_examples/03_connectivity/plot_compare_decomposition.html
:width: 50%
.. |right_img_decomp_single| image:: ../auto_examples/03_connectivity/images/sphx_glr_plot_compare_resting_state_decomposition_004.png
:target: ../auto_examples/03_connectivity/plot_compare_resting_state_decomposition.html
.. |right_img_decomp_single| image:: ../auto_examples/03_connectivity/images/sphx_glr_plot_compare_decomposition_004.png
:target: ../auto_examples/03_connectivity/plot_compare_decomposition.html
:width: 50%


Expand All @@ -169,4 +171,4 @@ classification tasks.
.. seealso::

The full code can be found as an example:
:ref:`sphx_glr_auto_examples_03_connectivity_plot_compare_resting_state_decomposition.py`
:ref:`sphx_glr_auto_examples_03_connectivity_plot_compare_decomposition.py`
8 changes: 4 additions & 4 deletions doc/index.rst
Expand Up @@ -30,11 +30,11 @@
.. |oasis_weights| image:: auto_examples/02_decoding/images/sphx_glr_plot_oasis_vbm_002.png
:target: auto_examples/02_decoding/plot_oasis_vbm.html

.. |rest_parcellations| image:: auto_examples/03_connectivity/images/sphx_glr_plot_rest_parcellations_001.png
:target: auto_examples/03_connectivity/plot_rest_parcellations.html
.. |rest_parcellations| image:: auto_examples/03_connectivity/images/sphx_glr_plot_data_driven_parcellations_001.png
:target: auto_examples/03_connectivity/plot_data_driven_parcellations.html

.. |canica| image:: auto_examples/03_connectivity/images/sphx_glr_plot_canica_resting_state_011.png
:target: auto_examples/03_connectivity/plot_canica_resting_state.html
.. |canica| image:: auto_examples/03_connectivity/images/sphx_glr_plot_canica_analysis_011.png
:target: auto_examples/03_connectivity/plot_canica_analysis.html

.. |tvl1_haxby| image:: auto_examples/02_decoding/images/sphx_glr_plot_haxby_space_net_002.png
:target: auto_examples/02_decoding/plot_haxby_space_net.html
Expand Down
10 changes: 5 additions & 5 deletions doc/introduction.rst
Expand Up @@ -78,8 +78,8 @@ Why is machine learning relevant to NeuroImaging? A few examples!

Data-driven exploration of brain images. This includes the extraction of
the major brain networks from resting-state data ("resting-state networks")
as well as the discovery of connectionally coherent functional modules
("connectivity-based parcellation").
or movie-watching data as well as the discovery of connectionally coherent
functional modules ("connectivity-based parcellation").
For example,
:ref:`extracting_rsn` or :ref:`parcellating_brain` with clustering.

Expand Down Expand Up @@ -260,14 +260,14 @@ To loop over each individual volume of a 4D image, use :func:`image.iter_img`::
:class: green

Want to sharpen your skills with nilearn?
Compute the mean EPI for first subject of the ADHD
dataset downloaded with :func:`nilearn.datasets.fetch_adhd` and
Compute the mean EPI for first subject of the brain development
dataset downloaded with :func:`nilearn.datasets.fetch_development_fmri` and
smooth it with an FWHM varying from 0mm to 20mm in increments of 5mm

**Hints:**

* Inspect the '.keys()' of the object returned by
:func:`nilearn.datasets.fetch_adhd`
:func:`nilearn.datasets.fetch_development_fmri`

* Look at the "reference" section of the documentation: there is a
function to compute the mean of a 4D image
Expand Down