Skip to content

unfoldtoolbox/UnfoldRIDE.jl

Repository files navigation

UnfoldRIDE

In development documentation Build Status Test workflow status Lint workflow Status Docs workflow Status Coverage

Contributor Covenant All Contributors BestieTemplate

A re-implementation of the RIDE algorithm in Julia with an extension to replace the RIDEs iterative decomposition with an Unfold deconvolution.

Warning

This package is still in early development and should be seen as a beta version. While the algorithms seem to work in simulations we have seen some concerning results in real data applications. Use at your own risk.

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 UnfoldRIDE

using Pkg
Pkg.add("UnfoldRIDE")

Quickstart

#config for ride algorithm
cfg = RideConfig(
    #sfreq is the sampling frequency of the data
    sfreq = 100,
    #ranges for the individual components have to be determined through manual inspection of the data
    s_range = [-0.1, 0.3],
    r_range = [0, 0.4],
    c_range = [-0.4, 0.4],
    # formulas used for S, R, and C component (in this order!); if not specified these will default to `@formula(0~1)`
    # Note that the interface will be more generalized in the near future
    formulas = [@formula(0 ~ 1), @formula(0 ~ 1), @formula(0 ~ 1)] 
    #the range in which the initial peak estimation for the C component is performed
    c_estimation_range = [0, 0.9],
    #the range for one epoch
    epoch_range = [-0.1, 1]
)
#run the ride algorithm
resultsClassic = ride_algorithm(ClassicMode, data_noisy, evts_without_c, cfg)
resultsUnfold = ride_algorithm(UnfoldMode, data_noisy, evts_without_c, cfg)

Warning

In the 0.0.1 version of the package your events have to be coded as 'S' and 'R' chars in your events table.

How to Cite

If you use UnfoldRIDE.jl in your work, please cite using the reference given in CITATION.cff.

Contributing

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.

Contributors

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages