class_docstr: Reads basic image formats using ImageIO.
class_docstr_tok: ["Reads","basic","image","formats","using","ImageIO","."]
docstr: Should return a dictionary with the following keys:
  Key names are in cellprofiler_core.constants.image
  MD_SIZE_S - int reflecting the number of series
  MD_SIZE_X - list of X dimension sizes, one element per series.
  MD_SIZE_Y - list of Y dimension sizes, one element per series.
  MD_SIZE_Z - list of Z dimension sizes, one element per series.
  MD_SIZE_C - list of C dimension sizes, one element per series.
  MD_SIZE_T - list of T dimension sizes, one element per series.
  MD_SERIES_NAME - list of series names, one element per series.
docstr_tok: ["Should","return","a","dictionary","with","the","following","keys",":","Key","names","are","in","cellprofiler_core.constants.image","MD_SIZE_S","-","int","reflecting","the","number","of","series","MD_SIZE_X","-","list","of","X","dimension","sizes",",","one","element","per","series",".","MD_SIZE_Y","-","list","of","Y","dimension","sizes",",","one","element","per","series",".","MD_SIZE_Z","-","list","of","Z","dimension","sizes",",","one","element","per","series",".","MD_SIZE_C","-","list","of","C","dimension","sizes",",","one","element","per","series",".","MD_SIZE_T","-","list","of","T","dimension","sizes",",","one","element","per","series",".","MD_SERIES_NAME","-","list","of","series","names",",","one","element","per","series","."]
code: def get_series_metadata(self):
      """Should return a dictionary with the following keys:
      Key names are in cellprofiler_core.constants.image
      MD_SIZE_S - int reflecting the number of series
      MD_SIZE_X - list of X dimension sizes, one element per series.
      MD_SIZE_Y - list of Y dimension sizes, one element per series.
      MD_SIZE_Z - list of Z dimension sizes, one element per series.
      MD_SIZE_C - list of C dimension sizes, one element per series.
      MD_SIZE_T - list of T dimension sizes, one element per series.
      MD_SERIES_NAME - list of series names, one element per series.
      """
      meta_dict = collections.defaultdict(list)
      reader = self.get_reader()
      series_count = reader.get_length()
      meta_dict[MD_SIZE_S] = series_count
      for i in range(series_count):
          data = reader.get_data(index=i)
          dims = data.shape
          # expects dim ordering of: [H, W, C?, T?, Z?]
          meta_dict[MD_SIZE_Z].append(dims[4] if len(dims) > 4 else 1)
          meta_dict[MD_SIZE_T].append(dims[3] if len(dims) > 3 else 1)
          meta_dict[MD_SIZE_C].append(dims[2] if len(dims) > 2 else 1)
          meta_dict[MD_SIZE_X].append(dims[1])
          meta_dict[MD_SIZE_Y].append(dims[0])
      return meta_dict
  
file_path: CellProfiler/src/subpackages/core/cellprofiler_core/readers/imageio_reader.py
imports: import collections
  import numpy
  import imageio
  from ..constants.image import MD_SIZE_S, MD_SIZE_C, MD_SIZE_Z, MD_SIZE_T, MD_SIZE_Y, MD_SIZE_X
  from ..preferences import config_read_typed
  from ..reader import Reader
label_desc: Use image node_id 8 for calling the ImageIOReader obj's underlying member method code with example usage: obj.get_series_metadata() and returns: meta_dict