Giter Club home page Giter Club logo

yst19941129 / riemannian_ajd Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fkalaganis/riemannian_ajd

0.0 0.0 0.0 3.07 MB

The reposity contains code for data generation and method implementation of the manuscript “Revisiting Riemannian Geometry-based EEG decoding through Approximate Joint Diagonalization” submitted in NeuroImage, authored by Fotis P. Kalaganis, Nikos Laskaris, Vangelis P. Oikonomou, Spiros Nikolopoulos and Ioannis Kompatsiaris.

License: Creative Commons Attribution Share Alike 4.0 International

MATLAB 100.00%

riemannian_ajd's Introduction

Riemannian_AJD

The reposity contains code for data generation and method implementation of the manuscript “Revisiting Riemannian Geometry-based EEG decoding through Approximate Joint Diagonalization” submitted in NeuroImage, authored by Fotis P. Kalaganis, Nikos Laskaris, Vangelis P. Oikonomou, Spiros Nikolopoulos and Ioannis Kompatsiaris.

Memo_Riemannian_JD_synthetic_AdvancedCOV:

Contains the code for generating synthetic data. Two kernel dipoles are selected and then the 30-nearest neighbours dipoles are activated by means of increased alpha activity. The rest of dipoles are assigned with pink noise. The same mixing model is applied in both cases. Then the spatial covariance matrices are being calculed and AJD is applied. Topoplots are generated by means of visualizing the leading eigenvector.

Memo_Riemannian_JD_synthetic_TV:

Contains the code for SPD matrix Quantization on synthetic data. Two classes of data are being generated. In the first a diple is activated with alpha energy increasing over time. In the secorn class, the same dipople is activated with decreasing energy over time. The same mixing matrix is applied in both cases and the rest of dipoles are assigned with pink noise. The concept here is to demonstrate that the symbolic timeseries (stemming from the quantization of AJDed spatial coviariance matrices) are capable of capturing, these simple yet subtle, dynamics. Since the colorcoding is based on the Riemannian k-Means algorithm, a re-arrangement of the codebook might be essential so as to match the blue (low energy) to yellow (high energy) hue.

Please note that the provided folders, Created Functions and Dependencied, should be added to matlab's path. In case of usage, please acknowledge the following works accordingly:

  • SPD Toolbox
    • K. You, H.-J. Park, Re-visiting riemannian geometry of symmetric positive definite matrices for the analysis of functional connectivity, NeuroImage 225 (2021) 117464.
  • Synthetic Data Generation
    • M. X. Cohen, A data-driven method to identify frequency boundaries in multichannel electrophysiology data, Journal of Neuroscience Methods 347 (2021) 108949
    • Gramfort, T. Papadopoulo, E. Olivi, M. Clerc, OpenMEEG: open-source software for quasistatic bioelectromagnetics, Biomedical engineering online 9 (1) (2010) 1–20
  • Approximate Joint Diagonalization
    • J.-F. Cardoso, A. Souloumiac, Jacobi angles for simultaneous diagonalization, SIAM journal on matrix analysis and applications 17 (1) (1996) 161–164.
  • Karcher Mean
    • D.A. Bini and B. Iannazzo, "Computing the Karcher mean of symmetric positive definite matrices", Linear Algebra Appl., 438-4 (2013),

We note that the synthetic data generation process is based on random processes. Hence, minor differences may be observed.

riemannian_ajd's People

Contributors

fkalaganis avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.