Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md #85

Merged
merged 5 commits into from
Oct 30, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
117 changes: 86 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,54 +1,109 @@
# UnfoldMakie
# ![UnfoldMakie](https://github.com/unfoldtoolbox/UnfoldMakie.jl/assets/57703446/26b770b3-afa0-4652-b654-82d2f737f42f)


[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://unfoldtoolbox.github.io/UnfoldMakie.jl/dev)
[![Build Status](https://github.com/unfoldtoolbox/UnfoldMakie.jl/workflows/CI/badge.svg)](https://github.com/unfoldtoolbox/UnfoldMakie.jl/actions)
[![Coverage](https://codecov.io/gh/behinger/UnfoldMakie.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/behinger/UnfoldMakie.jl)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.6531996.svg)](https://doi.org/10.5281/zenodo.6531996)

|rERP|EEG visualisation|EEG Simulations|BIDS pipeline|Decode EEG data|Statistical testing|
|---|---|---|---|---|---|
| <a href="https://github.com/unfoldtoolbox/Unfold.jl/tree/main"><img src="https://github-production-user-asset-6210df.s3.amazonaws.com/10183650/277623787-757575d0-aeb9-4d94-a5f8-832f13dcd2dd.png"></a> | <a href="https://github.com/unfoldtoolbox/UnfoldMakie.jl"><img src="https://github-production-user-asset-6210df.s3.amazonaws.com/10183650/277623793-37af35a0-c99c-4374-827b-40fc37de7c2b.png"></a>|<a href="https://github.com/unfoldtoolbox/UnfoldSim.jl"><img src="https://github-production-user-asset-6210df.s3.amazonaws.com/10183650/277623795-328a4ccd-8860-4b13-9fb6-64d3df9e2091.png"></a>|<a href="https://github.com/unfoldtoolbox/UnfoldBIDS.jl"><img src="https://github-production-user-asset-6210df.s3.amazonaws.com/10183650/277622460-2956ca20-9c48-4066-9e50-c5d25c50f0d1.png"></a>|<a href="https://github.com/unfoldtoolbox/UnfoldDecode.jl"><img src="https://github-production-user-asset-6210df.s3.amazonaws.com/10183650/277622487-802002c0-a1f2-4236-9123-562684d39dcf.png"></a>|<a href="https://github.com/unfoldtoolbox/UnfoldStats.jl"><img src="https://github-production-user-asset-6210df.s3.amazonaws.com/10183650/277623799-4c8f2b5a-ea84-4ee3-82f9-01ef05b4f4c6.png"></a>|

A toolbox for visualizations of EEG/ERP data and Unfold.jl models.
Building on the [Unfold](https://github.com/unfoldtoolbox/unfold.jl/) and [Makie](https://makie.juliaplots.org/stable/), it grants users high performance, and highly customizable plots.

We currently support:
<img src="https://github.com/unfoldtoolbox/UnfoldMakie.jl/assets/10183650/af2801e5-cd64-4932-b84d-9abc1d8470ee" width="300" align="right">
- ![icon_erpplot_20px](https://github.com/unfoldtoolbox/UnfoldMakie.jl/assets/10183650/22c8472d-df78-46d7-afe8-e1e4e7b04313)
ERP plots
- ![icon_butterfly_20px](https://github.com/unfoldtoolbox/UnfoldMakie.jl/assets/10183650/30b86665-3705-4258-bffa-97abcd308235)
Butterfly plots
- ![icon_topoplot_20px](https://github.com/unfoldtoolbox/UnfoldMakie.jl/assets/10183650/ea91f14f-30df-4316-997b-56bc411c9276)
Topography plots
- ![icon_toposeries_20px](https://github.com/unfoldtoolbox/UnfoldMakie.jl/assets/10183650/eceab5d6-88c7-41ae-b0d8-5ca652e83b40)
Topography time series
- ![icon_erpgrid_20px](https://github.com/unfoldtoolbox/UnfoldMakie.jl/assets/10183650/83b42a21-439a-49fd-80bc-cd82872695e9)
ERP grid
- ![icon_erpimage_20px](https://github.com/unfoldtoolbox/UnfoldMakie.jl/assets/10183650/b45b0547-7333-4d28-9ac8-33a989b7c132)
ERP images
- ![icon_channelimage_20px](https://github.com/unfoldtoolbox/UnfoldMakie.jl/assets/10183650/7ea16a7a-879a-4dcc-aaab-bc97211910ba)
Channel images
- ![icon_parallel_20px](https://github.com/unfoldtoolbox/UnfoldMakie.jl/assets/10183650/dab097c3-bcd6-4405-a44b-71cbe3e5fac9)
Parallel coordinates
- Designmatrices


UnfoldMakie allows many visualizations for ERP and "Unfolded"-models.
Building on the [Unfold](https://github.com/unfoldtoolbox/unfold.jl/) and [Makie](https://makie.juliaplots.org/stable/), it grants users highly customizable plots.
## Install

The toolbox requires a Makie-Backend to be loaded, e.g. `using CairoMakie`
### Installing Julia

Some plotting functions require data-frames, with fields like `:estimate` or `:time`.
<details>
<summary>Click to expand</summary>

The supportet visualizations are:
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 test out alpha/beta versions etc.

- Designmatrices
- Line Plots
- Butterfly Plots
- ERP Images with option for sorting
- Topo Plots
- Topoplot series
- Parallel Coordinates Plot
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
</details>

### Installing Unfold

![grafik](https://github.com/unfoldtoolbox/UnfoldMakie.jl/assets/10183650/af2801e5-cd64-4932-b84d-9abc1d8470ee)
```julia
using Pkg
Pkg.add("UnfoldMakie")
```

## Structure
### Code Notes
## Quickstart

The code files can be found in the `src` folder.
```julia
using UnfoldMakie
using CairoMakie
data, evts = UnfoldSim.predef_eeg(; noiselevel = 12, return_epoched = true)
times = range(0, step = 1 / 100, length = size(data, 2))
m= fit(UnfoldModel,@formula(0~1+condition),evts,data,times)

### Documentation Notes
plot_erp(coeftable(m))
```

The documentation can be found in the `doc` folder. We use `Documenter.jl` and plan to use `Literate.jl` for future usage.
In the `src` folder contained within it exists as "raw" `.md` files and in the `build` folder contained within it exists as `.html` after running the `make.jl` file.
These are specifically the "index" file with more files in sub folders.
## 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](https://documentation.divio.com/)).
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](https://github.com/unfoldtoolbox/Unfold.jl/blob/main/docs/make.jl) with a reference to `docs/src/generated/FOLDER/FILENAME.md`.

## Citation
If you make use of theses visualizations, please cite [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.6531996.svg)](https://doi.org/10.5281/zenodo.6531996)

## Authors
If you make use of theses visualizations, please cite:

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.6531996.svg)](https://doi.org/10.5281/zenodo.6531996)

It was authored by `Benedikt Ehinger` and has been worked upon by students and doctoral researchers within the context of a university project (`Fachpraktikum: Methods in Computational EEG`) at the University of Stuttgart.
## Contributors (alphabetically)

The student names are:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you are a contributor too :)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So far only because I updated the readme, no? Didn't think that would justify being on the list 👀

- Baumgartner, Daniel
- Döring, Sören
- Gärtner, Niklas
- **Daniel Baumgartner**
- **Benedikt Ehinger**
- **Sören Döring**
- **Niklas Gärtner**
- **Vladimir Mikheev**

Doctoral reserchers:
- Vladimir Mikheev
## Acknowledgements

## Funding
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
Loading