code: def _extract_patches_helper(draw):
      sizes = [
          1,
          draw(st.integers(min_value=1, max_value=5)),
          draw(st.integers(min_value=1, max_value=5)),
          1,
      ]
      rates = [
          1,
          draw(st.integers(min_value=1, max_value=5)),
          draw(st.integers(min_value=1, max_value=5)),
          1,
      ]
      x_dim = []
      for i in range(1, 3):
          min_x = sizes[i] + (sizes[i] - 1) * (rates[i] - 1)
          x_dim.append(draw(st.integers(min_x, min_x + 5)))
      x_shape = [
          draw(st.integers(min_value=1, max_value=5)),
          *x_dim,
          draw(st.integers(min_value=1, max_value=5)),
      ]
      dtype_x = draw(
          helpers.dtype_and_values(
              available_dtypes=helpers.get_dtypes("numeric"),
              shape=x_shape,
          )
      )
      strides = [
          1,
          draw(st.integers(min_value=1, max_value=5)),
          draw(st.integers(min_value=1, max_value=5)),
          1,
      ]
      padding = draw(st.sampled_from(["VALID", "SAME"]))
      return dtype_x, sizes, strides, rates, padding
  
imports: from hypothesis import strategies, assume
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_frontend_test
  from ivy_tests.test_ivy.test_functional.test_experimental.test_nn.test_layers import _interp_args
label_desc: Use image node_id 1 for calling a global function with example usage: _extract_patches_helper(draw) and returns: dtype_x,  sizes,  strides,  rates,  padding