code: def test_possible_hull():
      image = np.array(
          [
              [0, 0, 0, 0, 0, 0, 0, 0, 0],
              [0, 0, 0, 0, 1, 0, 0, 0, 0],
              [0, 0, 0, 1, 0, 1, 0, 0, 0],
              [0, 0, 1, 1, 1, 1, 1, 0, 0],
              [0, 1, 1, 1, 1, 1, 1, 1, 0],
              [0, 0, 0, 0, 0, 0, 0, 0, 0],
          ],
          dtype=np.uint8,
      )
  
      expected = np.array(
          [
              [1, 4],
              [2, 3],
              [3, 2],
              [4, 1],
              [4, 1],
              [3, 2],
              [2, 3],
              [1, 4],
              [2, 5],
              [3, 6],
              [4, 7],
              [2, 5],
              [3, 6],
              [4, 7],
              [4, 2],
              [4, 3],
              [4, 4],
              [4, 5],
              [4, 6],
          ]
      )
  
      ph = possible_hull(image)
      assert_array_equal(ph, expected)
  
file_path: scikit-image/skimage/morphology/tests/test_convex_hull.py
imports: import numpy
  from skimage.morphology import convex_hull_image, convex_hull_object
  from skimage.morphology._convex_hull import possible_hull
  from skimage._shared import testing
  from skimage._shared.testing import assert_array_equal
  from skimage._shared._warnings import expected_warnings
label_desc: Use image node_id 6 for calling a global function with example usage: test_possible_hull() without return types