NeuroAnalyzer.jl : Neurophysiological data analysis with Julia
v0.24.7 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl
- stim:
tdcs_dose(), tacs_dose(), tpcs_dose() – calculate effective parameters of tES dosages
- process:
filter_create() – new filter type: weighted least-squares FIR filter
- gui:
iview() can show bad channels
- process:
erp() – baseline segment is defined by two time points, may be subtracted before or after averaging
- analyze: PSD- and spectrogram-, EROS-, EROP-related functions – log scaling of frequencies removed, moved to plotting functions
- code cleanup
- many minor additions and fixes
3 Likes
NeuroAnalyzer.jl : Neurophysiological data analysis with Julia
v0.24.8 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl
- breaking change: channels are addressed by their labels, not numbers (breaking change); to convert numbers to labels, use
get_channel(obj, type="eeg") or get_channel(obj, ch=["Fp1", "Fp2"])
- breaking change: channels are stored as they are in the recording (physical order); list of channels sorted by their type is stored in
OBJ.header.recording[:channel_order] (logical order)
- breaking change: channels label is stored in
OBJ.header.recording[:label], channel unit is stored in OBJ.header.recording[:unit]
- list of bad channels is stored in the
OBJ.header.recording[:bad_channel]
- utils:
get_channel()
- channels may be addressed by name, e.g.
ch="Fp1" or ch=["C3", "C4"] or by type, e.g. ch="all", ch="eeg" or ch=["mag", "grad"]
- supports exclude options (default value is “bad”, so bad channels are excluded from the list)
- initial support for MEG data
- io:
import_fiff() – both MEG and EEG data
- gui:
iview() – lots of changes:
- select time segment
- delete time segment / epoch
- left click channel label to display its properties
- right click channel label to mark it as bad
- zoom in and out
- scroll with mouse wheel
- toggle scale bars, monochromatic mode, snapping
- plot:
plot_signal() – lots of changes:
- finally displays properly data with > 100 channels
- gets list of bad channels from the header
- channels of different type are not displayed separately, but in logical order
- scale bars and units are drawn for each channel type
- process:
denoise_cwt() – denoise using continuous wavelet transformation
- process:
remove_cwt() – remove artifacts using continuous wavelet transformation
- analyze:
cwtspectrogram() – improved CWT scaleogram
- analyze:
psd() – new methods: :gh, :cwt
- code cleanup
- many minor additions and fixes
2 Likes
NeuroAnalyzer.jl: Neurophysiological data analysis with Julia
v0.24.9 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl
- gui:
iview():
- butterfly / mean mode
- time/epoch slider
- gui:
ipsd():
- time/epoch slider
- new channel selector
- gui:
ispectrogram():
- time/epoch slider
- new channel selector
- gui:
itopo():
- time/epoch entry field
- compatible with EEG/MEG
- gui:
iview_ica():
- preview and remove ICA components
- code cleanup
- many minor additions and fixes
2 Likes
NeuroAnalyzer.jl: Neurophysiological data analysis with Julia
v0.24.10 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl
- return types added to all functions for better error handling
- code cleanup
- many minor additions and fixes
5 Likes
NeuroAnalyzer.jl: Neurophysiological data analysis with Julia
v0.24.11 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl
- plot:
plot_heatmap()
- tested against Julia 1.11 release
- code cleanup
- many minor additions and fixes
1 Like
NeuroAnalyzer.jl: Neurophysiological data analysis with Julia
v0.24.12 is out: AdamWysokinski/NeuroAnalyzer.jl: Julia toolbox for analyzing neurophysiological data - Codeberg.org
- io:
import_ft() – FieldTrip EEG, MEG, events
- io:
import_fiff() imports SSP projections
- gui:
iedit() – move locs origin
- process:
generate_ssp_projectors() and apply_ssp_projectors()
- code cleanup
- many minor additions and fixes
Breaking changes:
- markers field
description renamed to value
- MEG recording header must contain SSP labels, SSP channels and SSP data fields
1 Like
NeuroAnalyzer.jl: Neurophysiological data analysis with Julia
v0.25.1 is out: AdamWysokinski/NeuroAnalyzer.jl: Julia toolbox for analyzing neurophysiological data - Codeberg.org
- io:
import_ft() imports EEG channels data for MEG+EEG recordings
- analyze:
lat_idx() – calculates lateralization index
- analyze:
tpt_detect() and tpt_analyze() – detects and analyzes pinches in TPT recordings
- recorder:
tpt() – records Two-point Pinch Test
- channels list may now be defined using Julia regex, e.g.
plot(eeg, ch=r"Fp.*")
- new data types: TPT
- code cleanup
- many minor additions and fixes
2 Likes
NeuroAnalyzer.jl: Neurophysiological data analysis with Julia
v0.25.2 is out: AdamWysokinski/NeuroAnalyzer.jl: Julia toolbox for analyzing neurophysiological data - Codeberg.org
- gui:
ifilter() – interactive filter design
- code cleanup
- many minor additions and fixes
2 Likes
NeuroAnalyzer.jl: Neurophysiological data analysis with Julia
v0.25.3 is out: AdamWysokinski/NeuroAnalyzer.jl: Julia toolbox for analyzing neurophysiological data - Codeberg.org
- Julia ≥1.11 is required
- greedy threads scheduler is used: significant speed increase of many functions
- statistical functions moved to (NeuroStats.jl)
- code cleanup
- many minor additions and fixes
2 Likes
NeuroAnalyzer.jl: Neurophysiological data analysis with Julia
v0.25.4 is out: AdamWysokinski/NeuroAnalyzer.jl: Julia toolbox for analyzing neurophysiological data - Codeberg.org
- breaking change:
channel_cluster() returns channel numbers, not names
- breaking change: referencing changes locs labels
- plot: default palette changed to bluesreds for some plots (topomap, heatmap, matrix)
exclude_bads preference was added (default is false) to automatically ignore channels marked as bad from analysis
- all tutorials are automatically generated using Quarto-based Markdown notebooks
- code cleanup
- many minor additions and fixes
NeuroAnalyzer.jl: Neurophysiological data analysis with Julia
v0.25.5 is out: AdamWysokinski/NeuroAnalyzer.jl: Julia toolbox for analyzing neurophysiological data - Codeberg.org
- plot:
plot_connectivity_circle()
- plot:
plot_heatmap(), plot_topo() and plot_spectrogram() now can also draw thresholded region
- analyze:
topo_var(), diss(), gfp() and gfp_norm() for ERP/ERF objects
- code cleanup
- many minor additions and fixes
1 Like
NeuroAnalyzer.jl: Neurophysiological data analysis with Julia
v0.25.7 is out: AdamWysokinski/NeuroAnalyzer.jl: Julia toolbox for analyzing neurophysiological data - Codeberg.org
- analyze:
entropy() – calculates sample entropy and normalized sample entropy
- analyze:
hfd() – calculates the Higuchi fractal dimension
- analyze:
sumsim() – calculates summed similarity using an exponential decay model
- code cleanup
- many minor additions and fixes
2 Likes
NeuroAnalyzer.jl: Neurophysiological data analysis with Julia
v0.25.8 is out: AdamWysokinski/NeuroAnalyzer.jl: Julia toolbox for analyzing neurophysiological data - Codeberg.org
- tester:
iavh() – interactive module for subjective recreation of auditory hallucinations
- analyze:
dirinrg() – calculate Dirichlet energy
- model:
efield2d() – model 2-dimensional electric field
- plot:
plot_efield2d() – plot 2-dimensional electric field
- NeuroStats.jl merged with NeuroAnalyzer.jl
- Markdown documentation is no longer maintained
- code cleanup
- many minor modifications and fixes
3 Likes
NeuroAnalyzer.jl: Neurophysiological data analysis with Julia
v0.25.9 is out: AdamWysokinski/NeuroAnalyzer.jl: Julia toolbox for analyzing neurophysiological data - Codeberg.org
- breaking change: time points are internally rounded to 3 digits
- updated tutorials
- updated documentation format
- plot:
plot_phase() – plot phases
- plot:
plot_fi() – plot instantaneous frequencies
- plot:
plot_hs() – plot Hilbert spectrum
- plot:
plot_imf() – plot IMFs produced by EMD
- plot:
plot_gridlocs() – plot a simplified plot of 10-20 EEG channels on a grid
- plot:
plot_spectrogram() – plot Hilbert-Huang spectrogram
- analyze:
hmspectrum() – calculate Hilbert marginal spectrum
- analyze:
hhtspectrogram() – calculate Hilbert-Huang spectrogram
- analyze:
zipratio() – calculate zip ratio of the object data
- analyze:
emd() – perform Empirical Mode Decomposition (EMD)
- analyze:
transform(), ftransform() and htransform() replaced spectrum() – Fourier and Hilbert transforms
- process:
reference_slap() – perform spherical Laplacian referencing
- new preference:
colors – enable/disable colored output
- code cleanup
- many minor modifications and fixes
2 Likes
NeuroAnalyzer.jl: Neurophysiological data analysis with Julia
v0.25.10 is out: AdamWysokinski/NeuroAnalyzer.jl: Julia toolbox for analyzing neurophysiological data - Codeberg.org
- breaking change: process:
filter_create() – order is not translated into attenuation, transition band width is required for :firls, :remez and :iirnotch filters
- breaking change: process: new structure of discrete wavelet decomposition coefficients
- updated tutorials
- analyze:
ghexp() – calculate Generalised Hurst Exponents (GHEs)
- process: many changes in discrete and continuous wavelet decomposition functions
- process:
denoise_dwd() – denoise using discrete wavelet decomposition
- plot:
plot_dwc() – plot discrete wavelet decomposition coefficients
- plot:
plot_filter_response() – plot group delay for FIR filters
- plot:
plot_polezero() – plot filter poles and zeros
- plot:
plot_locs() – plot brain or head mesh together with electrodes
- code cleanup
- many minor modifications and fixes
1 Like