functional_connectivity#
- class brainpy.measure.functional_connectivity(activities)#
Compute functional connectivity matrix from time series data.
Calculates the pairwise Pearson correlation coefficients between all pairs of signals to create a functional connectivity matrix. This is commonly used in neuroscience to assess statistical dependencies between different brain regions or neurons.
- Parameters:
activities (
brainstate.typing.ArrayLike) – Time series data with shape(num_time, num_signals)where each column represents a different signal/neuron/region.- Returns:
Functional connectivity matrix with shape
(num_signals, num_signals). Element (i,j) represents the correlation between signals i and j. Diagonal elements are 1.0. NaN values are replaced with 0.0.- Return type:
brainstate.typing.ArrayLike
Examples
>>> import jax.numpy as jnp >>> import brainstate >>> import braintools >>> t = jnp.linspace(0, 10, 100) >>> sig1 = jnp.sin(t) + 0.1 * brainstate.random.normal(size=100) >>> sig2 = jnp.sin(t + 0.2) + 0.1 * brainstate.random.normal(size=100) >>> activities = jnp.column_stack([sig1, sig2]) >>> fc_matrix = braintools.metric.functional_connectivity(activities) >>> fc_matrix.shape (2, 2)
Notes
The function uses
jnp.corrcoefinternally and handles NaN values by replacing them with 0.0 usingjnp.nan_to_num.For very short time series, correlations may be unreliable due to insufficient data points. Consider using longer recordings or smoothing techniques for more stable estimates.
See also
functional_connectivity_dynamicsTime-varying connectivity analysis
matrix_correlationCorrelation between connectivity matrices