code: def generate_gtab4D(number_of_tau_shells=4, delta=0.01):
      """Generates testing gradient table for 4D qt-dMRI scheme"""
      gtab = get_gtab_taiwan_dsi()
      qvals = np.tile(gtab.bvals / 100.0, number_of_tau_shells)
      bvecs = np.tile(gtab.bvecs, (number_of_tau_shells, 1))
      pulse_separation = []
      for ps in np.linspace(0.02, 0.05, number_of_tau_shells):
          pulse_separation = np.append(
              pulse_separation, np.tile(ps, gtab.bvals.shape[0])
          )
      pulse_duration = np.tile(delta, qvals.shape[0])
      gtab_4d = gradient_table_from_qvals_bvecs(
          qvals=qvals,
          bvecs=bvecs,
          big_delta=pulse_separation,
          small_delta=pulse_duration,
          b0_threshold=0,
      )
      return gtab_4d
  
imports: import warnings
  import numpy
  import scipy.integrate
  from numpy.testing import assert_, assert_almost_equal, assert_array_almost_equal, assert_equal, assert_raises
  import pytest
  from dipy.core.gradients import gradient_table_from_qvals_bvecs
  from dipy.data import get_gtab_taiwan_dsi, get_sphere
  from dipy.reconst import qtdmri, mapmri
  from dipy.reconst.shm import descoteaux07_legacy_msg
  from dipy.sims.voxel import multi_tensor, add_noise
  from dipy.testing.decorators import set_random_number_generator
label_desc: Use image node_id 1 for calling a global function with example usage: generate_gtab4D(number_of_tau_shells, delta) and returns: gtab_4d