

def _griddata(x, y, v, xi, yi):
    'Aux function'
    xy = (x.ravel() + (y.ravel() * (- 1j)))
    d = (xy[None, :] * np.ones((len(xy), 1)))
    d = np.abs((d - d.T))
    n = d.shape[0]
    d.flat[::(n + 1)] = 1.0
    g = ((d * m) * (np.log(d) - 1.0))
    g.flat[::(n + 1)] = 0.0
    weights = linalg.solve(g, v.ravel())
    (m, n) = xi.shape
    zi = np.zeros_like(xi)
    xy = xy.T
    g = np.empty(xy.shape)
    for i in range(m):
        for j in range(n):
            d = np.abs(((xi[(i, j)] + ((- 1j) * yi[(i, j)])) - xy))
            mask = np.where((d == 0))[0]
            if len(mask):
                d[mask] = 1.0
            np.log(d, out=g)
            g -= 1.0
            g *= (d * d)
            if len(mask):
                g[mask] = 0.0
            zi[(i, j)] = g.dot(weights)
    return zi

dataset/ETHPy150Open mne-tools/mne-python/mne/viz/topomap.py _griddata/VarMisuse@113/121 `d`->`m`