Compute Riemannian Dispersion of SPD Matrices on the Manifold
Source:R/riemannian_methods_hatsa.R
riemannian_dispersion_spd.Rd
Calculates the dispersion of a set of SPD matrices around their Fréchet mean using the Riemannian (Log-Euclidean by default) distance.
Usage
riemannian_dispersion_spd(object, ...)
# S3 method for class 'hatsa_projector'
riemannian_dispersion_spd(
object,
type = "cov_coeffs",
subject_data_list = NULL,
use_geometric_median = FALSE,
k_conn_params = NULL,
spd_regularize_epsilon = 1e-06,
verbose = FALSE,
...
)
# S3 method for class 'list'
riemannian_dispersion_spd(
object,
use_geometric_median = FALSE,
spd_regularize_epsilon = 1e-06,
verbose = FALSE,
...
)
Arguments
- object
A `hatsa_projector` or `task_hatsa_projector` object.
- ...
Additional arguments passed to `frechet_mean_spd`, `riemannian_distance_spd` or `get_spd_representations`.
- type
Character string, either `"cov_coeffs"` (default) or others like `"fc_conn"`, `"fc_task"` (relying on RGEOM-003 `get_spd_representations`). Specifies which matrices to compute dispersion for.
- subject_data_list
Optional, may be needed by `get_spd_representations`.
- use_geometric_median
Logical, if TRUE, attempts to use AIRM Fréchet mean (via `shapes::mediancov` if available, or iterative Log-Euclidean if not). If FALSE (default), uses iterative Log-Euclidean Fréchet mean.
- k_conn_params
Parameters for connectivity if type involves FC.
- spd_regularize_epsilon
Epsilon for regularizing SPD matrices.
- verbose
Logical, controls verbose output during calculations.