code: def test_hemisphere_faces():
      t = (1 + np.sqrt(5)) / 2
      vertices = np.array(
          [
              [-t, -1, 0],
              [-t, 1, 0],
              [1, 0, t],
              [-1, 0, t],
              [0, t, 1],
              [0, -t, 1],
          ]
      )
      vertices /= vector_norm(vertices, keepdims=True)
      faces = np.array(
          [
              [0, 1, 2],
              [0, 1, 3],
              [0, 2, 4],
              [1, 3, 4],
              [2, 3, 4],
              [1, 2, 5],
              [0, 3, 5],
              [2, 3, 5],
              [0, 4, 5],
              [1, 4, 5],
          ]
      )
      edges = np.array(
          [
              (0, 1),
              (0, 2),
              (0, 3),
              (0, 4),
              (0, 5),
              (1, 2),
              (1, 3),
              (1, 4),
              (1, 5),
              (2, 3),
              (2, 4),
              (2, 5),
              (3, 4),
              (3, 5),
              (4, 5),
          ]
      )
  
      h = HemiSphere(xyz=vertices)
      nt.assert_equal(len(h.edges), len(edges))
      nt.assert_equal(array_to_set(h.edges), array_to_set(edges))
      nt.assert_equal(len(h.faces), len(faces))
      nt.assert_equal(array_to_set(h.faces), array_to_set(faces))
  
imports: import numpy
  import numpy.testing
  import pytest
  import warnings
  from dipy.core.sphere import Sphere, HemiSphere, unique_edges, unique_sets, faces_from_sphere_vertices, disperse_charges, fibonacci_sphere, disperse_charges_alt, _get_forces, _get_forces_alt, unit_octahedron, unit_icosahedron, hemi_icosahedron
  from dipy.core.geometry import cart2sphere, vector_norm
  from dipy.core.sphere_stats import random_uniform_on_sphere
  from dipy.utils.optpkg import optional_package
label_desc: Use image node_id 18 for calling a global function with example usage: test_hemisphere_faces() without return types