UnfoldMakie - Advanced EEG and ERP Plotting

All Contributors

Dev Build Status Coverage DOI

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

A toolbox for visualizations of EEG/ERP data and Unfold.jl models. Based on the Unfold and Makie, it grants users high performance, and highly customizable plots.

We currently support:

  • icon_erpplot_20px ERP plots
  • icon_butterfly_20px Butterfly plots
  • icon_topoplot_20px Topography plots
  • icon_toposeries_20px Topography time series
  • icon_erpgrid_20px ERP grid
  • icon_erpimage_20px ERP images
  • icon_channelimage_20px Channel images
  • icon_parallel_20px Parallel coordinates
  • Design matrices
  • Circular topoplots

Install

Installing 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 to test out alpha/beta versions etc.

TLDR: If you don't 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

Installing Unfold

using Pkg
Pkg.add("UnfoldMakie")

Quickstart

using UnfoldMakie
using CairoMakie # backend
using Unfold, UnfoldSim # Fit / Simulation

data, evts = UnfoldSim.predef_eeg(; noiselevel = 12, return_epoched = true)
data = reshape(data, 1, size(data)...) # fake a single channel

times = range(0, step = 1 / 100, length = size(data, 2))
m = fit(UnfoldModel, @formula(0 ~ 1 + condition), evts, data, times)

plot_erp(coeftable(m))

Contributions

Contributions are very welcome. These can be typos, bug reports, feature requests, speed improvements, new solvers, better code, better documentation.

How-to Contribute

You are very welcome to submit 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 these visualizations, please cite:

DOI

Contributors

Benedikt Ehinger
Benedikt Ehinger

πŸ› πŸ’» πŸ“– πŸ€” πŸš‡ 🚧 πŸ’¬ πŸ‘€ ⚠️ βœ…
Quantum
Daniel Baumgartner

πŸ’» πŸ“–
Vladimir Mikheev
Vladimir Mikheev

πŸ› πŸ’» πŸ“– πŸ€” 🚧 πŸ‘€ ⚠️ βœ…
NiklasMGaertner
Niklas GΓ€rtner

πŸ’» πŸ“–
SorenDoring
Soren Doring

πŸ’» πŸ“–
lokmanfl
Fadil Furkan Lokman

πŸ’» πŸ“–
Judith Schepers
Judith Schepers

πŸ› πŸ€” πŸ“–
RenΓ© Skukies
RenΓ© Skukies

πŸ“–

Acknowledgements

Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) – Project-ID 251654672 – TRR 161” / β€œGefΓΆrdert durch die Deutsche Forschungsgemeinschaft (DFG) – Projektnummer 251654672 – TRR 161.

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