code: def make_workspace(pixels, choices):
      """Make a workspace for running UnmixColors
  
      pixels - input image
      choices - a list of choice strings for the images desired
      """
      pipeline = cellprofiler_core.pipeline.Pipeline()
  
      def callback(caller, event):
          assert not isinstance(
              event, cellprofiler_core.pipeline.event.RunException
          )
  
      pipeline.add_listener(callback)
  
      module = cellprofiler.modules.unmixcolors.UnmixColors()
      module.input_image_name.value = INPUT_IMAGE
      module.outputs[0].image_name.value = output_image_name(0)
      module.outputs[0].stain_choice.value = choices[0]
      for i, choice in enumerate(choices[1:]):
          module.add_image()
          module.outputs[i + 1].image_name.value = output_image_name(
              i + 1
          )
          module.outputs[i + 1].stain_choice.value = choice
  
      module.set_module_num(1)
      pipeline.add_module(module)
  
      image_set_list = cellprofiler_core.image.ImageSetList()
      image_set = image_set_list.get_image_set(0)
      image = cellprofiler_core.image.Image(pixels)
      image_set.add(INPUT_IMAGE, image)
  
      workspace = cellprofiler_core.workspace.Workspace(
          pipeline,
          module,
          image_set,
          cellprofiler_core.object.ObjectSet(),
          cellprofiler_core.measurement.Measurements(),
          image_set_list,
      )
      return workspace, module
  
file_path: CellProfiler/tests/frontend/modules/test_unmixcolors.py
imports: import numpy
  import six.moves
  import cellprofiler_core.image
  import cellprofiler_core.measurement
  import cellprofiler.modules.unmixcolors
  import cellprofiler_core.object
  import cellprofiler_core.pipeline
  import cellprofiler_core.workspace
  import tests.frontend.modules
label_desc: Use image node_id 3 for calling a global function with example usage: make_workspace(pixels, choices) and returns: workspace,  module