def make_workspace(self, object_dict={}, image_dict={}): '''Make a workspace for testing MeasureImageIntensity''' module = M.MeasureImageIntensity() 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) for key in image_dict.keys(): image_set.add(key, cpi.Image(image_dict[key])) for key in object_dict.keys(): o = cpo.Objects() o.segmented = object_dict[key] object_set.add_objects(o, key) return workspace, module
def test_03_01_get_measurement_columns(self): module = M.MeasureImageIntensity() image_names = ['image%d' % i for i in range(3)] object_names = ['object%d' % i for i in range(3)] first = True expected_suffixes = [] for image_name in image_names: if first: first = False else: module.add_image_measurement() im = module.images[-1] im.image_name.value = image_name im.wants_objects.value = False expected_suffixes.append(image_name) for object_name in object_names: module.add_image_measurement() im = module.images[-1] im.image_name.value = image_name im.wants_objects.value = True im.object_name.value = object_name expected_suffixes.append("%s_%s" % (image_name, object_name)) columns = module.get_measurement_columns(None) self.assertTrue(all([column[0] == cpmeas.IMAGE for column in columns])) for expected_suffix in expected_suffixes: for feature, coltype in ((M.F_TOTAL_INTENSITY, cpmeas.COLTYPE_FLOAT), (M.F_MEAN_INTENSITY, cpmeas.COLTYPE_FLOAT), (M.F_MIN_INTENSITY, cpmeas.COLTYPE_FLOAT), (M.F_MAX_INTENSITY, cpmeas.COLTYPE_FLOAT), (M.F_TOTAL_AREA, cpmeas.COLTYPE_INTEGER), (M.F_PERCENT_MAXIMAL, cpmeas.COLTYPE_FLOAT), (M.F_MAD_INTENSITY, cpmeas.COLTYPE_FLOAT), (M.F_LOWER_QUARTILE, cpmeas.COLTYPE_FLOAT), (M.F_UPPER_QUARTILE, cpmeas.COLTYPE_FLOAT)): # feature names are now formatting strings feature_name = feature % expected_suffix self.assertTrue( any([(column[1] == feature_name and column[2] == coltype) for column in columns]))