class_docstr: Represents data from numpy or cupy array
class_docstr_tok: ["Represents","data","from","numpy","or","cupy","array"]
code: def to_chunk_op(self, *args):
      _, idx, chunk_size = args
      chunk_op = self.copy().reset_key()
      chunk_op.data = self.data[
          get_chunk_slices(chunk_size, idx)
      ].astype(
          chunk_op.dtype, order=self.outputs[0].order.value, copy=False
      )
      chunk_op.chunk_size = None
  
      return chunk_op
  
imports: import numpy
  from ...None import opcodes
  from ...lib.sparse.core import issparse, get_array_module, cp, cps, sps
  from ...lib.sparse import SparseNDArray
  from ...serialization.serializables import FieldTypes, AnyField, NDArrayField, TupleField
  from ...utils import on_serialize_shape, on_deserialize_shape
  from ..core import TENSOR_TYPE, TensorOrder, TensorData, Tensor
  from ..utils import get_chunk_slices
  from ..array_utils import array_module, is_array, is_cupy
  from .core import TensorNoInput
  from .scalar import scalar
label_desc: Use image node_id 2 for calling the ArrayDataSource obj's underlying member method code with example usage: obj.to_chunk_op() and returns: chunk_op