code: def gen_PSF(qgrid_sampling, siz_x, siz_y, siz_z):
      """
      Generate a PSF for DSI Deconvolution by taking the ifft of the binary
      q-space sampling mask and truncating it to keep only the center.
      """
      Sq = np.zeros((siz_x, siz_y, siz_z))
      # fill q-space
      for i in range(qgrid_sampling.shape[0]):
          qx, qy, qz = qgrid_sampling[i]
          Sq[qx, qy, qz] = 1
      return Sq * np.real(
          np.fft.fftshift(np.fft.ifftn(np.fft.ifftshift(Sq)))
      )
  
imports: import numpy
  from scipy.ndimage import map_coordinates
  from scipy.fftpack import fftn, fftshift, ifftshift
  from dipy.reconst.odf import OdfModel, OdfFit
  from dipy.reconst.cache import Cache
  from dipy.reconst.multi_voxel import multi_voxel_fit
label_desc: Use image node_id 9 for calling a global function with example usage: gen_PSF(qgrid_sampling, siz_x, siz_y, siz_z) and returns: unknown