def test_02_01_pipeline_info(self):
        pipeline = cpp.Pipeline()
        load_images = LoadImages()
        load_images.module_num = 1
        load_images.add_imagecb()
        load_images.images[0].channels[0].image_name.value = "Foo"
        load_images.images[1].channels[0].image_name.value = "Bar"
        pipeline.add_module(load_images)
        identify = IdentifyPrimaryObjects()
        identify.module_num = 2
        identify.x_name.value = "Foo"
        identify.y_name.value = "dizzy"
        pipeline.add_module(identify)

        pipeline_txt = StringIO()
        pipeline.savetxt(pipeline_txt)
        message = [
            zmq.Frame(self.session_id),
            zmq.Frame(),
            zmq.Frame(PIPELINE_INFO_REQ_1),
            zmq.Frame(pipeline_txt.getvalue())
        ]
        self.socket.send_multipart(message)
        message = self.socket.recv_multipart()
        self.assertEqual(message.pop(0), self.session_id)
        self.assertEqual(message.pop(0), "")
        self.assertEqual(message.pop(0), PIPELINE_INFO_REPLY_1)
        body = json.loads(message.pop(0))
        self.assertEqual(len(body), 3)
        channels, type_names, measurements = body
        self.assertTrue("Foo" in channels)
        self.assertTrue("Bar" in channels)
        self.assertTrue("dizzy" in measurements)
        found_location = False
        found_object_number = False
        for feature, idx in measurements['dizzy']:
            if feature == "Location_Center_X":
                self.assertEqual('java.lang.Double', type_names[idx])
                found_location = True
            elif feature == "Number_Object_Number":
                self.assertEqual('java.lang.Integer', type_names[idx])
                found_object_number = True
        self.assertTrue(found_location)
        self.assertTrue(found_object_number)
示例#2
0
    def test_02_01_pipeline_info(self):
        pipeline = cpp.Pipeline()
        load_images = LoadImages()
        load_images.module_num = 1
        load_images.add_imagecb()
        load_images.images[0].channels[0].image_name.value = "Foo"
        load_images.images[1].channels[0].image_name.value = "Bar"
        pipeline.add_module(load_images)
        identify = IdentifyPrimaryObjects()
        identify.module_num = 2
        identify.image_name.value = "Foo"
        identify.object_name.value = "dizzy"
        pipeline.add_module(identify)

        pipeline_txt = StringIO()
        pipeline.savetxt(pipeline_txt)
        message = [
            zmq.Frame(self.session_id),
            zmq.Frame(),
            zmq.Frame(PIPELINE_INFO_REQ_1),
            zmq.Frame(pipeline_txt.getvalue()),
        ]
        self.socket.send_multipart(message)
        message = self.socket.recv_multipart()
        self.assertEqual(message.pop(0), self.session_id)
        self.assertEqual(message.pop(0), "")
        self.assertEqual(message.pop(0), PIPELINE_INFO_REPLY_1)
        body = json.loads(message.pop(0))
        self.assertEqual(len(body), 3)
        channels, type_names, measurements = body
        self.assertTrue("Foo" in channels)
        self.assertTrue("Bar" in channels)
        self.assertTrue("dizzy" in measurements)
        found_location = False
        found_object_number = False
        for feature, idx in measurements["dizzy"]:
            if feature == "Location_Center_X":
                self.assertEqual("java.lang.Double", type_names[idx])
                found_location = True
            elif feature == "Number_Object_Number":
                self.assertEqual("java.lang.Integer", type_names[idx])
                found_object_number = True
        self.assertTrue(found_location)
        self.assertTrue(found_object_number)
 def test_02_03_clean_pipeline(self):
     pipeline = cpp.Pipeline()
     load_images = LoadImages()
     load_images.module_num = 1
     load_images.add_imagecb()
     load_images.images[0].channels[0].image_name.value = "Foo"
     load_images.images[1].channels[0].image_name.value = "Bar"
     pipeline.add_module(load_images)
     identify = IdentifyPrimaryObjects()
     identify.module_num = 2
     identify.x_name.value = "Foo"
     identify.y_name.value = "dizzy"
     pipeline.add_module(identify)
     saveimages = SaveImages()
     saveimages.module_num = 3
     saveimages.image_name.value = "Foo"
     pipeline.add_module(saveimages)
     measureobjectsizeshape = MeasureObjectSizeShape()
     measureobjectsizeshape.module_num = 4
     measureobjectsizeshape.object_groups[0].name.value = "dizzy"
     pipeline.add_module(measureobjectsizeshape)
     pipeline_txt = StringIO()
     pipeline.savetxt(pipeline_txt)
     module_names = json.dumps([SaveImages.module_name])
     message = [
         zmq.Frame(self.session_id),
         zmq.Frame(),
         zmq.Frame(CLEAN_PIPELINE_REQ_1),
         zmq.Frame(pipeline_txt.getvalue()),
         zmq.Frame(module_names)
     ]
     self.socket.send_multipart(message)
     message = self.socket.recv_multipart()
     self.assertEqual(message.pop(0), self.session_id)
     self.assertEqual(message.pop(0), "")
     self.assertEqual(message.pop(0), CLEAN_PIPELINE_REPLY_1)
     pipeline_txt = message.pop(0)
     pipeline = cpp.Pipeline()
     pipeline.loadtxt(StringIO(pipeline_txt))
     self.assertEqual(len(pipeline.modules()), 3)
     self.assertIsInstance(pipeline.modules()[0], LoadImages)
     self.assertIsInstance(pipeline.modules()[1], IdentifyPrimaryObjects)
     self.assertIsInstance(pipeline.modules()[2], MeasureObjectSizeShape)
示例#4
0
 def test_02_03_clean_pipeline(self):
     pipeline = cpp.Pipeline()
     load_images = LoadImages()
     load_images.module_num = 1
     load_images.add_imagecb()
     load_images.images[0].channels[0].image_name.value = "Foo"
     load_images.images[1].channels[0].image_name.value = "Bar"
     pipeline.add_module(load_images)
     identify = IdentifyPrimaryObjects()
     identify.module_num = 2
     identify.image_name.value = "Foo"
     identify.object_name.value = "dizzy"
     pipeline.add_module(identify)
     saveimages = SaveImages()
     saveimages.module_num = 3
     saveimages.image_name.value = "Foo"
     pipeline.add_module(saveimages)
     measureobjectsizeshape = MeasureObjectSizeShape()
     measureobjectsizeshape.module_num = 4
     measureobjectsizeshape.object_groups[0].name.value = "dizzy"
     pipeline.add_module(measureobjectsizeshape)
     pipeline_txt = StringIO()
     pipeline.savetxt(pipeline_txt)
     module_names = json.dumps([SaveImages.module_name])
     message = [
         zmq.Frame(self.session_id),
         zmq.Frame(),
         zmq.Frame(CLEAN_PIPELINE_REQ_1),
         zmq.Frame(pipeline_txt.getvalue()),
         zmq.Frame(module_names),
     ]
     self.socket.send_multipart(message)
     message = self.socket.recv_multipart()
     self.assertEqual(message.pop(0), self.session_id)
     self.assertEqual(message.pop(0), "")
     self.assertEqual(message.pop(0), CLEAN_PIPELINE_REPLY_1)
     pipeline_txt = message.pop(0)
     pipeline = cpp.Pipeline()
     pipeline.loadtxt(StringIO(pipeline_txt))
     self.assertEqual(len(pipeline.modules()), 3)
     self.assertIsInstance(pipeline.modules()[0], LoadImages)
     self.assertIsInstance(pipeline.modules()[1], IdentifyPrimaryObjects)
     self.assertIsInstance(pipeline.modules()[2], MeasureObjectSizeShape)