

def __sub__(self, other):
    if isinstance(other, BiHemiLabel):
        if (self.hemi == 'lh'):
            return (self - other.lh)
        else:
            return (self - other.rh)
    elif isinstance(other, Label):
        if (self.subject != other.subject):
            raise ValueError(('Label subject parameters must match, got "%s" and "%s". Consider setting the subject parameter on initialization, or setting label.subject manually before combining labels.' % (self.subject, other.subject)))
    else:
        raise TypeError(('Need: Label or BiHemiLabel. Got: %r' % other))
    if (self.hemi == other.hemi):
        keep = in1d(self.vertices, other.vertices, True, invert=True)
    else:
        keep = np.arange(len(self.vertices))
    name = ('%s - %s' % ((self.name or 'unnamed'), (other.name or 'unnamed')))
    return Label(self.vertices[keep], self.pos[keep], self.values[keep], self.hemi, self.comment, name, None, self.subject, self.color, self.verbose)

dataset/ETHPy150Open mne-tools/mne-python/mne/label.py Label.__sub__/original