code: def mpl_to_bokeh(properties):
      """
      Utility to process style properties converting any
      matplotlib specific options to their nearest bokeh
      equivalent.
      """
      new_properties = {}
      for k, v in properties.items():
          if isinstance(v, dict):
              new_properties[k] = v
          elif k == "s":
              new_properties["size"] = v
          elif k == "marker":
              new_properties.update(markers.get(v, {"marker": v}))
          elif (
              k == "color" or k.endswith("_color")
          ) and not isinstance(v, (dict, dim)):
              with abbreviated_exception():
                  v = COLOR_ALIASES.get(v, v)
              if isinstance(v, tuple):
                  with abbreviated_exception():
                      v = rgb2hex(v)
              new_properties[k] = v
          else:
              new_properties[k] = v
      new_properties.pop("cmap", None)
      return new_properties
  
file_path: holoviews/holoviews/plotting/bokeh/styles.py
imports: import numpy
  from bokeh.core.properties import Angle, Color, DashPattern, FontSize, MarkerType, Percent, Size
  from ...core.options import abbreviated_exception
  from ...core.util import arraylike_types
  from ...util.transform import dim
  from ..util import COLOR_ALIASES, RGB_HEX_REGEX, rgb2hex
label_desc: Use image node_id 1 for calling a global function with example usage: mpl_to_bokeh(properties) and returns: new_properties