code: def get_data(img):
      """Get the image data as a :class:`numpy.ndarray`.
  
      Parameters
      ----------
      img : Niimg-like object or iterable of Niimg-like objects
          See :ref:`extracting_data`.
  
      Returns
      -------
      :class:`numpy.ndarray`
          3D or 4D numpy array depending on the shape of `img`. This function
          preserves the type of the image data.
          If `img` is an in-memory Nifti image
          it returns the image data array itself -- not a copy.
  
      """
      img = check_niimg(img)
      return _get_data(img)
  
imports: import collections.abc
  import copy
  import itertools
  import warnings
  import nibabel
  import numpy
  from joblib import Memory, Parallel, delayed
  from scipy.ndimage import gaussian_filter1d, generate_binary_structure, label
  from scipy.stats import scoreatpercentile
  from ..None import signal
  from .._utils import _repr_niimgs, as_ndarray, check_niimg, check_niimg_3d, check_niimg_4d, fill_doc
  from .._utils.exceptions import DimensionError
  from .._utils.helpers import rename_parameters, stringify_path
  from .._utils.niimg import _get_data, safe_get_data
  from .._utils.niimg_conversions import _index_img, check_same_fov, iter_check_niimg
  from .._utils.param_validation import check_threshold
  from .._utils.path_finding import resolve_globbing
label_desc: Use image node_id 1 for calling a global function with example usage: get_data(img) and returns: _get_data