code: def get_feature_filter_options(
      dataframe: pd.DataFrame, features_dict: dict, special_cols: list
  ) -> list:
      """Get the columns names options for the filter.
  
      Parameters
      ----------
      dataframe : pd.DataFrame
          Dataframe
      features_dict : dict
          Dictionary mapping technical feature names to domain names
      special_cols : list
          Sepcial columns about the index, the prediction...
  
      Returns
      -------
      list
          Options for the filter
      """
      # We use domain name for feature name
      dict_name = [
          features_dict[i]
          for i in dataframe.drop(special_cols, axis=1).columns
      ]
      dict_id = [
          i for i in dataframe.drop(special_cols, axis=1).columns
      ]
      # Create dataframe to sort it by feature_name
      df_feature_name = pd.DataFrame(
          {"feature_name": dict_name, "feature_id": dict_id}
      )
      df_feature_name = df_feature_name.sort_values(
          by="feature_name"
      ).reset_index(drop=True)
      # Options are sorted by feature_name
      options = [{"label": i, "value": i} for i in special_cols] + [
          {
              "label": df_feature_name.loc[i, "feature_name"],
              "value": df_feature_name.loc[i, "feature_id"],
          }
          for i in range(len(df_feature_name))
      ]
  
      return options
  
imports: from typing import Optional, Tuple
  import numpy
  import pandas
  import datetime
  from dash import dcc, html
  import dash_bootstrap_components
label_desc: Use image node_id 18 for calling a global function with example usage: get_feature_filter_options(dataframe, features_dict, special_cols) and returns: options