class_docstr: Derive from this abstract Reader class to create your own image reader in Python
  
  You need to implement the methods below in the derived class.
  
  Use this block of text to describe your reader to the user.
class_docstr_tok: ["Derive","from","this","abstract","Reader","class","to","create","your","own","image","reader","in","Python","You","need","to","implement","the","methods","below","in","the","derived","class",".","Use","this","block","of","text","to","describe","your","reader","to","the","user","."]
docstr: Read a series of planes from the image file. Mimics the Bioformats API
  :param c: read from this channel. `None` = read color image if multichannel
      or interleaved RGB.
  :param z: z-stack index
  :param t: time index
  n.b. either z or t should be "None" to specify which channel to read across.
  :param series: series for ``.flex`` and similar multi-stack formats
  :param rescale: `True` to rescale the intensity scale to 0 and 1; `False` to
            return the raw values native to the file.
  :param xywh: a (x, y, w, h) tuple
  :param wants_max_intensity: if `False`, only return the image; if `True`,
            return a tuple of image and max intensity
  :param channel_names: provide the channel names for the OME metadata
  
  Should return a data array with channel order Z, X, Y, (C)
docstr_tok: ["Read","a","series","of","planes","from","the","image","file",".","Mimics","the","Bioformats","API",":","param","c",":","read","from","this","channel",".","`","None","`","=","read","color","image","if","multichannel","or","interleaved","RGB",".",":","param","z",":","z-stack","index",":","param","t",":","time","index","n.b",".","either","z","or","t","should","be","``","None","''","to","specify","which","channel","to","read","across",".",":","param","series",":","series","for","``",".flex","``","and","similar","multi-stack","formats",":","param","rescale",":","`","True","`","to","rescale","the","intensity","scale","to","0","and","1",";","`","False","`","to","return","the","raw","values","native","to","the","file",".",":","param","xywh",":","a","(","x",",","y",",","w",",","h",")","tuple",":","param","wants_max_intensity",":","if","`","False","`",",","only","return","the","image",";","if","`","True","`",",","return","a","tuple","of","image","and","max","intensity",":","param","channel_names",":","provide","the","channel","names","for","the","OME","metadata","Should","return","a","data","array","with","channel","order","Z",",","X",",","Y",",","(","C",")"]
code: def read_volume(
      self,
      series=None,
      c=None,
      z=None,
      t=None,
      rescale=True,
      xywh=None,
      wants_max_intensity=False,
      channel_names=None,
  ):
      """Read a series of planes from the image file. Mimics the Bioformats API
      :param c: read from this channel. `None` = read color image if multichannel
          or interleaved RGB.
      :param z: z-stack index
      :param t: time index
      n.b. either z or t should be "None" to specify which channel to read across.
      :param series: series for ``.flex`` and similar multi-stack formats
      :param rescale: `True` to rescale the intensity scale to 0 and 1; `False` to
                return the raw values native to the file.
      :param xywh: a (x, y, w, h) tuple
      :param wants_max_intensity: if `False`, only return the image; if `True`,
                return a tuple of image and max intensity
      :param channel_names: provide the channel names for the OME metadata
  
      Should return a data array with channel order Z, X, Y, (C)
      """
      raise NotImplementedError(
          f"This reader ({self.reader_name}) does not support 3D reading."
      )
  
file_path: CellProfiler/src/subpackages/core/cellprofiler_core/reader/_reader.py
imports: import uuid
  from abc import ABC, abstractmethod
  import numpy
label_desc: Use image node_id 7 for calling the Reader obj's underlying member method code with example usage: obj.read_volume(series, c, z, t, rescale, xywh, wants_max_intensity, channel_names) without return types