code: def test_same_number_of_points(rng):
      A = [rng.random((10, 3)), rng.random((20, 3))]
      B = [rng.random((21, 3)), rng.random((30, 3))]
      C = [rng.random((10, 3)), rng.random((10, 3))]
      D = [rng.random((20, 3)), rng.random((20, 3))]
  
      slr = StreamlineLinearRegistration()
      assert_raises(ValueError, slr.optimize, A, B)
      assert_raises(ValueError, slr.optimize, C, D)
      assert_raises(ValueError, slr.optimize, C, B)
  
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 9 for calling a global function with example usage: test_same_number_of_points(rng) without return types