code: def run(self, data):
      index, col, low, high, drift = (
          self.cfg.get(p)
          for p in ["index", "col", "low", "high", "drift"]
      )
      df = build_data(data, self.cfg)
      cycle, trend = cffilter(df, low, high, drift)
      df = pd.concat(
          [df, cycle, trend], axis=1, keys=[col, "cycle", "trend"]
      )
      df = df.reset_index()
      return_data, _code = build_base_chart(
          df.fillna(0), index, [col, "cycle", "trend"], agg="raw"
      )
      return return_data
  
imports: import pandas
  from six import PY3
  from statsmodels.tsa.filters.bk_filter import bkfilter
  from statsmodels.tsa.filters.cf_filter import cffilter
  from statsmodels.tsa.filters.hp_filter import hpfilter
  from statsmodels.tsa.seasonal import seasonal_decompose
  import dtale.global_state
  from dtale.query import run_query
  from dtale.charts.utils import build_base_chart
label_desc: Use image node_id 2 for calling the CFFilter obj's underlying member method code with example usage: obj.run(data) and returns: return_data