code: def test_DKI_crossing_fibers_simulations():
      """Testing DKI simulations of a crossing fiber"""
      # two fiber not aligned to planes x = 0, y = 0, or z = 0
      mevals = np.array(
          [
              [0.00099, 0, 0],
              [0.00226, 0.00087, 0.00087],
              [0.00099, 0, 0],
              [0.00226, 0.00087, 0.00087],
          ]
      )
      angles = [(80, 10), (80, 10), (20, 30), (20, 30)]
      fie = 0.49
      frac = [fie * 50, (1 - fie) * 50, fie * 50, (1 - fie) * 50]
      signal, dt, kt = multi_tensor_dki(
          gtab_2s, mevals, angles=angles, fractions=frac, snr=None
      )
      # in this simulations dt and kt cannot have zero elements
      for i in range(len(dt)):
          assert dt[i] != 0
      for i in range(len(kt)):
          assert kt[i] != 0
  
      # test S, dt and kt relative to the expected values computed from another
      # DKI package - UDKI (Neto Henriques et al., 2015)
      dt_ref = [
          1.0576161e-3,
          0.1292542e-3,
          0.4786179e-3,
          0.2667081e-3,
          0.1136643e-3,
          0.9888660e-3,
      ]
      kt_ref = [
          2.3529944,
          0.8226448,
          2.3011221,
          0.2017312,
          -0.0437535,
          0.0404011,
          0.0355281,
          0.2449859,
          0.2157668,
          0.3495910,
          0.0413366,
          0.3461519,
          -0.0537046,
          0.0133414,
          -0.017441,
      ]
      assert_array_almost_equal(dt, dt_ref)
      assert_array_almost_equal(kt, kt_ref)
      assert_array_almost_equal(
          signal,
          dki_signal(gtab_2s, dt_ref, kt_ref, S0=1.0, snr=None),
          decimal=5,
      )
  
file_path: dipy/dipy/sims/tests/test_voxel.py
imports: import numpy
  from numpy.testing import assert_array_equal, assert_array_almost_equal, assert_, assert_almost_equal
  from dipy.sims.voxel import _check_directions, all_tensor_evecs, add_noise, single_tensor, sticks_and_ball, multi_tensor_dki, kurtosis_element, dki_signal, multi_tensor
  from dipy.data import get_fnames
  from dipy.core.gradients import gradient_table
  from dipy.io.gradients import read_bvals_bvecs
  from dipy.testing.decorators import set_random_number_generator
label_desc: Use image node_id 10 for calling a global function with example usage: test_DKI_crossing_fibers_simulations() without return types