code: def test_rectangle_perimiter_clip_bottom_left():
      expected = np.array(
          [
              [0, 0, 0, 0, 0],
              [1, 1, 1, 0, 0],
              [1, 0, 1, 0, 0],
              [1, 0, 1, 0, 0],
              [1, 1, 1, 0, 0],
          ],
          dtype=np.uint8,
      )
      img = np.zeros((5, 5), dtype=np.uint8)
      start = (2, -3)
      end = (10, 1)
      rr, cc = rectangle_perimeter(
          start, end=end, shape=img.shape, clip=True
      )
      img[rr, cc] = 1
      assert_array_equal(img, expected)
  
      expected = np.array(
          [
              [0, 0, 0, 0, 0],
              [1, 1, 1, 0, 0],
              [0, 0, 1, 0, 0],
              [0, 0, 1, 0, 0],
              [0, 0, 1, 0, 0],
          ],
          dtype=np.uint8,
      )
  
      img = np.zeros((5, 5), dtype=np.uint8)
      rr, cc = rectangle_perimeter(
          start, end=end, shape=img.shape, clip=False
      )
      img[rr, cc] = 1
      assert_array_equal(img, expected)
  
imports: import numpy
  from numpy.testing import assert_array_equal, assert_equal, assert_almost_equal
  import pytest
  from skimage._shared.testing import run_in_parallel
  from skimage._shared._dependency_checks import has_mpl
  from skimage.draw import set_color, line, line_aa, polygon, polygon_perimeter, disk, circle_perimeter, circle_perimeter_aa, ellipse, ellipse_perimeter, _bezier_segment, bezier_curve, rectangle, rectangle_perimeter
  from skimage.measure import regionprops
label_desc: Use image node_id 50 for calling a global function with example usage: test_rectangle_perimiter_clip_bottom_left() without return types