code: def straight_bundle(
      nb_streamlines=1, nb_pts=30, step_size=1, radius=1, rng=None
  ):
      if rng is None:
          rng = np.random.default_rng(42)
      bundle = []
  
      bundle_length = step_size * nb_pts
  
      Z = -np.linspace(0, bundle_length, nb_pts)
      for k in range(nb_streamlines):
          theta = rng.random() * (2 * np.pi)
          r = radius * rng.random()
  
          Xk = np.ones(nb_pts) * (r * np.cos(theta))
          Yk = np.ones(nb_pts) * (r * np.sin(theta))
          Zk = Z.copy()
  
          bundle.append(np.c_[Xk, Yk, Zk])
  
      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 1 for calling a global function with example usage: straight_bundle(nb_streamlines, nb_pts, step_size, radius, rng) and returns: bundle