code: def test_nan_bvecs():
      """
      Test that the presence of nan's in b-vectors doesn't raise warnings.
  
      In previous versions, the presence of NaN in b-vectors was taken to
      indicate a 0 b-value, but also raised a warning when testing for the length
      of these vectors. This checks that it doesn't happen.
      """
      fdata, fbvals, fbvecs = get_fnames()
      with warnings.catch_warnings(record=True) as l_warns:
          gradient_table(fbvals, fbvecs)
          # Select only UserWarning
          selected_w = [
              w for w in l_warns if issubclass(w.category, UserWarning)
          ]
          npt.assert_(len(selected_w) == 0)
  
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 14 for calling a global function with example usage: test_nan_bvecs() without return types