code: def test_affine_input_change():
      sq2 = np.sqrt(2) / 2
      bvals = np.concatenate([[0], np.ones(6) * 1000])
      bvecs = np.array(
          [
              [0, 0, 0],
              [1, 0, 0],
              [0, 1, 0],
              [0, 0, 1],
              [sq2, sq2, 0],
              [sq2, 0, sq2],
              [0, sq2, sq2],
          ]
      )
  
      gt = gradient_table_from_bvals_bvecs(bvals, bvecs, b0_threshold=0)
  
      # Wrong affine dimension
      affs = np.zeros((6, 4, 4))
      for i in range(4):
          affs[:, i, i] = 1
  
      npt.assert_warns(Warning, reorient_bvecs, gt, affs)
  
      # Check if list still works
      affs = [np.eye(4) for _ in range(6)]
      _ = reorient_bvecs(gt, affs)
  
imports: import warnings
  import numpy
  import numpy.testing
  import pytest
  from dipy.data import get_fnames
  from dipy.core.gradients import b0_threshold_empty_gradient_message, b0_threshold_update_slicing_message, gradient_table, GradientTable, gradient_table_from_bvals_bvecs, gradient_table_from_qvals_bvecs, gradient_table_from_gradient_strength_bvecs, WATER_GYROMAGNETIC_RATIO, mask_non_weighted_bvals, orientation_to_string, reorient_bvecs, generate_bvecs, check_multi_b, round_bvals, get_bval_indices, unique_bvals_magnitude, unique_bvals_tolerance, unique_bvals, params_to_btens, btens_to_params, orientation_from_string, reorient_vectors
  from dipy.core.geometry import vec2vec_rotmat, vector_norm
  from dipy.io.gradients import read_bvals_bvecs
  from dipy.utils.deprecator import ExpiredDeprecationError
  from dipy.testing import clear_and_catch_warnings
  from dipy.testing.decorators import set_random_number_generator
label_desc: Use image node_id 26 for calling a global function with example usage: test_affine_input_change() without return types