code: def test_surface_seeds():
      eps = 1e-12
      cube_tri, cube_vts = create_cube()
      nb_tri = len(cube_tri)
      nb_seed = 1000
      tri_idx, trilin_coord = random_coordinates_from_surface(
          nb_tri, nb_seed
      )
  
      # test min-max triangles indices
      npt.assert_array_less(-1, tri_idx)
      npt.assert_array_less(tri_idx, nb_tri)
  
      # test min-max trilin coordinates
      npt.assert_array_less(-eps, trilin_coord)
      npt.assert_array_less(trilin_coord, 1.0 + eps)
  
      seed_pts = seeds_from_surface_coordinates(
          cube_tri, cube_vts, tri_idx, trilin_coord
      )
  
      # test min-max seeds positions
      npt.assert_array_less(-eps, seed_pts)
      npt.assert_array_less(seed_pts, 1.0 + eps)
  
      for i in range(len(cube_tri)):
          tri_mask = np.zeros([len(cube_tri)])
          tri_mask[i] = 1.0
          tri_maskb = tri_mask.astype(bool)
          t_idx, _ = random_coordinates_from_surface(
              nb_tri, nb_seed, triangles_mask=tri_maskb
          )
          npt.assert_array_equal(t_idx, i)
          t_idx, _ = random_coordinates_from_surface(
              nb_tri, nb_seed, triangles_weight=tri_mask
          )
          npt.assert_array_equal(t_idx, i)
  
imports: import numpy
  import numpy.testing
  from dipy.tracking.mesh import triangles_area, random_coordinates_from_surface, seeds_from_surface_coordinates, vertices_to_triangles_values
label_desc: Use image node_id 3 for calling a global function with example usage: test_surface_seeds() without return types