[ANN] NeuroAnalyzer.jl

NeuroAnalyzer.jl: EEG/MEG/NIRS/NIBS analysis with Julia

v0.22.11 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

Major changes:

  • user-managed preferences
  • virtual channels
  • progress meter
  • continuous and discrete wavelet transformations
  • Hilbert transformation envelope
  • improved connectivity plot
  • proper handling of negative frequencies in FFT spectrum
  • Jupyter notebook
  • many minor additions and fixes
11 Likes

NeuroAnalyzer.jl: EEG/MEG/NIRS/NIBS analysis with Julia

v0.22.12 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

Major changes:

  • plotting functions were completely rewritten
  • new plot types added (multi-channel PSD, eeg_plot_stats())
  • import BrainVision
  • tutorials at https://neuroanalyzer.org/#tutorials
  • eeg_*() functions now operate on specified channels
  • improved auto-detection of bad channels/epochs
  • many minor additions and fixes
1 Like

NeuroAnalyzer.jl: EEG/MEG/NIRS/NIBS analysis with Julia

v0.23.01 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

Major changes:

  • automated epoching by event markers
  • ERP: create, plot
  • interpolate EEG channel using linear regression
  • continuous integration (CI): tests, documentation, website
  • more tutorials
  • many minor additions and fixes
3 Likes

NeuroAnalyzer.jl: EEG/MEG/NIRS/NIBS analysis with Julia

v0.23.02 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

Major changes:

  • import Philips Alice4 polysomnography EDF (non-standard, multi-sampling rate)
  • user defined number of Slepian tapers for PSD
  • processing of electrode locations updated, added rotating and scaling
  • code cleanup
  • more tutorials
  • many minor additions and fixes
2 Likes

NeuroAnalyzer.jl: EEG/MEG/NIRS/NIBS analysis with Julia

v0.23.3 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

Major changes:

  • import: EEGLAB .set files (WIP)
  • import: CSV files
  • import: GEO electrode locations
  • process: transform using surface Laplacian
  • process: improved FIR filter (automated filtering window)
  • process: improved polynomial filter
  • plot: 3D dipole plot (WIP)
2 Likes

NeuroAnalyzer.jl: EEG/MEG/NIRS/NIBS analysis with Julia

v0.23.4 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

Major changes:

  • complete rewriting of NeuroAnalyzer functions
  • new architecture allows easy expanding for new types of neurophysiological data
  • new data types: EEG, NIRS, MEG
  • new channel types (csd, nirs, mag, grad, meg)
  • import: NIRS/SNIRF/NIRX files (NIRS)
  • import: MEG FIFF files (very WIP)
  • process: convert intensity to optical density (NIRS)
  • process: convert optical density to HbO/HbR/HbT concentrations (NIRS)
  • plot: new way of plotting channels of different types
  • plot: 2D dipole plot (WIP)
  • unit tests were completely rewritten
2 Likes

NeuroAnalyzer.jl: EEG/MEG/NIRS/NIBS analysis with Julia

v0.23.5 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

Major changes:

  • new data type: ERP
  • import: GDF files
  • import: improved import_set() (epochs, locs, markers)
  • import: improved import_bv()
  • import: import_edf() accepts multi-sampling rate files
  • analyze: amp_at() and avgamp_at() for ERPs
  • edit: channel2marker()
  • utils: to_df()
  • time segments are in seconds
2 Likes

NeuroAnalyzer.jl: EEG/MEG/NIRS/NIBS analysis with Julia

v0.23.6 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

Major changes:

  • edit: join() and join!()
  • analyze: acor(), xcor(), acov(), xcov()
  • Julia ≥ 1.9.0 is now required
  • code cleanup
  • many minor additions and fixes
2 Likes

NeuroAnalyzer.jl: Neurophysiological data analysis with Julia

v0.23.7 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

Major changes:

  • plot: preview(): interactive (Gtk-based) preview and edit epoched/continuous signal
  • process: remove_powerline()
  • process: remove_pops()
  • initial support for ECoG data
2 Likes

NeuroAnalyzer.jl: Neurophysiological data analysis with Julia

v0.23.8 is out: AdamWysokinski/NeuroAnalyzer.jl: Neurophysiological data analysis with Julia - NeuroAnalyzer.jl - Codeberg.org

Major changes:

  • license changed to 2-clause BSD
  • analysis: heart rate variability hrv_detect(), hrv_analyze()
  • process: ica_decompose(), ica_reconstruct(), ica_remove()
  • plot: plot_icatopo()
  • plot: plot(obj1, obj2)
  • plot: preview(obj1, obj2)
  • locs: locs_rotx(), locs_roty(), locs_rotz()
  • tested against upcoming Julia 1.10 release
  • code cleanup
  • many minor additions and fixes
2 Likes

NeuroAnalyzer.jl: Neurophysiological data analysis with Julia

v0.23.9 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

  • updated interactive editor
  • plot: iplot(), ipsd(), ispectrogram()
  • plot: plot PSD and spectrograms for a time segment
  • initial SEEG support
  • IO: import_montage()
  • IO: import_nwb() (WIP)
  • created lite branch (with graphical functions removed)
  • code cleanup
  • many minor additions and fixes
2 Likes

NeuroAnalyzer.jl: Neurophysiological data analysis with Julia

v0.23.10 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

  • gui: iedit_ch() – interactive channel and locations editor
  • gui: iview_plot() – interactive plot viewer
  • gui: iplot_locs3d() – interactive 3D locs preview
  • gui: improved iview(), iplot(), ipsd(), ispectrogram()
  • locs: improved locs architecture and functions
  • plot: rewritten plot_locs(), plot_topo(), plot_weights() and plot_connections() functions – locs can be projected in 3 planes (XY, XZ and YZ)
  • plot: add_locs() – locs preview can be placed over another plot
  • analysis: improved methods of calculating PSD and spectrogram
  • fix: FFTW provider on non-Intel/AMD architectures
  • plot: GLMakie dependencies removed – significantly reduced startup time
  • code cleanup
  • many minor additions and fixes
2 Likes

NeuroAnalyzer.jl: Neurophysiological data analysis with Julia

v0.23.11 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

  • gui: iplot_icatopo() – interactive ICA viewer
  • gui: iview() plots components and two NEURO objects
  • gui: iedit() snapping to time points
  • edit: delete_optode()
  • locs: load_locs() generates locs for EMG/EOG/M1/M2/A1/A2 electrodes
  • new data type: sensors
  • code cleanup
  • many minor additions and fixes
1 Like

NeuroAnalyzer.jl: Neurophysiological data analysis with Julia

v0.23.12 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

  • locs: locs_generate() – generate spherical coordinates according to 10/10 system
  • io: import_npy()
  • statistics: ci_median(), ci_r(), ci2z(), r_test()
  • code cleanup
  • many minor additions and fixes
2 Likes

NeuroAnalyzer.jl: Neurophysiological data analysis with Julia

v0.24.1 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

  • new data type: MEP
  • io: import_cnt()
  • io: import_duomag()
  • io: import_thymatron()
  • io: load_locs_dat()
  • io: load_locs_asc()
  • io: detect montage when importing EEG files
  • plots: plot_mep()
  • analysis: mep_peaks()
  • process: improved artifacts detection (using tkeo())
  • process: rename channels when referencing
  • gui: iview() use mouse wheel to scroll channels
  • code cleanup
  • many minor additions and fixes
3 Likes

NeuroAnalyzer.jl: Neurophysiological data analysis with Julia

v0.24.2 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

  • NeuroAnalyzer is registered in the Julia general registry
  • new data types: iEEG, sEEG, ECoG
  • new channel types: ieeg, seeg, ecog
  • io: import_ncs()
  • io: import_xdf()
  • gui: itopo()
  • gui: iselect_ts()
  • plots: plot_ci()
  • analysis: gradient()
  • analysis: biased or unbiased auto-/cross- correlation/covariance
  • edit: sort_epochs()
  • statistics: many new statistical functions
  • code cleanup
  • many minor additions and fixes
3 Likes

NeuroAnalyzer.jl: Neurophysiological data analysis with Julia

v0.24.3 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

  • submodule NeuroRecorder added – record neurophysiological data
  • recorder: iftt() – Finger Tapping Test
  • gui: iselect_seg() – select matrix segment
  • analyze: hjorth()
  • analyze: peak_frq()
  • analyze: sef() – spectral edge frequency
  • analyze: phsd() – phase spectral density
  • analyze: axc2frq() – detect peaks in auto-/cross- correlation/covariance and transform them into frequencies
  • plot: plot_phsd()
  • statistics: seg_extract() – extract rectangular or circular segment from a matrix
  • code cleanup
  • many minor additions and fixes
3 Likes

NeuroAnalyzer.jl : Neurophysiological data analysis with Julia

v0.24.4 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

  • NeuroAnalyzer has been added to JuliaHealth
  • submodule NeuroTester added – design and run psychological studies
  • submodule NeuroStim added – process and model neurostimulation techniques
  • recorder: ftt() – Finger Tapping Test (CLI mode)
  • analyze: cpsd() – cross-power spectral density
  • analyze: pacf() – partial auto-correlation
  • analyze: coherence()
  • plot: plot_coherence()
  • code cleanup
  • many minor additions and fixes
4 Likes

NeuroAnalyzer.jl : Neurophysiological data analysis with Julia

v0.24.5 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

  • process: mlinterpolate_channel() – interpolate bad channel using MLJ regressor
  • process: use reference epochs for mlinterpolate_channel() and lrinterpolate_channel()
  • edit: subepoch() – extract sub-epochs of reduced time range
  • plugins: na_plugin_install() – plugins can be installed from a local .zip/.tar.gz archive or using Git repository URL
  • code cleanup
  • many minor additions and fixes
4 Likes

NeuroAnalyzer.jl : Neurophysiological data analysis with Julia

v0.24.6 is out: https://codeberg.org/AdamWysokinski/NeuroAnalyzer.jl

  • recorder: eda() and ieda() – record electrodermal activity using GSR sensor and Arduino via serial port
  • recorder: ftt() and iftt() – can record data from a console attached to Raspberry Pi via GPIO pin or to Raspberry Pi/Arduino via serial port
  • edit: add_channel() and add_chanel!() – channel(s) may be added to an object already containing channels
  • analyze: symmetry() – calculate signal symmetry
  • misc: iplay() and play() – play signal as audio file
  • code cleanup
  • many minor additions and fixes
2 Likes