code: def __init__(self, data_id, column, cfg):
      self.data_id = data_id
      self.column = column
      dtype = (global_state.get_dtype_info(data_id, column) or {}).get(
          "dtype"
      )
      if not dtype:
          if global_state.is_arcticdb:
              instance = global_state.store.get(data_id)
              data, _ = format_data(instance.base_df)
              s = data[column]
          else:
              s = global_state.get_data(data_id, columns=[column])[
                  column
              ]
          dtype = find_dtype(s)
      self.classification = classify_type(dtype)
      self.cfg = cfg
      if self.cfg is not None:
          self.cfg = json.loads(self.cfg)
      if self.cfg["type"] == "string":
          self.builder = StringFilter(
              column, self.classification, self.cfg
          )
      if self.cfg["type"] in ["int", "float"]:
          self.builder = NumericFilter(
              column, self.classification, self.cfg
          )
      if self.cfg["type"] == "date":
          self.builder = DateFilter(
              column, self.classification, self.cfg
          )
      if self.cfg["type"] == "outliers":
          self.builder = OutlierFilter(
              column, self.classification, self.cfg
          )
  
imports: import json
  import numpy
  import pandas
  import dtale.global_state
  from dtale.utils import classify_type, find_dtype, format_data, make_list
  from dtale.query import build_col_key
label_desc: Use image node_id 1 to create a new ColumnFilter object from inherited base classes: object with example: obj = ColumnFilter(data_id, column, cfg)