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
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 ]))