NEWS.md
Default settings for Infomax ICA changed to be similar to EEGLAB/Fieldtrip.
Faster reading of bdf implemented. Old behaviour can be retained using fast_bdf = FALSE
parameter to import_raw()
eeg_combine
now supports combining lists.
eeg_reference
now supports eeg_epochs
and eeg_evoked
objects.
plot_butterfly
should now be faster again.
Much faster reader for BDF implemented.
eeg_filter
added demean
parameter so that removing channel/epoch means during filtering is now optional. Defaults to TRUE.
Added artefact detection options for ICA objects
ar_acf()
checks for low autocorrelationar_chanfoc()
checks for excessive channel focality (e.g. components that load mostly on one channel)ar_trialfoc()
checks for trial focality (components that load mostly on a few trials)ar_eogcor()
checks for correlation with EOG channelstopoplot
plotting radius logic altered
compute_csd
now uses eeg_reference
rather than reref_eeg
Unmixing matrix for SSD decompositions fixed.
compute_tfr
reworked to be faster.
Faster baseline correction implemented using Rcpp.
Padding now used during compute_tfr
, which greatly improves speed/accuracy; units may change but this is a change in scaling factor.
epoch_data
now uses a more robust way of determing time limits/samples to include in each epoch that no longer fails at some combinations of time limit and sampling rate
eeg_average
returns objects of class(eeg_evoked
, eeg_epochs
)
Updated R requirement to >= 3.2.0
Updated rlang requirement to >= 0.4.0
compute_psd
fix for single segment data
updated use of nest
and unnest
in keeping with tidyr 1.0.0
as.data.frame.eeg_tfr()
now fixed to output correctly
as.data.frame
methods changed.
cond_label
parameter is deprecatedepochs
structure is now automatically added to the data.frametag_epochs
function added for labellingrun_ICA
now includes the fICA
package version of fastica
, and now supports running PCA before ICA.apply_ICA
function added to remove ICA components.select_times()
changed to use exact supplied times rather than finding nearest times in the data.dplyr
functions added:
topoplot()
now has a groups
parameter that allows the possibility of facetting by event labels.events()
function added to easily access and modify the events structure of all eegUtils
objects.channels()
function added to easily access and modify the chan_info structure of all eegUtils
objects.epochs()
function added to access and modify epochs structure.ar_eogreg()
function added for removing eye movement activity using regression.eeg_filter()
function added for a unified method of filtering using either FIR or IIR
eeg_filter()
supports use of multiple threads/cores through the future
package.iir_filt()
will be deprecatedgeom_topo()
extension for ggplot2
added. Allows plotting of a topographical scalp maps using standard ggplot2
functions.grid_res
for topography related plots increased to 200.data.table
now used in the following functions internally:
reref_eeg()
now correctly excludes electrodes as requested.iir_filt()
now correctly respects epoch boundaries.epochs
added to eeg_data
and eeg_epochs
objects.chan_info
changes to make chan_info consistent across systems.eeg_combine
now checks and fixes eeg_data
timing consistencyeeg_tfr
objects now use differently organised underlying matrices.eeg_ICA
fixed unmixing matrices, which were transposed.topoplot()
now has a scaling parameter to scale the size of any lines or markers drawn on the plot.plot_tfr()
function now useable, with baseline correction also added.rm_baseline()
now handles eeg_tfr
objects.as.data.frame()
method added for eeg_tfr
objects.compute_tfr()
function now available for use with Morlet wavelets.plot_psd()
now allows changing of FFT parameters (e.g. number of FFT points, segment length)eeg_tfr
objects (e.g. select_elecs()
)plot_timecourse()
overhauled to be S3 method.plot_butterfly()
reworked internally to be more efficientrm_baseline()
simplified internally, reworked to use matrices; split to separate file.select_elecs()
now works for eeg_evoked
objectseeg_decomp
function in progress for performing SSD analysestopoplot()
improvements internally. Now offers potential for facetting.dplyr
functions implemented internally for some objects.topoplot()
added highlights parameter to allow specific electrodes to be highlighted.run_ICA()
now offers extended Infomax and Fastica thanks to the ica
packageplotly
is now a “suggested” package rather than a dependencyplot_psd()
function added to calculate and plot the PSD for eeg_epochs
and eeg_data
objectsplot_tfr()
function added to handle eeg_tfr
objects.erp_image()
now works with eeg_ICA
objectseeg_epochs
and eeg_data
compute_tfr()
function added to performed TFA on eeg_epochs
epoch_data()
now warns if some events are not found rather than stops. Only stops if no events are found.reref_eeg()
ref_data
fieldtf_morlet
recoded to be called internallycompute_psd()
welch_fft()
in order to support possibility of different FFT methods.welch_fft()
internal function addedeeg_downsample()
now makes sure epoch length is a multiple of the downsampling factor to avoid problems with timing jittererp_image()
is now an S3 methodrun_ICA()
compute_csd()
compute_tfr()
eeg_FASTER()
now properly selects electrodes and epochs for removalas.data.frame.eeg_epochs()
now has a cond_labels
parameter to select epochs with specific events and add the event label as an additional column.as.data.frame()
methods now drop the sample
column.as.data.frame.eeg_ICA()
now has a cond_labels
parameter to select epochs with specific events and add the event label as an additional column.reref_eeg()
now removes reference channels from the data.eeg_FASTER()
- FASTER artefact rejection method now (mostly) implemented (experimental).plot_butterfly()
some dplyr
use removed.run_ica()
refactored SOBI method, JADE dependency removed.montage_check()
command parses montage info when passed to electrode_locations()
label_check()
added to help parse event labelsproc_events()
added to help parse event labels during select_epochs()
callstopoplot()
now tries to average/select across time/epochs before converting to long data, less memory useselect_elecs()
also removes electrodes from chan_infoselect_epochs()
fixed bug where events
and timings
were inconsistent when using keep = FALSE
channel_management.r
eeg_evoked()
class introduced to hold ERPSeeg_ICA()
class introduced to hold ICA decompositionseeg_average()
function to calculate averages (e.g. ERPs) from eeg_epochs
objectsas.data.frame.eeg_evoked()
introduced to handle conversion of eeg_evoked objects to data frames.compute_psd()
function development, converted to S3method.topoplot()
properly checks for existing chan_info in eeg_data
objectsplot_timecourse()
and plot_butterfly()
modified to deal with eeg_evoked
objects.plot_butterfly()
updated to better handle data framestopoplot.eeg_ICA()
added to make topolots from ICA componentsrm_baseline()
reworked as S3 method and to be faster and much less memory intensive.plot_butterfly()
converted to S3 method.eeg_downsample()
function added to downsample EEG data by an integer factor.tag_events()
function added to give labels to event codes.list_events()
added to display unique event codes and their associated labels.select_epochs()
now allows selection of epochs by event code or event label.erp_raster()
- plot ERPs across the scalp as an ERP imageeeg_combine()
- combine multiple eeg_data
or eeg_epochs
objects into oneeeg_epochs()
now also handles downsampled data appropriately.select_times()
no longer leaves “epoch” column in eeg_epochs
objects.topoplot()
now calls a separate function (gam_topo()
) to create GAM smoothsbrowse_data()
major speed-ups, no longer converts to long format until necessary. Converted to S3method.interactive_scalp()
fixed plotting of individual electrodesinterp_elecs()
function to perform spherical spline interpolation of individual electrodeseeg_ar_thresh()
simple absolute value thresholding addedplot_electrodes()
Produces a 2D or interactive 3D plot of electrode locationsiir_filt()
now also filters reference channelsload_set()
command added to load EEGLAB .set filesselect_times()
to an S3 generic method
select_times.eeg_data
select_times.eeg_epochs
iir_filt()
to an S3 generic method
iir_filt.eeg_data
iir_filt.eeg_epochs