Пример #1
0
    def test_overlap_merger_thresholds(self):
        """
        (BlockMerger) overlap merger, varying thresholds
        """
        # center circle, 8 neighbors, padding 3
        sources, keys, mask = self.generateSources(padding=3)

        # low threshold, all merged
        alg = OverlapBlockMerger(overlap=0.1)
        m = alg.merge(sources, keys)
        assert(m.count == 1)
        assert(array_equal(m[0].mask((30, 30)), mask))

        # high threshold, none merged
        alg = OverlapBlockMerger(overlap=0.5)
        m = alg.merge(sources, keys)
        assert(m.count == 9)
        assert(array_equal(m.masks((30, 30)), mask))

        # center circle, 8 neighbors, padding 5
        # higher threshold, still all merged
        sources, keys, mask = self.generateSources(padding=5)
        alg = OverlapBlockMerger(overlap=0.2)
        m = alg.merge(sources, keys)
        assert(m.count == 1)
        assert(array_equal(m[0].mask((30, 30)), mask))
Пример #2
0
    def test_overlap_merger(self):
        """
        (BlockMerger) overlap merger
        """
        # center circle, 8 neighbors, padding 7
        sources, keys, mask = self.generateSources(padding=7)
        alg = OverlapBlockMerger(overlap=0.5)
        m = alg.merge(sources, keys)
        assert(m.count == 1)
        assert(array_equal(m[0].mask((30, 30)), mask))

        # left center
        sources, keys, mask = self.generateSources(center=(15, 5), padding=7)
        alg = OverlapBlockMerger(overlap=0.5)
        m = alg.merge(sources, keys)
        assert(m.count == 1)
        assert(array_equal(m[0].mask((30, 30)), mask))

        # right center
        sources, keys, mask = self.generateSources(center=(15, 24), padding=7)
        alg = OverlapBlockMerger(overlap=0.5)
        m = alg.merge(sources, keys)
        assert(m.count == 1)
        assert(array_equal(m[0].mask((30, 30)), mask))