[ANN] NeuroAnalyzer.jl

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