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 numpy
  from numpy.testing import assert_, assert_equal, assert_almost_equal, assert_array_almost_equal, assert_raises
  from dipy.align.streamlinear import compose_matrix44, decompose_matrix44, BundleSumDistanceMatrixMetric, BundleMinDistanceMatrixMetric, BundleMinDistanceMetric, StreamlineLinearRegistration, StreamlineDistanceMetric, groupwise_slr, get_unique_pairs
  from dipy.tracking.streamline import center_streamlines, unlist_streamlines, relist_streamlines, transform_streamlines, set_number_of_points, Streamlines
  from dipy.io.streamline import load_tractogram
  from dipy.core.geometry import compose_matrix
  from dipy.data import get_fnames, two_cingulum_bundles, read_five_af_bundles
  from dipy.align.bundlemin import _bundle_minimum_distance_matrix, _bundle_minimum_distance, distance_matrix_mdf
  from dipy.testing.decorators import set_random_number_generator
label_desc: Use image node_id 1 for calling a global function with example usage: simulated_bundle(no_streamlines, waves, no_pts) and returns: bundle