def transform(self, X: np.ndarray):
    '[compute the exponientially weighted centered power of X]\n\n        Args:\n            X (np.ndarray): [description]\n\n        Returns:\n            [type]: [description]\n        '
    if (self.sX is None):
        return self.fit(X)
    if (self.car and (X.shape[(- 1)] > 4)):
        ch_power = self.power()
        act_ch = (ch_power > (np.max(ch_power) * 0.001))
        X = (X.copy() - np.mean(X[(..., act_ch)], (- 1), keepdims=True))
    alpha_mu = (self.alpha_mu ** X.shape[0])
    self.sX_N = ((self.sX_N * alpha_mu) + X.shape[0])
    self.sX = ((self.sX * alpha_mu) + np.sum(X, axis=0))
    alpha_pow = (self.alpha_power ** X.shape[0])
    self.sXX_N = ((self.sXX_N * alpha_pow) + X.shape[0])
    self.sXX = ((self.sXX * alpha_pow) + np.sum(((X - (self.sX / self.sX_N)) ** 2), axis=0))
    return self.power()
[compute the exponientially weighted centered power of X]

Args:
    X (np.ndarray): [description]

Returns:
    [type]: [description]
def transform(self, X: np.ndarray):
    '[compute the exponientially weighted centered power of X]\n\n        Args:\n            X (np.ndarray): [description]\n\n        Returns:\n            [type]: [description]\n        '
    if (self.sX is None):
        return self.fit(X)
    if (self.car and (X.shape[(- 1)] > 4)):
        ch_power = self.power()
        act_ch = (ch_power > (np.max(ch_power) * 0.001))
        X = (X.copy() - np.mean(X[(..., act_ch)], (- 1), keepdims=True))
    alpha_mu = (self.alpha_mu ** X.shape[0])
    self.sX_N = ((self.sX_N * alpha_mu) + X.shape[0])
    self.sX = ((self.sX * alpha_mu) + np.sum(X, axis=0))
    alpha_pow = (self.alpha_power ** X.shape[0])
    self.sXX_N = ((self.sXX_N * alpha_pow) + X.shape[0])
    self.sXX = ((self.sXX * alpha_pow) + np.sum(((X - (self.sX / self.sX_N)) ** 2), axis=0))
    return self.power()