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.
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("UnfoldRIDE")#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.
If you use UnfoldRIDE.jl in your work, please cite using the reference given in CITATION.cff.
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.jlwithFOLDERbeingHowTo,Explanation,TutorialorReference(recommended reading on the 4 categories). - Literate.jl converts the
.jlfile to a.mdautomatically and places it indocs/src/generated/FOLDER/FILENAME.md. - Edit make.jl with a reference to
docs/src/generated/FOLDER/FILENAME.md.