code: def _prep_kernel_hyperparams_for_euc_int_kernels(
      kernel_type, dom, dom_prefix, options
  ):
      """Prepares the kernel hyperparams."""
  
      # This function retrieves a particular value from the options
      def _get_option_val_from_args(dom_type_str, attr_name):
          """Internal function to get the options."""
          attr_name_in_options = (
              dom_prefix + "_" + dom_type_str + "_" + attr_name
          )
          if hasattr(options, attr_name_in_options):
              return getattr(options, attr_name_in_options)
          else:
              return None
  
      # This function retrieves several relevant values in a namepace.
      def _get_options_for_domain(dom_type_str):
          """Internal function to return options for the domain."""
          default_matern_nu = (
              _DFLT_DOMAIN_MATERN_NU
              if dom_prefix == "dom"
              else _DFLT_FIDEL_MATERN_NU
          )
          # set them in namespace
          matern_nu_in_options = _get_option_val_from_args(
              dom_type_str, "matern_nu"
          )
          matern_nu = (
              default_matern_nu
              if matern_nu_in_options == "default"
              else matern_nu_in_options
          )
          esp_matern_nu_in_options = _get_option_val_from_args(
              dom_type_str, "esp_matern_nu"
          )
          esp_matern_nu = (
              default_matern_nu
              if esp_matern_nu_in_options == "default"
              else esp_matern_nu_in_options
          )
          euc_int_options = Namespace(
              matern_nu=matern_nu,
              esp_matern_nu=esp_matern_nu,
              poly_order=_get_option_val_from_args(
                  dom_type_str, "poly_order"
              ),
              esp_order=_get_option_val_from_args(
                  dom_type_str, "esp_order"
              ),
          )
          return euc_int_options
  
      # Call above functions with relevant arguments.
      if dom.get_type() in ["euclidean", "discrete_euclidean"]:
          euc_int_options = _get_options_for_domain("euc")
      elif dom.get_type() == "integral":
          euc_int_options = _get_options_for_domain("int")
      elif dom.get_type() == "prod_discrete_numeric":
          euc_int_options = _get_options_for_domain("disc_num")
      else:
          raise ValueError(
              "kernel_type should be euclidean, integral or "
              + "prod_discrete_numeric in this function."
          )
      return prep_euclidean_integral_kernel_hyperparams(
          kernel_type, euc_int_options, dom.get_dim()
      )
  
imports: from __future__ import print_function
  from argparse import Namespace
  import numpy
  from ..exd import domains
  from ..exd.cp_domain_utils import load_cp_domain_from_config_file
  from .None import gp_core, mf_gp
  from .euclidean_gp import get_euclidean_integral_gp_kernel_with_scale, prep_euclidean_integral_kernel_hyperparams
  from .kernel import CartesianProductKernel, HammingKernel
  from ..utils.general_utils import get_idxs_from_list_of_lists
  from ..utils.option_handler import get_option_specs, load_options
  from ..utils.reporters import get_reporter
label_desc: Use image node_id 11 for calling a global function with example usage: _prep_kernel_hyperparams_for_euc_int_kernels(kernel_type, dom, dom_prefix, options) and returns: prep_euclidean_integral_kernel_hyperparams, euc_int_options, getattr, None