code: def create_rspace(gridsize, radius_max):
      """Create the real space table, that contains the points in which
          to compute the pdf.
  
      Parameters
      ----------
      gridsize : unsigned int
          dimension of the propagator grid
      radius_max : float
          maximal radius in which compute the propagator
  
      Returns
      -------
      vecs : array, shape (N,3)
          positions of the pdf points in a 3D matrix
  
      tab : array, shape (N,3)
          real space points in which calculates the pdf
      """
  
      radius = gridsize // 2
      vecs = []
      for i in range(-radius, radius + 1):
          for j in range(-radius, radius + 1):
              for k in range(-radius, radius + 1):
                  vecs.append([i, j, k])
  
      vecs = np.array(vecs, dtype=np.float32)
      tab = vecs / radius
      tab = tab * radius_max
      vecs = vecs + radius
  
      return vecs, tab
  
imports: from warnings import warn
  from math import factorial
  import numpy
  from scipy.special import genlaguerre, gamma, hyp2f1
  from dipy.reconst.cache import Cache
  from dipy.reconst.multi_voxel import multi_voxel_fit
  from dipy.reconst.shm import real_sh_descoteaux_from_index
  from dipy.core.geometry import cart2sphere
  from dipy.utils.optpkg import optional_package
label_desc: Use image node_id 9 for calling a global function with example usage: create_rspace(gridsize, radius_max) and returns: vecs,  tab