Ejemplo n.º 1
0
    def make_workspace(self, primary_labels, secondary_labels):
        """Make a workspace that has objects for the input labels
        
        returns a workspace with the following
            object_set - has object with name "primary" containing
                         the primary labels
                         has object with name "secondary" containing
                         the secondary labels
        """
        isl = cpi.ImageSetList()
        module = cpmit.IdentifyTertiarySubregion()
        module.module_num = 1
        module.primary_objects_name.value = PRIMARY
        module.secondary_objects_name.value = SECONDARY
        module.subregion_objects_name.value = TERTIARY
        workspace = cpw.Workspace(cpp.Pipeline(), module, isl.get_image_set(0),
                                  cpo.ObjectSet(), cpm.Measurements(), isl)
        workspace.pipeline.add_module(module)

        for labels, name in ((primary_labels, PRIMARY), (secondary_labels,
                                                         SECONDARY)):
            objects = cpo.Objects()
            objects.segmented = labels
            workspace.object_set.add_objects(objects, name)
        return workspace
Ejemplo n.º 2
0
 def test_03_01_get_measurement_columns(self):
     '''Test the get_measurement_columns method'''
     module = cpmit.IdentifyTertiarySubregion()
     module.primary_objects_name.value = PRIMARY
     module.secondary_objects_name.value = SECONDARY
     module.subregion_objects_name.value = TERTIARY
     columns = module.get_measurement_columns(None)
     expected = ((cpm.IMAGE, cpmi.FF_COUNT % TERTIARY, cpm.COLTYPE_INTEGER),
                 (TERTIARY, cpmi.M_LOCATION_CENTER_X, cpm.COLTYPE_FLOAT),
                 (TERTIARY, cpmi.M_LOCATION_CENTER_Y, cpm.COLTYPE_FLOAT),
                 (TERTIARY, cpmi.M_NUMBER_OBJECT_NUMBER,
                  cpm.COLTYPE_INTEGER), (PRIMARY,
                                         cpmi.FF_CHILDREN_COUNT % TERTIARY,
                                         cpm.COLTYPE_INTEGER),
                 (SECONDARY, cpmi.FF_CHILDREN_COUNT % TERTIARY,
                  cpm.COLTYPE_INTEGER), (TERTIARY, cpmi.FF_PARENT % PRIMARY,
                                         cpm.COLTYPE_INTEGER),
                 (TERTIARY, cpmi.FF_PARENT % SECONDARY,
                  cpm.COLTYPE_INTEGER))
     self.assertEqual(len(columns), len(expected))
     for column in columns:
         self.assertTrue(
             any([
                 all([cv == ev for cv, ev in zip(column, ec)])
                 for ec in expected
             ]))