def _compute_gamma_auto(self, X_train):
     # mu = mean_riemann(X_train)
     mu = mean_logeuclid(X_train)
     sigma = 0
     for matrix in X_train:
         sigma += np.power(distance_logeuclid(matrix, mu), self.p)
     self.gamma = len(X_train) / sigma
def wrapper_distance_logeuclid(A, B, args):
    """
        A wrapper for pyriemann.utils.distance.distance_logeuclid to handle  I/O with
        regards to reducing samples classes.

        For function doc refer to the doc of pyriemann.utils.mean.distance_logeuclid.
    """
    return distance_logeuclid(A, B)
Пример #3
0
def cal_riemann_distance(X, Cmean, rType):

    # find the distance of the covariances in X with the average covariance Cmean
    # two options to use: rType == riem or rType == log-eucl

    num_trials = np.size(X, axis=0)

    output = np.zeros((num_trials, 1))

    if rType == 'riem':
        for ik in range(num_trials):
            output[ik] = dst.distance_riemann(X[ik], Cmean)
    elif rType == 'log-eucl':
        for ik in range(num_trials):
            output[ik] = dst.distance_logeuclid(X[ik], Cmean)

    return output
Пример #4
0
def test_distance_generic_custom():
    """Test custom distance for generic function"""
    A = 2*np.eye(3)
    B = 2*np.eye(3)
    assert_equal(distance(A, B, metric=distance_logeuclid),
                 distance_logeuclid(A, B))
Пример #5
0
def test_distance_generic_logeuclid():
    """Test logeuclid distance for generic function"""
    A = 2*np.eye(3)
    B = 2*np.eye(3)
    assert_equal(distance(A, B, metric='logeuclid'), distance_logeuclid(A, B))
Пример #6
0
def test_distance_logeuclid():
    """Test logeuclid distance"""
    A = 2*np.eye(3)
    B = 2*np.eye(3)
    assert_equal(distance_logeuclid(A, B), 0)
Пример #7
0
def test_distance_generic_logeuclid():
    """Test logeuclid distance for generic function"""
    A = 2 * np.eye(3)
    B = 2 * np.eye(3)
    assert_equal(distance(A, B, metric='logeuclid'), distance_logeuclid(A, B))
Пример #8
0
def test_distance_logeuclid():
    """Test logeuclid distance"""
    A = 2 * np.eye(3)
    B = 2 * np.eye(3)
    assert_equal(distance_logeuclid(A, B), 0)
Пример #9
0
def test_distance_generic_custom():
    """Test custom distance for generic function"""
    A = 2 * np.eye(3)
    B = 2 * np.eye(3)
    assert_equal(distance(A, B, metric=distance_logeuclid),
                 distance_logeuclid(A, B))
Пример #10
0
def test_distance_logeuclid():
    """Test logeuclid distance"""
    A = 2 * np.eye(3)
    B = 2 * np.eye(3)
    assert distance_logeuclid(A, B) == 0