def make_workspace(self, image, outline=None, labels=None):
     '''Make a workspace for testing ApplyThreshold'''
     m = cpmeas.Measurements()
     object_set = cpo.ObjectSet()
     module = O.OverlayOutlines()
     module.blank_image.value = False
     module.image_name.value = INPUT_IMAGE_NAME
     module.output_image_name.value = OUTPUT_IMAGE_NAME
     if outline is not None:
         module.outlines[0].outline_name.value = OUTLINE_NAME
         m.add(OUTLINE_NAME, cpi.Image(outline))
         module.outlines[0].outline_choice.value = O.FROM_IMAGES
     if labels is not None:
         objects = cpo.Objects()
         if len(labels) > 1:
             ijv = np.vstack(
                 [np.column_stack(list(np.where(l>0)) + [l[l>0]])
                  for l in labels])
             objects.set_ijv(ijv, shape=labels[0].shape)
         else:
             objects.segmented = labels[0]
         object_set.add_objects(objects, OBJECTS_NAME)
         module.outlines[0].outline_choice.value = O.FROM_OBJECTS
         module.outlines[0].objects_name.value = OBJECTS_NAME
         
     pipeline = cpp.Pipeline()
     workspace = cpw.Workspace(pipeline, module, m, object_set, m, None)
     m.add(INPUT_IMAGE_NAME, cpi.Image(image))
     return workspace, module
 def make_workspace(self, image, outline):
     '''Make a workspace for testing ApplyThreshold'''
     module = O.OverlayOutlines()
     module.blank_image.value = False
     module.image_name.value = INPUT_IMAGE_NAME
     module.output_image_name.value = OUTPUT_IMAGE_NAME
     module.outlines[0].outline_name.value = OUTLINE_NAME
     pipeline = cpp.Pipeline()
     object_set = cpo.ObjectSet()
     image_set_list = cpi.ImageSetList()
     image_set = image_set_list.get_image_set(0)
     workspace = cpw.Workspace(pipeline, module, image_set, object_set,
                               cpmeas.Measurements(), image_set_list)
     image_set.add(OUTLINE_NAME, cpi.Image(outline))
     image_set.add(INPUT_IMAGE_NAME, cpi.Image(image))
     return workspace, module