def test_06_01_get_measurement_columns(self): module = F.FlagImage() module.add_flag() module.flags[0].category.value = 'Foo' module.flags[0].feature_name.value = 'Bar' module.flags[1].category.value = 'Hello' module.flags[1].feature_name.value = 'World' columns = module.get_measurement_columns(None) self.assertEqual(len(columns), 2) self.assertTrue(all([column[0] == cpmeas.IMAGE and column[1] in ("Foo_Bar", "Hello_World") and column[2] == cpmeas.COLTYPE_INTEGER for column in columns])) self.assertNotEqual(columns[0][1], columns[1][1]) categories = module.get_categories(None, 'foo') self.assertEqual(len(categories), 0) categories = module.get_categories(None, cpmeas.IMAGE) self.assertEqual(len(categories), 2) self.assertTrue('Foo' in categories) self.assertTrue('Hello' in categories) self.assertEqual(len(module.get_measurements(None, cpmeas.IMAGE, 'Whatever')), 0) for category, feature in (('Foo', 'Bar'), ('Hello', 'World')): features = module.get_measurements(None, cpmeas.IMAGE, category) self.assertEqual(len(features), 1) self.assertEqual(features[0], feature)
def test_09_01_batch(self): orig_path = '/foo/bar' def fn_alter_path(path, **varargs): self.assertEqual(path, orig_path) return '/imaging/analysis' module = F.FlagImage() rd = module.flags[0].measurement_settings[0].rules_directory rd.dir_choice = cps.ABSOLUTE_FOLDER_NAME rd.custom_path = orig_path module.prepare_to_create_batch(None, fn_alter_path) self.assertEqual(rd.custom_path, '/imaging/analysis')
def make_workspace(self, image_measurements, object_measurements): """Make a workspace with a FlagImage module and the given measurements image_measurements - a sequence of single image measurements. Use image_measurement_name(i) to get the name of the i th measurement object_measurements - a seequence of sequences of object measurements. These are stored under object, OBJECT_NAME with measurement name object_measurement_name(i) for the i th measurement. returns module, workspace """ module = F.FlagImage() measurements = cpmeas.Measurements() for i in range(len(image_measurements)): measurements.add_image_measurement(image_measurement_name(i), image_measurements[i]) for i in range(len(object_measurements)): measurements.add_measurement( OBJECT_NAME, object_measurement_name(i), np.array(object_measurements[i]), ) flag = module.flags[0] self.assertTrue(isinstance(flag, cps.SettingsGroup)) flag.category.value = MEASUREMENT_CATEGORY flag.feature_name.value = MEASUREMENT_FEATURE module.module_num = 1 pipeline = cpp.Pipeline() def callback(caller, event): self.assertFalse(isinstance(event, cpp.RunExceptionEvent)) pipeline.add_listener(callback) pipeline.add_module(module) image_set_list = cpi.ImageSetList() image_set = image_set_list.get_image_set(0) workspace = cpw.Workspace(pipeline, module, image_set, cpo.ObjectSet(), measurements, image_set_list) return module, workspace