UnfoldMakie

Plotting and visualization tools for EEG data, with additional Unfold.jl regression ERP methods. Based on the visualization libraries Makie.jl and AlgebraOfGraphics.jl

https://github.com/unfoldtoolbox/unfoldmakie.jl

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 12 DOI reference(s) in README
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    1 of 8 committers (12.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.0%) to scientific vocabulary

Keywords

butterfly eeg eeg-visualization electroencephalography erp event-related-potentials julia makie plots plotting topoplots visualization

Keywords from Contributors

mixed-models deconvolution
Last synced: 4 months ago · JSON representation ·

Repository

Plotting and visualization tools for EEG data, with additional Unfold.jl regression ERP methods. Based on the visualization libraries Makie.jl and AlgebraOfGraphics.jl

Basic Info
Statistics
  • Stars: 23
  • Watchers: 3
  • Forks: 9
  • Open Issues: 55
  • Releases: 41
Topics
butterfly eeg eeg-visualization electroencephalography erp event-related-potentials julia makie plots plotting topoplots visualization
Created over 4 years ago · Last pushed 5 months ago
Metadata Files
Readme Contributing License Citation

README.md

UnfoldMakie - Advanced EEG and ERP Plotting

Stable Dev Build Status Coverage DOI DOI <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> All Contributors <!-- ALL-CONTRIBUTORS-BADGE:END --> Downloads Downloads

|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

Installing Julia

Click to expand The recommended way to install julia is [juliaup](https://github.com/JuliaLang/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

julia using Pkg Pkg.add("UnfoldMakie")

Quickstart

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

data, evts = UnfoldSim.predefeeg(; noiselevel = 12, returnepoched = 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

Owner

  • Name: unfoldtoolbox
  • Login: unfoldtoolbox
  • Kind: organization
  • Email: info@unfoldtoolbox.org

Unfold your potentials...

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- given-names: Vladimir
  family-names: Mikheev
  orcid: 'https://orcid.org/0000-0002-4738-6655'
- given-names: Benedikt
  family-names: Ehinger
  orcid: 'https://orcid.org/0000-0002-6276-3332'
title: 'UnfoldMakie.jl: EEG/ERP visualization package'
version: 0.5.10
doi: 10.21105/joss.07560
date-released: '2025-01-10'
url: 'https://github.com/unfoldtoolbox/UnfoldMakie.jl'
preferred-citation:
  type: article
  authors:
  - given-names: Vladimir
    family-names: Mikheev
    orcid: 'https://orcid.org/0000-0002-4738-6655'
  - given-names: Benedikt
    family-names: Ehinger
    orcid: 'https://orcid.org/0000-0002-6276-3332'
  doi: 10.21105/joss.07560
  journal: 'Journal of Open Source Software'
  month: 1
  title: 'UnfoldMakie.jl: EEG/ERP visualization package'
  volume : 10
  number: 105
  pages: 7560
  year: 2025

GitHub Events

Total
  • Create event: 59
  • Release event: 12
  • Issues event: 72
  • Watch event: 5
  • Delete event: 2
  • Issue comment event: 159
  • Push event: 648
  • Pull request event: 127
  • Pull request review event: 151
  • Pull request review comment event: 326
  • Fork event: 2
Last Year
  • Create event: 59
  • Release event: 12
  • Issues event: 72
  • Watch event: 5
  • Delete event: 2
  • Issue comment event: 159
  • Push event: 648
  • Pull request event: 127
  • Pull request review event: 151
  • Pull request review comment event: 326
  • Fork event: 2

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 208
  • Total Committers: 8
  • Avg Commits per committer: 26.0
  • Development Distribution Score (DDS): 0.625
Top Committers
Name Email Commits
behinger (s-ccs 001) b****r@v****e 78
SoerenDoering d****n@g****e 53
NiklasMGaertner n****r@w****e 33
Quantum l****t@g****m 31
github-actions[bot] 4****]@u****m 5
Fadil Furkan Lokman f****n@h****m 5
CompatHelper Julia c****y@j****g 2
Vladimir d****m@b****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 176
  • Total pull requests: 246
  • Average time to close issues: 4 months
  • Average time to close pull requests: 9 days
  • Total issue authors: 9
  • Total pull request authors: 9
  • Average comments per issue: 2.63
  • Average comments per pull request: 0.63
  • Merged pull requests: 200
  • Bot issues: 0
  • Bot pull requests: 54
Past Year
  • Issues: 62
  • Pull requests: 134
  • Average time to close issues: 29 days
  • Average time to close pull requests: 4 days
  • Issue authors: 4
  • Pull request authors: 4
  • Average comments per issue: 1.27
  • Average comments per pull request: 0.4
  • Merged pull requests: 106
  • Bot issues: 0
  • Bot pull requests: 25
Top Authors
Issue Authors
  • vladdez (99)
  • behinger (58)
  • jschepers (8)
  • SorenDoring (5)
  • ReneSkukies (2)
  • Zooaal (1)
  • ssaket (1)
  • JuliaTagBot (1)
  • juliohm (1)
Pull Request Authors
  • vladdez (167)
  • behinger (61)
  • github-actions[bot] (54)
  • allcontributors[bot] (7)
  • xuyg16 (6)
  • Link250 (1)
  • SorenDoring (1)
  • ReneSkukies (1)
  • SimonDanisch (1)
Top Labels
Issue Labels
bug (38) enhancement (32) crucial (10) documentation (8) question (4) invalid (1)
Pull Request Labels
help wanted (1)

Packages

  • Total packages: 1
  • Total downloads:
    • julia 7 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 39
juliahub.com: UnfoldMakie

Plotting and visualization tools for EEG data, with additional Unfold.jl regression ERP methods. Based on the visualization libraries Makie.jl and AlgebraOfGraphics.jl

  • Versions: 39
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 7 Total
Rankings
Dependent repos count: 9.9%
Forks count: 21.7%
Average: 30.9%
Dependent packages count: 38.9%
Stargazers count: 52.9%
Last synced: 4 months ago

Dependencies

.github/workflows/CI.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/CompatHelper.yml actions