Skip to content

CXC2001/UnfoldDecode.jl

 
 

Repository files navigation

logo_UnfoldDecode jl_120px

Dev Build Status Coverage

rERP EEG visualisation EEG Simulations BIDS pipeline Decode EEG data Statistical testing

Beta-stage toolbox to decode ERPs with overlap, e.g. from eye-tracking experiments.

Warning

No unit-tests implemented as of 2024-01-09 - use at your own risk!

Currently the following algorithms are implemented:

¹ actually any MLJ supported classification/regression model is already supported (beta)

Install

Julia

Click to expand

The recommended way to install julia is juliaup. It allows you to, e.g., easily update Julia at a later point, but also test out alpha/beta versions etc.

TL:DR; If you dont want to read the explicit instructions, just copy the following command

Windows

AppStore -> JuliaUp, or winget install julia -s msstore in CMD

Mac & Linux

curl -fsSL https://install.julialang.org | sh in any shell

UnfoldDecode

Not yet registered thus you have to do:

using Pkg
Pkg.add(url="https://github.com/unfoldtoolbox/UnfoldDecode.jl")
using UnfoldDecode

once it is registered, this will simplify to Pkg.add("UnfoldDecode")

Quickstart

LDA = @load LDA pkg=MultivariateStats

des = Dict("fixation" => (@formula(0~1+condition+continuous),firbasis((-0.1,1.),100)));
uf_lda = fit(UnfoldDecodingModel,des,evt,dat,LDA(),"fixation"=>:condition)

Does the trick - you should probably do an Unfold.jl tutorial first though!

Loading Data

have a look at PyMNE.jl to read the data. You need a data-matrix + DataFrames.jl event table (similar to EEGlabs EEG.events)

Limitations

  • Not thoroughly tested, no unit-tests yet!
  • Missing features: e.g. No time generalization is available, but straight forward to implement with the current tooling.

Contributions

Contributions are very welcome. These could be typos, bugreports, feature-requests, speed-optimization, new solvers, better code, better documentation.

How-to Contribute

You are very welcome to raise issues and start pull requests!

Adding Documentation

  1. We recommend to write a Literate.jl document and place it in docs/literate/FOLDER/FILENAME.jl with FOLDER being HowTo, Explanation, Tutorial or Reference (recommended reading on the 4 categories).
  2. Literate.jl converts the .jl file to a .md automatically and places it in docs/src/generated/FOLDER/FILENAME.md.
  3. Edit make.jl with a reference to docs/src/generated/FOLDER/FILENAME.md.

Citation

If you use this code, please cite this code + the appropriate paper/algorithm

Acknowledgements

Funded by Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under Germany´s Excellence Strategy – EXC 2075 – 390740016

Contributions

This project follows the all-contributors specification.

Contributions of any kind welcome! You can find the emoji key for the contributors here.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Julia 79.9%
  • MATLAB 17.4%
  • Python 2.7%