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
            )
Esempio n. 2
0
    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))
Esempio n. 4
0
    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))
Esempio n. 5
0
def GroupingSplit(GetSampleNumberFunction = None):
    if GetSampleNumberFunction is None:
        GetSampleNumberFunction = GetSampleNumberFromFilename()

    return SampleGroupingDatasetSplitter(GetSampleNumberFunction)
Esempio n. 6
0
    def CreateWithSampleGroupingSplitter(imageSource, preprocessor = None, GetSampleNumberFunction = None):
        if GetSampleNumberFunction is None:
            GetSampleNumberFunction = GetSampleNumberFromFilename()
        return DatasetCreator(imageSource = imageSource,
                              datasetSplitter = SampleGroupingDatasetSplitter(GetSampleNumberFunction),
							  preprocessor = preprocessor)