code: def xarray_pipeline(
      xr_ds, schema, canvas, glyph, summary, *, antialias=False
  ):
      cuda = False
      if cupy:
          if isinstance(glyph, LinesXarrayCommonX):
              cuda = isinstance(xr_ds[glyph.y].data, cupy.ndarray)
          else:
              cuda = isinstance(xr_ds[glyph.name].data, cupy.ndarray)
  
      if not xr_ds.chunks:
          return glyph_dispatch(
              glyph,
              xr_ds,
              schema,
              canvas,
              summary,
              antialias=antialias,
              cuda=cuda,
          )
      else:
          from datashader.data_libraries.dask_xarray import (
              dask_xarray_pipeline,
          )
  
          return dask_xarray_pipeline(
              glyph,
              xr_ds,
              schema,
              canvas,
              summary,
              antialias=antialias,
              cuda=cuda,
          )
  
file_path: datashader/datashader/data_libraries/xarray.py
imports: from __future__ import annotations
  from datashader.glyphs.line import LinesXarrayCommonX
  from datashader.glyphs.quadmesh import _QuadMeshLike
  from datashader.data_libraries.pandas import default
  from datashader.core import bypixel
  import xarray
  from datashader.utils import Dispatcher
label_desc: Use image node_id 1 for calling a global function with example usage: xarray_pipeline(xr_ds, schema, canvas, glyph, summary) and returns: glyph_dispatch, dask_xarray_pipeline