Skip to contents

Calculates a matrix of Riemannian distances (Log-Euclidean metric) between subjects, based on specified SPD matrix representations derived from the HATSA object (e.g., covariance of aligned coefficients or various FC matrices).

Usage

riemannian_distance_matrix_spd(object, ...)

# S3 method for class 'hatsa_projector'
riemannian_distance_matrix_spd(
  object,
  type = "cov_coeffs",
  subject_data_list = NULL,
  spd_regularize_epsilon = 1e-06,
  k_conn_params = NULL,
  ...
)

Arguments

object

A `hatsa_projector` or `task_hatsa_projector` object, or directly a list of SPD matrices.

...

Additional arguments passed to `riemannian_distance_spd` or to `get_spd_representations` if used.

type

Character string indicating the type of SPD representation to use. Commonly `"cov_coeffs"` (default) for the `k x k` covariance of aligned spectral coefficients. Other types (e.g., `"fc_conn"`, `"fc_task"`) would rely on `get_spd_representations` (from RGEOM-003) to provide the SPD matrices.

subject_data_list

Optional. A list of subject time-series matrices (T_i x V_p). May be needed by `get_spd_representations` for certain `type` values.

spd_regularize_epsilon

Epsilon for regularizing SPD matrices.

k_conn_params

Parameters for connectivity calculation if type involves FC, passed to `get_spd_representations`.

Value

A symmetric `N_subjects x N_subjects` matrix of pairwise Riemannian distances. Diagonal will be zero. `NA` if a distance cannot be computed.