class_docstr: This class represents the location and metadata for a 2-d image plane
  
  A single ImageFile can be referenced by multiple ImagePlanes.
  
  You need a few pieces of information to reference an image plane:
  
  * The ImageFile object representing the source file
  
  Either:
  
  * The series number, index and channel number (if source is read with BioFormats)
  
  * The series, index (field), channel, z and t plane numbers (for other loaders)
  
  The xywh parameter can be supplied as a tuple (xstart, ystart, width, height) to isolate a
  specific region from a larger image.
  
  In addition, image planes have associated metadata which is represented
  as a dictionary of keys and values.
code: def __init__(
      self,
      file: ImageFile,
      series=None,
      index=None,
      channel=None,
      z=None,
      t=None,
      xywh=None,
      color=None,
      name=None,
  ):
      self._file = file
      self._metadata_dict = collections.defaultdict(get_missing)
  
      self._metadata_dict[C_URL] = file.url
      self._metadata_dict[C_SERIES] = series
      self._metadata_dict[C_SERIES_NAME] = name
      self._metadata_dict[C_INDEX] = index
      self._metadata_dict[C_C] = channel
      self._metadata_dict[C_T] = t
      self._metadata_dict[C_Z] = z
      self._metadata_dict[C_TILE] = xywh
      self._multichannel = color
  
imports: import collections
  import logging
  from cellprofiler_core.constants.measurement import RESERVED_METADATA_KEYS, C_MONOCHROME, C_RGB, C_TILE, C_URL, C_SERIES, C_C, C_Z, C_T, C_INDEX, C_SERIES_NAME
  from cellprofiler_core.pipeline import ImageFile
label_desc: Use image node_id 1 to create a new ImagePlane object  with example: obj = ImagePlane(file, series, index, channel, z, t, xywh, color, name)