Help on implementation of multivariate connectivity methods

Hi everybody,

I've posted this question in Github, but as suggested it is better here.

We want to implement some multivariate connectivity metrics to be included in BST, such as MIM and MPSI. These metrics need as input a matrix of the form n_sources x n_timepoints or (3x)n_sources x n_timepoints, in which the n_sources can be the number of sources contained in a scout.
So, we need to extract signals from scouts without any flattening methods (e.g. PCA, mean etc.) or at least running a PCA with a number of components > 1.
Is there the possibility to use some build-in function to extract the signals from the scouts without merging and flattening them (we can do the PCA afterwards)?


Hello Roberto,

Yes, you can use the process "Extract > Scout time series" with the 'all' scout function.
The resulting structure will have a Description field where each signal is identified by Scout.Vertex#.Dim#, e.g. A1L.3267.1, the last number is 1,2,3 for x,y,z for unconstrained sources.

Another more involved option would be to use the source file (time series or inverse kernel) and atlas information from the cortex surface file, which contains the information on which vertex is part of which scout. It would avoid saving the scout time series, but not as straightforward to implement.