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)
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
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))
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))
def test_distance_logeuclid(): """Test logeuclid distance""" A = 2*np.eye(3) B = 2*np.eye(3) assert_equal(distance_logeuclid(A, B), 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))
def test_distance_logeuclid(): """Test logeuclid distance""" A = 2 * np.eye(3) B = 2 * np.eye(3) assert_equal(distance_logeuclid(A, B), 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))
def test_distance_logeuclid(): """Test logeuclid distance""" A = 2 * np.eye(3) B = 2 * np.eye(3) assert distance_logeuclid(A, B) == 0