code: def imread(path, chunk_size=None):
      paths = path if isinstance(path, (tuple, list)) else glob(path)
      with open_file(paths[0], "rb") as f:
          sample_data = _read_image(f)
          img_shape = sample_data.shape
          img_size = file_size(paths[0])
      if len(paths) > 1:
          shape = (len(paths),) + img_shape
      else:
          shape = img_shape
      if chunk_size is None:
          chunk_size = int(options.chunk_store_limit / img_size)
      op = TensorImread(
          filepath=path, chunk_size=chunk_size, dtype=sample_data.dtype
      )
      return op(shape=shape, chunk_size=chunk_size)
  
file_path: mars/mars/tensor/images/imread.py
imports: import numpy
  from ...None import opcodes
  from ...serialization.serializables import AnyField
  from ...config import options
  from ...lib.filesystem import open_file, glob, file_size
  from ...utils import ceildiv, ModulePlaceholder
  from ..operands import TensorOperandMixin, TensorOperand
label_desc: Use image node_id 2 for calling a global function with example usage: imread(path, chunk_size) and returns: op