class_docstr: Used to load and display a single image over specific bounds of
  the map, implements ILayer interface.
  
  Parameters
  ----------
  image: string, file or array-like object
      The data you want to draw on the map.
      * If string, it will be written directly in the output file.
      * If file, it's content will be converted as embedded in the output file.
      * If array-like, it will be converted to PNG base64 string and embedded in the output.
  bounds: list
      Image bounds on the map in the form
       [[lat_min, lon_min], [lat_max, lon_max]]
  opacity: float, default Leaflet's default (1.0)
  alt: string, default Leaflet's default ('')
  origin: ['upper' | 'lower'], optional, default 'upper'
      Place the [0,0] index of the array in the upper left or
      lower left corner of the axes.
  colormap: callable, used only for `mono` image.
      Function of the form [x -> (r,g,b)] or [x -> (r,g,b,a)]
      for transforming a mono image into RGB.
      It must output iterables of length 3 or 4,
      with values between 0 and 1.
      Hint: you can use colormaps from `matplotlib.cm`.
  mercator_project: bool, default False.
      Used only for array-like image.  Transforms the data to
      project (longitude, latitude) coordinates to the Mercator projection.
      Beware that this will only work if `image` is an array-like object.
      Note that if used the image will be clipped beyond latitude -85 and 85.
  pixelated: bool, default True
      Sharp sharp/crips (True) or aliased corners (False).
  name : string, default None
      The name of the Layer, as it will appear in LayerControls
  overlay : bool, default True
      Adds the layer as an optional overlay (True) or the base layer (False).
  control : bool, default True
      Whether the Layer will be included in LayerControls.
  show: bool, default True
      Whether the layer will be shown on opening.
  
  See https://leafletjs.com/reference.html#imageoverlay for more
  options.
class_docstr_tok: ["Used","to","load","and","display","a","single","image","over","specific","bounds","of","the","map",",","implements","ILayer","interface",".","Parameters","--","--","--","--","--","image",":","string",",","file","or","array-like","object","The","data","you","want","to","draw","on","the","map",".","*","If","string",",","it","will","be","written","directly","in","the","output","file",".","*","If","file",",","it","'s","content","will","be","converted","as","embedded","in","the","output","file",".","*","If","array-like",",","it","will","be","converted","to","PNG","base64","string","and","embedded","in","the","output",".","bounds",":","list","Image","bounds","on","the","map","in","the","form","[","[","lat_min",",","lon_min","]",",","[","lat_max",",","lon_max","]","]","opacity",":","float",",","default","Leaflet","'s","default","(","1.0",")","alt",":","string",",","default","Leaflet","'s","default","(","``",")","origin",":","[","'upper","'","|","'lower","'","]",",","optional",",","default","'upper'","Place","the","[","0,0","]","index","of","the","array","in","the","upper","left","or","lower","left","corner","of","the","axes",".","colormap",":","callable",",","used","only","for","`","mono","`","image",".","Function","of","the","form","[","x","-",">","(","r",",","g",",","b",")","]","or","[","x","-",">","(","r",",","g",",","b",",","a",")","]","for","transforming","a","mono","image","into","RGB",".","It","must","output","iterables","of","length","3","or","4",",","with","values","between","0","and","1",".","Hint",":","you","can","use","colormaps","from","`","matplotlib.cm","`",".","mercator_project",":","bool",",","default","False",".","Used","only","for","array-like","image",".","Transforms","the","data","to","project","(","longitude",",","latitude",")","coordinates","to","the","Mercator","projection",".","Beware","that","this","will","only","work","if","`","image","`","is","an","array-like","object",".","Note","that","if","used","the","image","will","be","clipped","beyond","latitude","-85","and","85.","pixelated",":","bool",",","default","True","Sharp","sharp\/crips","(","True",")","or","aliased","corners","(","False",")",".","name",":","string",",","default","None","The","name","of","the","Layer",",","as","it","will","appear","in","LayerControls","overlay",":","bool",",","default","True","Adds","the","layer","as","an","optional","overlay","(","True",")","or","the","base","layer","(","False",")",".","control",":","bool",",","default","True","Whether","the","Layer","will","be","included","in","LayerControls",".","show",":","bool",",","default","True","Whether","the","layer","will","be","shown","on","opening",".","See","https",":","\/\/leafletjs.com\/reference.html","#","imageoverlay","for","more","options","."]
code: def __init__(
      self,
      image: Any,
      bounds: TypeBounds,
      origin: str = "upper",
      colormap: Optional[Callable] = None,
      mercator_project: bool = False,
      pixelated: bool = True,
      name: Optional[str] = None,
      overlay: bool = True,
      control: bool = True,
      show: bool = True,
      **kwargs,
  ):
      super().__init__(
          name=name, overlay=overlay, control=control, show=show
      )
      self._name = "ImageOverlay"
      self.bounds = bounds
      self.options = parse_options(**kwargs)
      self.pixelated = pixelated
      if mercator_project:
          image = mercator_transform(
              image, (bounds[0][0], bounds[1][0]), origin=origin
          )
  
      self.url = image_to_url(image, origin=origin, colormap=colormap)
  
imports: from typing import Any, Callable, Optional, Union
  import xyzservices
  from branca.element import Element, Figure
  from jinja2 import Template
  from folium.map import Layer
  from folium.utilities import TypeBounds, TypeJsonValue, image_to_url, mercator_transform, parse_options
label_desc: Use image node_id 1 to create a new ImageOverlay object from inherited base classes: Layer with example: obj = ImageOverlay(image, bounds, origin, colormap, mercator_project, pixelated, name, overlay, control, show)