code: def get_feature_type_parameter_values_from_section(
      config: ModelConfig,
      features_section: str,
      feature_type: str,
      parameter_name: str,
  ) -> Set:
      """Returns the set of all parameter values used for the given features_section, feature_type, and
      parameter_name."""
      parameter_values = set()
      for feature in config[features_section]:
          if feature[TYPE] == feature_type:
              if parameter_name in feature:
                  parameter_values.add(feature[parameter_name])
              elif parameter_name in feature[ENCODER]:
                  parameter_values.add(feature[ENCODER][parameter_name])
              elif parameter_name in feature[DECODER]:
                  parameter_values.add(feature[DECODER][parameter_name])
      return parameter_values
  
file_path: ludwig/ludwig/utils/config_utils.py
imports: from typing import Any, Dict, Set, Union
  from ludwig.api_annotations import DeveloperAPI
  from ludwig.constants import DECODER, ENCODER, IMAGE, INPUT_FEATURES, MODEL_ECD, MODEL_LLM, MODEL_TYPE, PREPROCESSING, SEQUENCE, TEXT, TIMESERIES, TYPE
  from ludwig.features.feature_registries import get_input_type_registry
  from ludwig.schema.model_config import ModelConfig
  from ludwig.types import FeatureConfigDict, FeatureTypeDefaultsDict, PreprocessingConfigDict
label_desc: Use image node_id 1 for calling a global function with example usage: get_feature_type_parameter_values_from_section(config, features_section, feature_type, parameter_name) and returns: parameter_values