Esempio n. 1
0
 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)
Esempio n. 2
0
    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')
Esempio n. 3
0
    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