Skip to content

Latest commit

 

History

History
152 lines (108 loc) · 12.5 KB

README.md

File metadata and controls

152 lines (108 loc) · 12.5 KB

UnfoldMakie - Advanced EEG and ERP Plotting

Dev Build Status Coverage DOI DOI

All Contributors

Estimation Visualisation Simulation BIDS pipeline Decoding Statistics MixedModelling
Unfold.jl Logo UnfoldMakie.jl Logo UnfoldSim.jl Logo UnfoldBIDS.jl Logo UnfoldDecode.jl Logo UnfoldStats.jl Logo UnfoldMixedModels.jl logo

A toolbox for visualizations of EEG/ERP data and Unfold.jl models.

Based on two libraries:

  • Makie.jl - very flexible visualisation library (Maki-e means "visualisation" on Japanese);
  • AlgebraOfGraphics.jl - Makie-based grammar of graphics visualisation library, allowing flexible mapping.

Additionally we provide some specific plots for:

  • Unfold.jl - for performing rERP analyses; But Unfold.jl is not a dependency and all plotting functions are agnostic to any specific analysis package.

This package offers users high performance, and highly customizable plots.

We currently support 9 general ERP plots:

  • 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
  • Circular topoplots

And 2 Unfold-specific plots:

  • Design matrices
  • Splines plot

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 UnfoldMakie.jl

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)...) # simulate 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 - this is our publication in Journal of Open Source Software on version 0.5.11. We recommend to cite this paper.

DOI - this is DOI of the last version of UM.jl. Cite this or others DOIs if you need to mention specific version of the package.

Contributors

Benedikt Ehinger
Benedikt Ehinger

🐛 💻 📖 🤔 🚇 🚧 💬 👀 ⚠️
Vladimir Mikheev
Vladimir Mikheev

🐛 💻 📖 🤔 🚧 👀 ⚠️
Quantum
Daniel Baumgartner

💻 📖
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