code: def mrtrix_spherical_functions():
      """Spherical functions represented by spherical harmonic coefficients and
      evaluated on a discrete sphere.
  
      Returns
      -------
      func_coef : array (2, 3, 4, 45)
          Functions represented by the coefficients associated with the
          mrtrix spherical harmonic basis of order 8.
      func_discrete : array (2, 3, 4, 81)
          Functions evaluated on `sphere`.
      sphere : Sphere
          The discrete sphere, points on the surface of a unit sphere, used to
          evaluate the functions.
  
      Notes
      -----
      These coefficients were obtained by using the dwi2SH command of mrtrix.
  
      """
      func_discrete, _ = load_nifti(
          pjoin(DATA_DIR, "func_discrete.nii.gz")
      )
      func_coef, _ = load_nifti(pjoin(DATA_DIR, "func_coef.nii.gz"))
      gradients = np.loadtxt(pjoin(DATA_DIR, "sphere_grad.txt"))
      # gradients[0] and the first volume of func_discrete,
      # func_discrete[..., 0], are associated with the b=0 signal.
      # gradients[:, 3] are the b-values for each gradient/volume.
      sphere = Sphere(xyz=gradients[1:, :3])
      return func_coef, func_discrete[..., 1:], sphere
  
imports: import json
  import pickle
  from os.path import join, dirname, exists
  import gzip
  import numpy
  from scipy.sparse import load_npz
  from dipy.core.gradients import GradientTable, gradient_table
  from dipy.core.sphere import Sphere, HemiSphere
  from dipy.data.fetcher import get_fnames, fetch_scil_b0, read_scil_b0, fetch_stanford_hardi, read_stanford_hardi, fetch_stanford_tracks, fetch_taiwan_ntu_dsi, read_taiwan_ntu_dsi, fetch_sherbrooke_3shell, read_sherbrooke_3shell, fetch_isbi2013_2shell, read_isbi2013_2shell, read_stanford_labels, fetch_stanford_labels, fetch_syn_data, read_syn_data, fetch_stanford_t1, read_stanford_t1, fetch_stanford_pve_maps, read_stanford_pve_maps, fetch_bundles_2_subjects, read_bundles_2_subjects, fetch_cenir_multib, read_cenir_multib, fetch_mni_template, read_mni_template, fetch_ivim, read_ivim, fetch_tissue_data, read_tissue_data, fetch_cfin_multib, read_cfin_dwi, read_cfin_t1, fetch_target_tractogram_hcp, fetch_bundle_atlas_hcp842, get_bundle_atlas_hcp842, get_target_tractogram_hcp, get_two_hcp842_bundles, fetch_bundle_fa_hcp, fetch_gold_standard_io, fetch_resdnn_weights, fetch_synb0_weights, fetch_synb0_test, fetch_evac_weights, fetch_evac_test, read_qte_lte_pte, read_DiB_70_lte_pte_ste, read_DiB_217_lte_pte_ste, read_five_af_bundles, fetch_hbn, fetch_ptt_minimal_dataset, fetch_bundle_warp_dataset
  from ..utils.arrfuncs import as_native_array
  from dipy.io.image import load_nifti
  from dipy.tracking.streamline import relist_streamlines
label_desc: Use image node_id 8 for calling a global function with example usage: mrtrix_spherical_functions() and returns: func_coef,  func_discrete,  sphere