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))
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))