Normalize:
normalize!(eeg, method=:zscore)
normalize!(eeg, method=:minmax)
(!) To get the list of all available methods, use
?normalize
.
Remove DC:
remove_dc!(eeg)
Taper:
taper!(eeg, t=generate_window(:hann, epoch_len(eeg)))
taper!(eeg, t=hanning(epoch_len(eeg))) # some tapers require DSP.jl
Calculate signal derivative:
derivative!(eeg)
Detrend:
detrend!(eeg, type=:constant)
Time-domain convolution:
= generate_morlet(256, 1, 32, complex=true)
mw tconv!(eeg, kernel=mw)
Frequency-domain convolution:
= generate_morlet(256, 1, 32, complex=true)
mw fconv!(eeg, kernel=mw)
Denoising using Wiener deconvolution:
denoise_wien!(eeg)
Generate PCA:
= pca_decompose(eeg, n=10) pc, pc_var, pc_m, pc_model
View components variance:
= Plots.bar(pc_var, legend=false, xticks=1:10, ylabel="% of total variance")
p plot_save(p, file_name="pca_var.png")
Reconstruct signal using PCA components:
pca_reconstruct(e10, pc, pc_model);