def getGridPopPartition(R, M, K):
    P = []
    for i in range(M):
        for j in range(M):
            P.append(R[:, (i * K):((i * K) + K), (j * K):((j * K) + K), :])
    return np.array(P)
def getGridPopPartition(R, M, K):
    P = []
    for i in range(M):
        for j in range(M):
            P.append(R[:, (i * K):((i * K) + K), (j * K):((j * K) + K), :])
    return np.array(P)