code: def test_streamline_signal():
      data_file, bval_file, bvec_file = dpd.get_fnames("small_64D")
      gtab = grad.gradient_table(bval_file, bvec_file)
      evals = [0.0015, 0.0005, 0.0005]
      streamline1 = [
          [[1, 2, 3], [4, 5, 3], [5, 6, 3], [6, 7, 3]],
          [[1, 2, 3], [4, 5, 3], [5, 6, 3]],
      ]
  
      [life.streamline_signal(s, gtab, evals) for s in streamline1]
  
      streamline2 = [[[1, 2, 3], [4, 5, 3], [5, 6, 3], [6, 7, 3]]]
  
      [life.streamline_signal(s, gtab, evals) for s in streamline2]
  
      npt.assert_array_equal(streamline2[0], streamline1[0])
  
file_path: dipy/dipy/tracking/tests/test_life.py
imports: import os.path
  import dipy.core.gradients
  import dipy.core.optimize
  import dipy.data
  from dipy.io.image import load_nifti_data
  from dipy.io.gradients import read_bvals_bvecs
  from dipy.io.stateful_tractogram import Space, StatefulTractogram
  import dipy.tracking.life
  import nibabel
  import numpy
  import numpy.testing
  import scipy.linalg
label_desc: Use image node_id 3 for calling a global function with example usage: test_streamline_signal() without return types