def ZScoreNormalization(X, axes=(0,1), scorer=None):
    """Applies Z-Score Normalization over a multispectral image"""
    if not scorer:
        u = X.mean(axis=axes)
        std = X.std(axis=axes)
        scorer = lambda arr: (arr - u) / std
    X_norm = scorer(X)
    return X_norm, scorer