code: def pytest_generate_tests(metafunc):
      """Test parameterization routine for pytest.
  
      Fixtures parameterized
      ----------------------
      scitype : str - scitype of fixture
      mtype : str - mtype of fixture
      fixture_index : int - index of fixture tuple with that scitype and mtype
      iterate_as : str - level on which to iterate over
      iterate_cols : bool - whether to iterate over columns
      """
      # we assume all four arguments are present in the test below
  
      fixturenames = set(metafunc.fixturenames)
  
      if {"scitype", "mtype", "fixture_index"}.issubset(fixturenames):
          keys = _generate_scitype_mtype_fixtureindex_combinations()
  
          ids = []
          for tuple in keys:
              ids += [f"{tuple[0]}-{tuple[1]}-fixture:{tuple[2]}"]
  
          # parameterize test with from-mtpes
          metafunc.parametrize(
              "scitype,mtype,fixture_index", keys, ids=ids
          )
  
      elif {"scitype", "mtype"}.issubset(fixturenames):
          keys = _generate_scitype_mtype_combinations()
  
          ids = []
          for tuple in keys:
              ids += [f"{tuple[0]}-{tuple[1]}"]
  
          # parameterize test with from-mtpes
          metafunc.parametrize("scitype,mtype", keys, ids=ids)
  
      if "iterate_as" in fixturenames:
          metafunc.parametrize(
              "iterate_as", ["Hierarchical", "Panel", "Series"]
          )
  
      if "iterate_cols" in fixturenames:
          metafunc.parametrize("iterate_cols", [False, True])
  
imports: import numpy
  import pandas
  import pytest
  from sktime.datatypes import MTYPE_REGISTER, SCITYPE_REGISTER
  from sktime.datatypes._check import AMBIGUOUS_MTYPES, check_is_mtype
  from sktime.datatypes._examples import get_examples
  from sktime.datatypes._vectorize import VectorizedDF, _enforce_index_freq
  from sktime.utils._testing.deep_equals import deep_equals
  from sktime.utils.pandas import df_map
  from sktime.utils.parallel import _get_parallel_test_fixtures
label_desc: Use image node_id 5 for calling a global function with example usage: pytest_generate_tests(metafunc) without return types