code: def _init_option_dict(key, option_dict, es):
      initialized_option_dict = {}
      primitive_options = _get_primitive_options()
      # verify all keys are valid and match expected type, convert lists to sets
      for option_key, option in option_dict.items():
          if option_key not in primitive_options:
              raise KeyError(
                  "Unrecognized primitive option '%s' for %s"
                  % (option_key, ",".join(key)),
              )
          if not primitive_options[option_key](option, es):
              raise TypeError(
                  "Incorrect type formatting for '%s' for %s"
                  % (option_key, ",".join(key)),
              )
          if isinstance(option, list):
              initialized_option_dict[option_key] = set(option)
          elif isinstance(option, dict):
              initialized_option_dict[option_key] = {
                  key: set(option[key]) for key in option
              }
      # initialize ignore_dataframes and ignore_columns to empty sets if not present
      if "ignore_columns" not in initialized_option_dict:
          initialized_option_dict["ignore_columns"] = dict()
      if "ignore_dataframes" not in initialized_option_dict:
          initialized_option_dict["ignore_dataframes"] = set()
      return initialized_option_dict
  
file_path: featuretools/featuretools/primitives/options_utils.py
imports: import logging
  import warnings
  from itertools import permutations
  from featuretools import primitives
  from featuretools.feature_base import IdentityFeature
label_desc: Use image node_id 6 for calling a global function with example usage: _init_option_dict(key, option_dict, es) and returns: initialized_option_dict