code: def generate_signal_crossing(
      gtab, lambda1, lambda2, lambda3, angle2=60
  ):
      mevals = np.array(
          ([lambda1, lambda2, lambda3], [lambda1, lambda2, lambda3])
      )
      angl = [(0, 0), (angle2, 0)]
      S, _ = multi_tensor(
          gtab,
          mevals,
          S0=1.0,
          angles=angl,
          fractions=[50, 50],
          snr=None,
      )
      return S
  
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 2 for calling a global function with example usage: generate_signal_crossing(gtab, lambda1, lambda2, lambda3, angle2) and returns: S