code: def __init__(self, ufunc):
      if not isinstance(ufunc, (np.ufunc, da_frompyfunc)):
          raise TypeError(
              "must be an instance of `ufunc` or "
              "`da_frompyfunc`, got `%s" % type(ufunc).__name__
          )
      self._ufunc = ufunc
      self.__name__ = ufunc.__name__
      if isinstance(ufunc, np.ufunc):
          derived_from(np)(self)
  
imports: from __future__ import annotations
  from functools import partial
  from operator import getitem
  import numpy
  from dask import core
  from dask.array.core import Array, apply_infer_dtype, asarray, blockwise, elemwise
  from dask.base import is_dask_collection, normalize_function
  from dask.highlevelgraph import HighLevelGraph
  from dask.utils import derived_from, funcname
label_desc: Use image node_id 1 to create a new ufunc object  with example: obj = ufunc(ufunc)