

def _make_image_mask(outlines, pos, res):
    'Aux function\n    '
    mask_ = np.c_[outlines['mask_pos']]
    (xmin, xmax) = (np.min(np.r_[(np.inf, mask_[:, 0])]), np.max(np.r_[((- np.inf), mask_[:, 0])]))
    (ymin, ymax) = (np.min(np.r_[(np.inf, mask_[:, 1])]), np.max(np.r_[((- np.inf), mask_[:, 1])]))
    if (outlines.get('autoshrink', False) is not False):
        inside = _inside_contour(pos, mask_)
        outside = np.invert(inside)
        outlier_points = pos[outside]
        while np.any(outlier_points):
            pos *= 0.99
            inside = _inside_contour(pos, mask_)
            outside = np.invert(inside)
            outlier_points = pos[outside]
    image_mask = np.zeros((res, res), dtype=bool)
    xi_mask = np.linspace(xmin, xmax, res)
    yi_mask = np.linspace(ymin, ymax, res)
    (Xi_mask, Yi_mask) = np.meshgrid(xi_mask, yi_mask)
    pos_ = np.c_[(Xi_mask.flatten(), Yi_mask.flatten())]
    inds = _inside_contour(pos_, mask_)
    image_mask[inds.reshape(image_mask.shape)] = True
    return (image_mask, pos)

dataset/ETHPy150Open mne-tools/mne-python/mne/viz/topomap.py _make_image_mask/original