code: def get_data(self, element, ranges, style, **kwargs):
      if isinstance(element, Image):
          l, b, r, t = element.bounds.lbrt()
      else:
          l, b, r, t = element.extents
      array = element.dimension_values(2, flat=False)
      if type(element) is Raster:
          array = array.T[::-1, ...]
      ny, nx = array.shape
      if (
          any(not isfinite(c) for c in (l, b, r, t))
          or nx == 0
          or ny == 0
      ):
          l, b, r, t, dx, dy = 0, 0, 0, 0, 0, 0
      else:
          dx, dy = float(r - l) / nx, float(t - b) / ny
      x0, y0 = l + dx / 2.0, b + dy / 2.0
      if self.invert_axes:
          x0, y0, dx, dy = y0, x0, dy, dx
          array = array.T
  
      return [dict(x0=x0, y0=y0, dx=dx, dy=dy, z=array)]
  
file_path: holoviews/holoviews/plotting/plotly/raster.py
imports: import numpy
  import param
  from ...core.options import SkipRendering
  from ...core.util import isfinite
  from ...element import Image, Raster
  from ..mixins import HeatMapMixin
  from .element import ColorbarPlot
label_desc: Use image node_id 3 for calling the RasterPlot obj's underlying member method code with example usage: obj.get_data(element, ranges, style) and returns: list