code: def simulated_bundle(no_streamlines=10, waves=False, no_pts=12):
      t = np.linspace(-10, 10, 200)
      # parallel waves or parallel lines
      bundle = []
      for i in np.linspace(-5, 5, no_streamlines):
          if waves:
              pts = np.vstack((np.cos(t), t, i * np.ones(t.shape))).T
          else:
              pts = np.vstack(
                  (np.zeros(t.shape), t, i * np.ones(t.shape))
              ).T
          pts = set_number_of_points(pts, no_pts)
          bundle.append(pts)
  
      return bundle
  
imports: import itertools
  import numpy
  from numpy.testing import assert_array_equal, assert_equal, assert_raises
  from dipy.segment.clustering import QuickBundlesX, QuickBundles, qbx_and_merge
  from dipy.segment.featurespeed import ResampleFeature
  from dipy.segment.metricspeed import AveragePointwiseEuclideanMetric, MinimumAverageDirectFlipMetric
  from dipy.tracking.streamline import set_number_of_points
  from dipy.tracking.streamline import Streamlines
  from dipy.testing.decorators import set_random_number_generator
label_desc: Use image node_id 5 for calling a global function with example usage: simulated_bundle(no_streamlines, waves, no_pts) and returns: bundle