code: def setup(self, data_library, line_count, line_width, self_intersect):
      canvas_size = 1000
      points_per_line = 10
  
      self.canvas = ds.Canvas(canvas_size, canvas_size)
  
      self.x = np.linspace(0, 1, points_per_line)
      rng = np.random.default_rng(428921)
      y = np.cumsum(
          np.c_[
              np.zeros((line_count, 1)),
              rng.standard_normal((line_count, points_per_line)),
          ],
          axis=1,
      )
      self.df = pd.DataFrame(y)
  
      if data_library == DataLibrary.PandasDF:
          pass
      elif data_library == DataLibrary.DaskDF:
          self.df = dd.from_pandas(self.df, npartitions=4)
      elif data_library == DataLibrary.CuDF:
          if cudf:
              self.df = cudf.DataFrame.from_pandas(self.df)
          else:
              raise NotImplementedError("CuDF not available")
      elif data_library == DataLibrary.DaskCuDF:
          if dask_cudf:
              cdf = cudf.DataFrame.from_pandas(self.df)
              self.df = dask_cudf.from_cudf(cdf, npartitions=4)
          else:
              raise NotImplementedError("Dask-cuDF not available")
      else:
          raise NotImplementedError(
              f"data_library {data_library} not supported in this test"
          )
  
file_path: datashader/benchmarks/benchmarks/line.py
imports: import dask.dataframe
  import datashader
  import numpy
  import pandas
  from .common import DataLibrary
label_desc: Use image node_id 1 for calling the Line obj's underlying member method code with example usage: obj.setup(data_library, line_count, line_width, _intersect) without return types