Beispiel #1
0
    def test_dataMeanDoesNotConsiderTestSet(self):

        train = [
            self.makeImage([10, 20, 40, 80]),
            self.makeImage([20, 40, 40, 60])
        ]
        valid = [
            self.makeImage([10, 20, 40, 80]),
            self.makeImage([20, 40, 40, 60])
        ]
        test = [
            self.makeImage([1000, 2000, 4000, 8000]),
            self.makeImage([2000, 4000, 4000, 6000])
        ]

        dataset = (train, valid, test)
        classesNames = ['myname']
        classes = [0]

        expected = {}
        expected['num_vis'] = 4
        expected['data_shape'] = self.data_shape
        expected['data_in_rows'] = True
        expected['label_names'] = classesNames
        expected['data_mean'] = arrayEqualsTo(
            numpy.asarray([15, 30, 40, 70]).reshape(-1, 1))

        self.assertEqual(expected,
                         self.target.build(dataset, classes, classesNames))
Beispiel #2
0
    def test_ReadImageSwapBGR_to_RGB(self):
        #openCV uses BGR order instead of RGB
        mockCv = Mock()
        imageFactory = Mock()
        fileSystem = Mock()

        fileSystem.joinPath.return_value = 'somefolder/somefile.jpg'

        original = numpy.zeros((2, 2, 3))
        original[:, :, 2] = [[0, 1], [2, 3]]
        original[:, :, 1] = [[4, 5], [6, 7]]
        original[:, :, 0] = [[8, 9], [10, 11]]

        expected = numpy.zeros((2, 2, 3))
        expected[:, :, 0] = [[0, 1], [2, 3]]
        expected[:, :, 1] = [[4, 5], [6, 7]]
        expected[:, :, 2] = [[8, 9], [10, 11]]

        mockCv.imread = Mock()
        mockCv.imread.return_value = original
        target = OpenCVImgReader(imageFactory=imageFactory,
                                 fileSystem=fileSystem,
                                 openCV=mockCv)

        target.read('somefolder', 'somefile.jpg')

        fileSystem.joinPath.assert_called_with('somefolder', 'somefile.jpg')
        mockCv.imread.assert_called_with('somefolder/somefile.jpg')
        imageFactory.create.assert_called_with(arrayEqualsTo(expected),
                                               'somefile.jpg')
	def test_singleImage(self):
		image = self.makeImage(numpy.arange(12), 0, 'file.jpg')
		classes = [0]
		
		expected = {}
		expected['data'] = arrayEqualsTo(numpy.arange(12).reshape(-1,1))
		expected['labels'] = [0]
		expected['filenames'] = ['file.jpg']
		
		target = SingleBatchBuilder()
		
		self.assertEqual(expected,target.build([image], classes)) 
	def test_multipleLabels(self):
		image1 = self.makeImage(numpy.ones(12)*1, 0, 'file1.jpg')
		image2 = self.makeImage(numpy.ones(12)*2, 3, 'file2.jpg')
		image3 = self.makeImage(numpy.ones(12)*3, 5, 'file3.jpg')
		classes = [0,3,5]
		
		expected = {}
		data = numpy.asarray([numpy.ones(12), numpy.ones(12)*2, numpy.ones(12)*3]).T
		expected['data'] = arrayEqualsTo(data)
		expected['labels'] = [0,1,2]
		expected['filenames'] = ['file1.jpg','file2.jpg','file3.jpg']
		
		target = SingleBatchBuilder()
		
		result = target.build([image1, image2, image3], classes)		
		self.assertEqual(expected,result) 
    def test_OnlySelectedClassesAreStored(self):
        
        train = self.makeZeroedImages(qty=2, size=4)
        valid = self.makeZeroedImages(qty=2, size=4)
        test = self.makeZeroedImages(qty=2, size=4)
        
        dataset = (train, valid, test)
        classesNames = ['class0', 'class1', 'class2', 'class3']
        classes = [2,1]
        
        expected = {}
        expected['num_vis'] = 4
        expected['data_in_rows']  = True
        expected['data_shape'] = self.data_shape
        expected['label_names'] = ['class2', 'class1']
        expected['data_mean'] = arrayEqualsTo(numpy.zeros(4).reshape(-1,1))

        self.assertEqual(expected, self.target.build(dataset, classes, classesNames))
Beispiel #6
0
    def test_OnlySelectedClassesAreStored(self):

        train = self.makeZeroedImages(qty=2, size=4)
        valid = self.makeZeroedImages(qty=2, size=4)
        test = self.makeZeroedImages(qty=2, size=4)

        dataset = (train, valid, test)
        classesNames = ['class0', 'class1', 'class2', 'class3']
        classes = [2, 1]

        expected = {}
        expected['num_vis'] = 4
        expected['data_in_rows'] = True
        expected['data_shape'] = self.data_shape
        expected['label_names'] = ['class2', 'class1']
        expected['data_mean'] = arrayEqualsTo(numpy.zeros(4).reshape(-1, 1))

        self.assertEqual(expected,
                         self.target.build(dataset, classes, classesNames))
    def test_dataMeanDoesNotConsiderTestSet(self):
        
        train = [self.makeImage([10, 20, 40, 80]),
                   self.makeImage([20, 40, 40, 60])]
        valid = [self.makeImage([10, 20, 40, 80]),
                   self.makeImage([20, 40, 40, 60])]
        test = [self.makeImage([1000, 2000, 4000, 8000]),
                   self.makeImage([2000, 4000, 4000, 6000])]
        
        dataset = (train, valid, test)
        classesNames = ['myname']
        classes = [0]
        
        expected = {}
        expected['num_vis'] = 4
        expected['data_shape'] = self.data_shape
        expected['data_in_rows']  = True
        expected['label_names'] = classesNames
        expected['data_mean'] = arrayEqualsTo(numpy.asarray([15, 30, 40, 70]).reshape(-1,1))

        self.assertEqual(expected, self.target.build(dataset, classes, classesNames))