import numpy as np def pearsonr_score( y_true: np.ndarray, y_pred: np.ndarray, eps: float = 1e-7 ) -> np.ndarray: assert y_true.ndim == y_pred.ndim == 2 y_true = y_true - y_true.mean(axis=0) y_true = y_true / (np.linalg.norm(y_true, axis=0) + eps) y_pred = y_pred - y_pred.mean(axis=0) y_pred = y_pred / (np.linalg.norm(y_pred, axis=0) + eps) score = (y_true * y_pred).sum(axis=0) return score def functional_matrix(): pass # TODO: def psd_error(): """Power Spectral Density error metric for comparing temporal dynamics of predicted vs true fmri signals. TODO: """ pass