class_docstr: The workspace contains the processing information and state for
  a pipeline run on an image set
class_docstr_tok: ["The","workspace","contains","the","processing","information","and","state","for","a","pipeline","run","on","an","image","set"]
docstr: Workspace constructor
  
  pipeline          - the pipeline of modules being run
  module            - the current module to run (a CPModule instance)
  image_set         - the set of images available for this iteration
                      (a cpimage.ImageSet instance)
  object_set        - an object.ObjectSet instance
  image_set_list    - the list of all images
  frame             - the application's frame, or None for no display
  create_new_window - True to create another frame, even if one is open
                      False to reuse the current frame.
code: def __init__(
      self,
      pipeline,
      module,
      image_set,
      object_set,
      measurements,
      image_set_list,
      frame=None,
      create_new_window=False,
      outlines=None,
  ):
      """Workspace constructor
  
      pipeline          - the pipeline of modules being run
      module            - the current module to run (a CPModule instance)
      image_set         - the set of images available for this iteration
                          (a cpimage.ImageSet instance)
      object_set        - an object.ObjectSet instance
      image_set_list    - the list of all images
      frame             - the application's frame, or None for no display
      create_new_window - True to create another frame, even if one is open
                          False to reuse the current frame.
      """
      if outlines is None:
          outlines = {}
      self.__pipeline = pipeline
      self.__module = module
      self.__image_set = image_set
      self.__object_set = object_set
      self.__measurements = measurements
      self.__image_set_list = image_set_list
      self.__frame = frame
      self.__do_show = frame is not None
      self.__outlines = outlines
      self.__windows_used = []
      self.__create_new_window = create_new_window
      self.__grid = {}
      self.__disposition = DISPOSITION_CONTINUE
      self.__disposition_listeners = []
      self.__in_background = (
          False  # controls checks for calls to create_or_find_figure()
      )
      self.__filename = None
      self.__file_list = None
      self.__loading = False
      if measurements is not None:
          self.set_file_list(
              HDF5FileList(measurements.hdf5_dict.hdf5_file)
          )
      self.__notification_callbacks = []
  
      self.interaction_handler = None
      self.post_run_display_handler = None
      self.post_group_display_handler = None
      self.cancel_handler = None
  
      class DisplayData(object):
          pass
  
      self.display_data = DisplayData()
      """Object into which the module's run() method can stuff items
          that must be available later for display()."""
  
imports: import io
  import logging
  import os
  import h5py
  import cellprofiler_core.utilities.measurement
  from ._disposition_changed_event import DispositionChangedEvent
  from ..constants.measurement import EXPERIMENT
  from ..constants.workspace import DISPOSITION_CONTINUE
  from ..utilities.hdf5_dict import HDF5FileList
label_desc: Use image node_id 1 to create a new Workspace object  with example: obj = Workspace(pipeline, module, image_set, object_set, measurements, image_set_list, frame, create_new_window, outlines)