code: def get_extents(
      self, element, ranges, range_type="combined", **kwargs
  ):
      extents = super().get_extents(element, ranges, range_type)
      if self.situate_axes or range_type not in ("combined", "data"):
          return extents
      elif isinstance(element, Image):
          return element.bounds.lbrt()
      else:
          return element.extents
  
imports: import sys
  import numpy
  import param
  from packaging.version import Version
  from ...core import CompositeOverlay, Element, traversal
  from ...core.util import isfinite, match_spec, max_range, unique_iterator
  from ...element.raster import RGB, Image, Raster
  from ..util import categorical_legend
  from .chart import PointPlot
  from .element import ColorbarPlot, ElementPlot, LegendPlot, OverlayPlot
  from .plot import GridPlot, MPLPlot, mpl_rc_context
  from .util import get_raster_array, mpl_version
label_desc: Use image node_id 1 for calling the RasterBasePlot obj's underlying member method code with example usage: obj.get_extents(element, ranges, range_type) and returns: extents, element, element