def __init__(self, template, shrinkage='oas', center=True): SpatialFilter.__init__(self, 1) self.template = template self.template = np.asarray(template).flatten()[:, np.newaxis] self.center = center if center: self.template -= self.template.mean() if shrinkage == 'oas': self.cov = OAS elif shrinkage == 'lw': self.cov = LedoitWolf elif shrinkage == 'none': self.cov = EmpiricalCovariance elif type(shrinkage) == float or type(shrinkage) == int: self.cov = ShrunkCovariance(shrinkage=shrinkage)
def apply_(self, d): if self.center: d = DataSet(d.data - d.data.mean(axis=0), default=d) d = baseline(d) return SpatialFilter.apply_(self, d)