def test_gen_gather_local_max(): ''' Test the code for local maximum calculation. ''' from planarity.reference import _gather_local_max rows, cols = 32, 64 image = gen_random_image(rows, cols) f = gen_filter() ref_res = _gather_local_max(image, f) test_res, sim = run_codegen_function(image, gen_gather_local_max, block_size, {'filter':f}, 1) assert ref_res == test_res
def test_local_max(): ''' Test local maximum calculation correctness. ''' input_data = [ [1, 2, 3, 4], [-1, 0, 2, 5], [4, 6, 2, 1]] mask = [[False, False, True], [False, False, False], [False, True, False]] ref_res = [ [0, 0, 2, 5], [4, 6, 4, 1], [0, 2, 5, 0]] # zero padding of max operation class FakeFilter(object): def __init__(self, mask): self.mask = mask def size(self): return (len(self.mask), len(self.mask[0])) test_res = _gather_local_max(input_data, FakeFilter(mask)) assert ref_res == test_res