def CreateWithImageReader(imageReader, sourceFolder, log = False, loadOnlyClasses = None, getLabelFunction = None):
     if getLabelFunction is None:
         getLabelFunction = GetLabelFromFirstChars(nChars=2)
     imageDataSource =  ImageDataSource(fileSystem = FileSystem(),
                           imageReader = imageReader,
                           sourceFolder = sourceFolder)
                           
     if log:
         imageDataSource.setLogger(TextLogger())
     if loadOnlyClasses is not None:
         imageDataSource.setFilenamePredicate(LabelInFilenamePredicate(getLabelFunction, loadOnlyClasses))
     return imageDataSource
 def test_appliesFilter_ifFilterInformed(self):
     predicate = lambda x: x in ['file.jpg', 'file3.jpg']
     self.fileSystem.listDir.return_value = ['file.jpg', 'file2.jpg', 'file3.jpg']
     self.fileSystem.isFile.return_value = True 
     self.imageReader.read.return_value = Mock()
     
     target = ImageDataSource(fileSystem = self.fileSystem, 
                              imageReader = self.imageReader, 
                              sourceFolder = self.sourceFolder)
     target.setFilenamePredicate(predicate)
     target.load()
     
     self.imageReader.read.assert_has_calls([call(self.sourceFolder,'file.jpg'), call(self.sourceFolder,'file3.jpg')])
     self.assertEqual(len(self.imageReader.read.call_args_list), 2)
Esempio n. 3
0
    def CreateWithImageReader(imageReader,
                              sourceFolder,
                              log=False,
                              loadOnlyClasses=None,
                              getLabelFunction=None):
        if getLabelFunction is None:
            getLabelFunction = GetLabelFromFirstChars(nChars=2)
        imageDataSource = ImageDataSource(fileSystem=FileSystem(),
                                          imageReader=imageReader,
                                          sourceFolder=sourceFolder)

        if log:
            imageDataSource.setLogger(TextLogger())
        if loadOnlyClasses is not None:
            imageDataSource.setFilenamePredicate(
                LabelInFilenamePredicate(getLabelFunction, loadOnlyClasses))
        return imageDataSource
Esempio n. 4
0
    def test_appliesFilter_ifFilterInformed(self):
        predicate = lambda x: x in ['file.jpg', 'file3.jpg']
        self.fileSystem.listDir.return_value = [
            'file.jpg', 'file2.jpg', 'file3.jpg'
        ]
        self.fileSystem.isFile.return_value = True
        self.imageReader.read.return_value = Mock()

        target = ImageDataSource(fileSystem=self.fileSystem,
                                 imageReader=self.imageReader,
                                 sourceFolder=self.sourceFolder)
        target.setFilenamePredicate(predicate)
        target.load()

        self.imageReader.read.assert_has_calls([
            call(self.sourceFolder, 'file.jpg'),
            call(self.sourceFolder, 'file3.jpg')
        ])
        self.assertEqual(len(self.imageReader.read.call_args_list), 2)