code: def test_msignal():
      # Multi-voxel case
      ms, ng = msdki.mean_signal_bvalue(DWI, gtab_3s)
      assert_array_almost_equal(ms, MDWI)
      assert_array_almost_equal(ng, np.array([3, 64, 64, 64]))
  
      # Single-voxel case
      ms, ng = msdki.mean_signal_bvalue(signal_sph, gtab_3s)
      assert_array_almost_equal(ng, np.array([3, 64, 64, 64]))
      assert_array_almost_equal(ms, msignal_sph)
  
file_path: dipy/dipy/reconst/tests/test_msdki.py
imports: import numpy
  import random
  from numpy.testing import assert_array_almost_equal, assert_raises, assert_almost_equal, assert_
  from dipy.sims.voxel import single_tensor, multi_tensor_dki
  from dipy.io.gradients import read_bvals_bvecs
  from dipy.core.gradients import gradient_table, unique_bvals_magnitude, round_bvals
  from dipy.data import get_fnames
  import dipy.reconst.msdki
  from dipy.reconst.msdki import msk_from_awf, awf_from_msk
label_desc: Use image node_id 6 for calling a global function with example usage: test_msignal() without return types