code: def test_3D_points():
      points = np.array(
          [
              [[1, 0, 0]],
              [[3, 0, 0]],
              [[2, 0, 0]],
              [[5, 0, 0]],
              [[5.5, 0, 0]],
          ],
          dtype="f4",
      )
  
      thresholds = [4, 2, 1]
      metric = AveragePointwiseEuclideanMetric()
      qbx = QuickBundlesX(thresholds, metric=metric)
      tree = qbx.cluster(points)
      clusters_2 = tree.get_clusters(2)
      assert_array_equal(clusters_2.clusters_sizes(), [3, 2])
      clusters_0 = tree.get_clusters(0)
      assert_array_equal(clusters_0.clusters_sizes(), [5])
  
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 6 for calling a global function with example usage: test_3D_points() without return types