code: def column_filter(f, options, groupby=False):
      if groupby and not f.column_schema.semantic_tags.intersection(
          {"category", "foreign_key"},
      ):
          return False
      include_cols = (
          "include_groupby_columns" if groupby else "include_columns"
      )
      ignore_cols = (
          "ignore_groupby_columns" if groupby else "ignore_columns"
      )
      include_dataframes = (
          "include_groupby_dataframes"
          if groupby
          else "include_dataframes"
      )
      ignore_dataframes = (
          "ignore_groupby_dataframes"
          if groupby
          else "ignore_dataframes"
      )
  
      dependencies = f.get_dependencies(deep=True) + [f]
      for base_f in dependencies:
          if isinstance(base_f, IdentityFeature):
              if (
                  include_cols in options
                  and base_f.dataframe_name in options[include_cols]
              ):
                  if (
                      base_f.get_name()
                      in options[include_cols][base_f.dataframe_name]
                  ):
                      continue  # this is a valid feature, go to next
                  else:
                      return False  # this is not an included feature
              if (
                  ignore_cols in options
                  and base_f.dataframe_name in options[ignore_cols]
              ):
                  if (
                      base_f.get_name()
                      in options[ignore_cols][base_f.dataframe_name]
                  ):
                      return False  # ignore this feature
          if include_dataframes in options:
              return (
                  base_f.dataframe_name in options[include_dataframes]
              )
          elif (
              ignore_dataframes in options
              and base_f.dataframe_name in options[ignore_dataframes]
          ):
              return False  # ignore the dataframe
      return True
  
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 7 for calling a global function with example usage: column_filter(f, options, groupby) and returns: True, False, unknown, False, False, False