Efesasa0/smooth
0
1import numpy as np2 3def circular_kernel(r):4 kernel = np.zeros((r*2+1, r*2+1))5 for row in range(kernel.shape[0]):6 for col in range(kernel.shape[1]):7 x, y = col,(r*2)-row8 if r**2>= (x-r)**2+(y-r)**2:9 kernel[row][col] = 110 return kernel11 12def circular_kernel_pair(r_a, factor):13 m = circular_kernel(r_a)14 r_i = r_a//factor15 n = circular_kernel(r_i)16 17 m[r_a-r_i:r_a+1+r_i, r_a-r_i:r_a+1+r_i] -= n18 n[r_i, r_i] = 019 m[r_a, r_a] = 020 return (m, n)