rERP | EEG visualisation | EEG Simulations | BIDS pipeline | Decode EEG data | Statistical testing |
---|---|---|---|---|---|
Sub/Wrapper-Package of Unfold.jl. Ultimately it should provide the means to automatically load a Dataset in BIDS format and apply unfold-style processing to it.
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
AppStore -> JuliaUp, or winget install julia -s msstore
in CMD
curl -fsSL https://install.julialang.org | sh
in any shell
using Pkg
Pkg.add("UnfoldBIDS")
using UnfoldBIDS
# To look up the paths of all subjects and store in a Dataframe:
layout_df = bids_layout(bidsPath::AbstractString; # Path to BIDS root folder
derivatives::Bool=true, # Do you want to us the derivative/ processed data? Default = true
specificFolder::Union{Nothing,AbstractString}=nothing, # If you want a specific folder in derivatives or root specify here
excludeFolder::Union{Nothing,AbstractString}=nothing, # You can exclude specific folders when not looking for a specific sub-folder
ses::Union{Nothing,AbstractString}=nothing, # Specify session; will load all sessions if not specified
task::Union{Nothing,AbstractString}=nothing, # Specify task; will load all tasks if not specified
run::Union{Nothing,AbstractString}=nothing) # Specify run; will load all runs if not specified
# To load all data into memory/ one dataframe:
eeg_df = load_bids_eeg_data(layout_df; verbose::Bool=true, kwargs...)
# To run Unfold model:
models_df = run_unfold(dataDF, bfDict; eventcolumn="event",removeTimeexpandedXs=true, extract_data = raw_to_data, verbose::Bool=true, kwargs...)
# For dataframe containing tidy results
results_df = bids_coeftable(models_df)
# To unpack results into one big tidy DataFrame, with subject information
results = unpack_results(results_df)
Note: The
specificFolder
option will look for the folder either in the root (i.e. provided bidsPath -> bidsPath/specificFolder) or in the derivative (i.e. bidsPath/derivatives -> bidsPath/derivatives/specificFolder) based on the derivative flag!
- edf
- vhdr
- fif
- set
Contributions are very welcome. These could be typos, bugreports, feature-requests, speed-optimization, new solvers, better code, better documentation.
You are very welcome to raise issues and start pull requests!
- We recommend to write a Literate.jl document and place it in
docs/literate/FOLDER/FILENAME.jl
withFOLDER
beingHowTo
,Explanation
,Tutorial
orReference
(recommended reading on the 4 categories). - Literate.jl converts the
.jl
file to a.md
automatically and places it indocs/src/generated/FOLDER/FILENAME.md
. - Edit make.jl with a reference to
docs/src/generated/FOLDER/FILENAME.md
.
Benedikt Ehinger 🐛 💻 📆 🤔 |
René Skukies 👀 🤔 💻 🐛 |
This project follows the all-contributors specification.
Contributions of any kind welcome! You can find the emoji key for the contributors here
Funded by Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under Germany´s Excellence Strategy – EXC 2075 – 390740016