def test_AllImagesFromSampeSampleAreGrouped(self): itemlist = [] samples = [("bark_00", 0), ("bark_01", 0), ("bark_02", 0), ("beans_01", 1), ("beans_02", 1), ("beans_03", 1)] for sample in samples: sampleID = sample[0] sampleClass = sample[1] itemlist.append( [imageNamed(sampleClass, "%s_%s.png" % (sampleID, imgType)) for imgType in ["o", "r", "rs", "s"]] ) items = self.joinLists(itemlist) numpy.random.shuffle(items) target = SampleGroupingDatasetSplitter(self.getNumberFunction) result = target.split(items, [0.3, 0.3, 0.4]) totalAfterSplit = self.joinLists(result) self.assertEqual(sorted(totalAfterSplit), sorted(items)) for sample in samples: sampleID = sample[0] self.assertSamplesAreInOnlyOneSet( ["%s_%s.png" % (sampleID, imgType) for imgType in ["o", "r", "rs", "s"]], result )
def test_AllImagesFromSampeSampleAreGrouped(self): itemlist = [] samples = [("bark_00", 0), ("bark_01", 0), ("bark_02", 0), ("beans_01", 1), ("beans_02", 1), ("beans_03", 1)] for sample in samples: sampleID = sample[0] sampleClass = sample[1] itemlist.append([ imageNamed(sampleClass, "%s_%s.png" % (sampleID, imgType)) for imgType in ["o", "r", "rs", "s"] ]) items = self.joinLists(itemlist) numpy.random.shuffle(items) target = SampleGroupingDatasetSplitter(self.getNumberFunction) result = target.split(items, [.3, .3, .4]) totalAfterSplit = self.joinLists(result) self.assertEqual(sorted(totalAfterSplit), sorted(items)) for sample in samples: sampleID = sample[0] self.assertSamplesAreInOnlyOneSet([ "%s_%s.png" % (sampleID, imgType) for imgType in ["o", "r", "rs", "s"] ], result)
def test_SplitsImages(self): items = [imageNamed(0, "bark_01_o.bmp"), imageNamed(0, "bark_02_o.bmp"), imageNamed(0, "bark_03_o.bmp")] target = SampleGroupingDatasetSplitter(self.getNumberFunction) result = target.split(items, [0.6, 0.2, 0.2]) self.assertEquals(sorted(self.joinLists(result)), sorted(items)) for d in result: self.assertEquals(1, len(d))
def test_SplitsImages(self): items = [ imageNamed(0, "bark_01_o.bmp"), imageNamed(0, "bark_02_o.bmp"), imageNamed(0, "bark_03_o.bmp") ] target = SampleGroupingDatasetSplitter(self.getNumberFunction) result = target.split(items, [.6, .2, .2]) self.assertEquals(sorted(self.joinLists(result)), sorted(items)) for d in result: self.assertEquals(1, len(d))
def GroupingSplit(GetSampleNumberFunction = None): if GetSampleNumberFunction is None: GetSampleNumberFunction = GetSampleNumberFromFilename() return SampleGroupingDatasetSplitter(GetSampleNumberFunction)
def CreateWithSampleGroupingSplitter(imageSource, preprocessor = None, GetSampleNumberFunction = None): if GetSampleNumberFunction is None: GetSampleNumberFunction = GetSampleNumberFromFilename() return DatasetCreator(imageSource = imageSource, datasetSplitter = SampleGroupingDatasetSplitter(GetSampleNumberFunction), preprocessor = preprocessor)