code: def fetch_icbm152_2009(
      data_dir=None, url=None, resume=True, verbose=1
  ):
      """Download and load the ICBM152 template (dated 2009).
  
      %(templateflow)s
  
      For more information, see :footcite:t:`Fonov2011`,
      :footcite:t:`Fonov2009`, and :footcite:t:`Collins1999`.
  
      Parameters
      ----------
      %(data_dir)s
      %(url)s
      %(resume)s
      %(verbose)s
  
      Returns
      -------
      data : sklearn.datasets.base.Bunch
          Dictionary-like object, interest keys are:
  
          - "t1": str,
            Path to T1-weighted anatomical image
          - "t2": str,
            Path to T2-weighted anatomical image
          - "t2_relax": str,
            Path to anatomical image obtained with the T2 relaxometry
          - "pd": str,
            Path to the proton density weighted anatomical image
          - "gm": str,
            Path to grey matter segmented image
          - "wm": str,
            Path to white matter segmented image
          - "csf": str,
            Path to cerebrospinal fluid segmented image
          - "eye_mask": str,
            Path to eye mask useful to mask out part of MRI images
          - "face_mask": str,
            Path to face mask useful to mask out part of MRI images
          - "mask": str,
            Path to whole brain mask useful to mask out skull areas
  
      See Also
      --------
      nilearn.datasets.load_mni152_template: to load MNI152 T1 template.
  
      nilearn.datasets.load_mni152_gm_template: to load MNI152 grey matter
          template.
  
      nilearn.datasets.load_mni152_wm_template: to load MNI152 white matter
          template.
  
      nilearn.datasets.load_mni152_brain_mask: to load MNI152 whole brain mask.
  
      nilearn.datasets.load_mni152_gm_mask: to load MNI152 grey matter mask.
  
      nilearn.datasets.load_mni152_wm_mask: to load MNI152 white matter mask.
  
      nilearn.datasets.fetch_icbm152_brain_gm_mask: to fetch only ICBM grey
          matter mask.
  
      References
      ----------
      .. footbibliography::
  
      Notes
      -----
      For more information about this dataset's structure:
      https://www.bic.mni.mcgill.ca/ServicesAtlases/ICBM152NLin2009
  
      The original download URL is
      https://www.bic.mni.mcgill.ca/~vfonov/icbm/2009/mni_icbm152_nlin_sym_09a_nifti.zip
  
      TemplateFlow repository for ICBM152 2009
  
      Symmetric: https://github.com/templateflow/tpl-MNI152NLin2009cSym
  
      Asymmetric: https://github.com/templateflow/tpl-MNI152NLin2009cSAsym
  
  
      """
      if url is None:
          # The URL can be retrieved from the nilearn account on OSF (Open
          # Science Framework), https://osf.io/4r3jt/quickfiles/
          # Clicking on the "share" button gives the root of the URL.
          url = "https://osf.io/7pj92/download"
      opts = {"uncompress": True}
  
      keys = (
          "csf",
          "gm",
          "wm",
          "pd",
          "t1",
          "t2",
          "t2_relax",
          "eye_mask",
          "face_mask",
          "mask",
      )
      filenames = [
          (os.path.join("mni_icbm152_nlin_sym_09a", name), url, opts)
          for name in (
              "mni_icbm152_csf_tal_nlin_sym_09a.nii.gz",
              "mni_icbm152_gm_tal_nlin_sym_09a.nii.gz",
              "mni_icbm152_wm_tal_nlin_sym_09a.nii.gz",
              "mni_icbm152_pd_tal_nlin_sym_09a.nii.gz",
              "mni_icbm152_t1_tal_nlin_sym_09a.nii.gz",
              "mni_icbm152_t2_tal_nlin_sym_09a.nii.gz",
              "mni_icbm152_t2_relx_tal_nlin_sym_09a.nii.gz",
              "mni_icbm152_t1_tal_nlin_sym_09a_eye_mask.nii.gz",
              "mni_icbm152_t1_tal_nlin_sym_09a_face_mask.nii.gz",
              "mni_icbm152_t1_tal_nlin_sym_09a_mask.nii.gz",
          )
      ]
  
      dataset_name = "icbm152_2009"
      data_dir = get_dataset_dir(
          dataset_name, data_dir=data_dir, verbose=verbose
      )
      sub_files = fetch_files(
          data_dir, filenames, resume=resume, verbose=verbose
      )
  
      fdescr = get_dataset_descr(dataset_name)
  
      params = dict(
          [("description", fdescr)] + list(zip(keys, sub_files))
      )
      return Bunch(**params)
  
imports: import functools
  import os
  import warnings
  from pathlib import Path
  import numpy
  import pandas
  from scipy.ndimage import binary_closing
  from sklearn.utils import Bunch
  from .._utils import check_niimg, fill_doc
  from ..image import get_data, new_img_like, resampling
  from ._utils import fetch_files, get_dataset_descr, get_dataset_dir
label_desc: Use image node_id 1 for calling a global function with example usage: fetch_icbm152_2009(data_dir, url, resume, verbose) and returns: Bunch