UnfoldMakie - Advanced EEG and ERP Plotting

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. Building 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
  • Designmatrices
  • 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 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

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 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 make use of theses visualizations, please cite:

DOI

Contributors (alphabetically)

  • Daniel Baumgartner
  • Benedikt Ehinger
  • Sören Döring
  • Niklas Gärtner
  • Furkan Lokman
  • Vladimir Mikheev

Acknowledgements

Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) – project ID 251654672 – TRR 161 (project D05)

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