code: def build_candlestick_options(
      df,
      cs_x=None,
      cs_open=None,
      cs_close=None,
      cs_high=None,
      cs_low=None,
  ):
      dtypes = get_dtypes(df)
      cols = sorted(dtypes.keys())
      num_cols, x_cols = [], []
      for c in cols:
          dtype = dtypes[c]
          classification = classify_type(dtype)
          if classification in ["S", "D"]:
              x_cols.append(c)
          if classification in ["F", "I"]:
              num_cols.append(c)
  
      x_options = [build_option(c) for c in x_cols]
      close_options = [
          build_option(c)
          for c in num_cols
          if c not in build_selections(cs_x, cs_open, cs_low, cs_high)
      ]
      open_options = [
          build_option(c)
          for c in num_cols
          if c not in build_selections(cs_x, cs_close, cs_low, cs_high)
      ]
      low_options = [
          build_option(c)
          for c in num_cols
          if c not in build_selections(cs_x, cs_open, cs_close, cs_high)
      ]
      high_options = [
          build_option(c)
          for c in num_cols
          if c not in build_selections(cs_x, cs_open, cs_close, cs_low)
      ]
      return (
          x_options,
          close_options,
          open_options,
          low_options,
          high_options,
      )
  
imports: import json
  import dash_bootstrap_components
  import dash_colorscales
  import dash_daq
  import os
  import plotly
  from pkg_resources import parse_version
  from six import PY3
  from dtale.dash_application import dcc, html
  import dtale.dash_application.custom_geojson
  import dtale.dash_application.extended_aggregations
  import dtale.global_state
  from dtale.charts.utils import AGGS, ANIMATION_CHARTS, ANIMATE_BY_CHARTS, YAXIS_CHARTS, ZAXIS_CHARTS, NON_EXT_AGGREGATION, build_final_cols, find_group_vals
  from dtale.column_builders import get_cleaner_configs
  from dtale.constants import CHART_JOINER_CHAR
  from dtale.dash_application.layout.utils import build_input, build_option, build_tab, build_cols, build_hoverable, build_selections, show_style, FREQS, FREQ_LABELS
  from dtale.translations import text
  from dtale.query import build_query, handle_predefined, inner_build_query, run_query
  from dtale.utils import ChartBuildingError, classify_type, coord_type, get_dtypes, is_app_root_defined, make_list
label_desc: Use image node_id 22 for calling a global function with example usage: build_candlestick_options(df, cs_x, cs_open, cs_close, cs_high, cs_low) and returns: x_options,  close_options,  open_options,  low_options,  high_options