Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error: The ROI time-course matrix is not full rank #6

Open
pauldhami opened this issue Aug 25, 2021 · 4 comments
Open

Error: The ROI time-course matrix is not full rank #6

pauldhami opened this issue Aug 25, 2021 · 4 comments

Comments

@pauldhami
Copy link

pauldhami commented Aug 25, 2021

Dear OBHA Team,

I have an EEG resting state dataset of approximately 200 participants.

I am using the HMM-MAR toolbox, and I am trying to perform orthogonalization on my EEG signal using the method of Colclough et al. (2015). However, I am running into this error regarding my data being rank deficient.

`Error using ROInets.closest_orthogonal_matrix (line 70)
The ROI time-course matrix is not full rank.
    This prevents you from using an all-to-all orthogonalisation method.
    Your data have rank 45, and you are looking at 68 ROIs.
    You could try reducing the number of ROIs, or using an alternative orthogonalisation method.


Error in leakcorr (line 31)
        data = ROInets.closest_orthogonal_matrix(data);

Error in loadfile (line 43)
    X = leakcorr(X,T,options.leakagecorr);

Error in checkoptions (line 253)
    X = loadfile(data{1},T{1},options);

Error in hmmmar (line 86)
[options,data] = checkoptions(options,data,T,0);`

I am using Brainstorm to perform the actual LCMV beamforming, then extract the ROIs using the D-K atlas. Running rank on each participant's dataset leads me to find that none of the files have full rank. Is this common? Or is something wrong on my source reconstruction side of things?

I was hoping for some suggestions as to figure exactly where the problem is with my data.

Thank you in advance,
Paul

@neurofractal
Copy link

Hi Paul,

As the error states, the rank of your data is lower than the number of ROIs.

Also see Colclough et al., (2015)

"This orthogonalisation process to find corrected time-coursesP by definition removes all correlations between ROIs at zero phase lag. Any remaining correlations between the band-limited power envelopes of these orthogonalised time-courses are thought to represent true biological dependencies (at the expense of true zero-phase-lag connectivity) Brookes etal. (2012a), Hipp etal. (2012), Luckhoo etal. (2012). Our approach is limited by the rank of the data: we cannot correct more ROIs than we have dimensions in Z as there is no longer a unique solution to (5)."

You could try a lower-dimenstional atlas, like the one used in Colclough, G. L., Woolrich, M. W., Tewarie, P. K., Brookes, M. J., Quinn, A. J., & Smith, S. M. (2016). How reliable are MEG resting-state connectivity metrics?. Neuroimage, 138, 284-293, or simply ignore this step (but potentially have issues with correlated sources).

Hope this helps.

@pauldhami
Copy link
Author

Thank you very much for your insight! It does indeed help.

If I may ask, each of my participants have different rank values (with none being full). Is this typical of source reconstruction, or is there something wrong on my end?

Thank you again,
Paul

@neurofractal
Copy link

neurofractal commented Aug 25, 2021 via email

@pauldhami
Copy link
Author

Yes, that is correct! Assuming I would like to use this orthogonalization procedure on my EEG data, does that mean I would have to use an atlas that has a number of parcels that is equal to the lowest rank value of my subject sample data?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants