class_docstr: A datashading pipeline callback.
  
  Given a declarative specification, creates a callable with the following
  signature:
  
  ``callback(x_range, y_range, width, height)``
  
  where ``x_range`` and ``y_range`` form the bounding box on the viewport,
  and ``width`` and ``height`` specify the output image dimensions.
  
  Parameters
  ----------
  df : pandas.DataFrame, dask.DataFrame
  glyph : Glyph
      The glyph to bin by.
  agg : Reduction, optional
      The reduction to compute per-pixel. Default is ``count()``.
  transform_fn : callable, optional
      A callable that takes the computed aggregate as an argument, and
      returns another aggregate. This can be used to do preprocessing before
      passing to the ``color_fn`` function.
  color_fn : callable, optional
      A callable that takes the output of ``tranform_fn``, and returns an
      ``Image`` object. Default is ``shade``.
  spread_fn : callable, optional
      A callable that takes the output of ``color_fn``, and returns another
      ``Image`` object. Default is ``dynspread``.
  height_scale: float, optional
      Factor by which to scale the provided height
  width_scale: float, optional
      Factor by which to scale the provided width
docstr: Compute an image from the specified pipeline.
  
  Parameters
  ----------
  x_range, y_range : tuple, optional
      The bounding box on the viewport, specified as tuples of
      ``(min, max)``
  width, height : int, optional
      The shape of the image
docstr_tok: ["Compute","an","image","from","the","specified","pipeline",".","Parameters","--","--","--","--","--","x_range",",","y_range",":","tuple",",","optional","The","bounding","box","on","the","viewport",",","specified","as","tuples","of","``","(","min",",","max",")","``","width",",","height",":","int",",","optional","The","shape","of","the","image"]
code: def __call__(self, x_range=None, y_range=None, width=600, height=600):
      """Compute an image from the specified pipeline.
  
      Parameters
      ----------
      x_range, y_range : tuple, optional
          The bounding box on the viewport, specified as tuples of
          ``(min, max)``
      width, height : int, optional
          The shape of the image
      """
      canvas = core.Canvas(
          plot_width=int(width * self.width_scale),
          plot_height=int(height * self.height_scale),
          x_range=x_range,
          y_range=y_range,
      )
      bins = core.bypixel(
          self.df,
          canvas,
          self.glyph,
          self.agg,
          antialias=self.glyph.antialiased,
      )
      img = self.color_fn(self.transform_fn(bins))
      return self.spread_fn(img)
  
file_path: datashader/datashader/pipeline.py
imports: from __future__ import annotations
  from toolz import identity
  from .None import transfer_functions
  from .None import reductions
  from .None import core
label_desc: Use image node_id 2 for calling the Pipeline obj's underlying member method code with example usage: obj.__call__(x_range, y_range, width, height) and returns: self