- 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 toimport_raw()
eeg_combine
now supports combining lists.eeg_reference
now supportseeg_epochs
andeeg_evoked
objects.
plot_butterfly
should now be faster again.- Much faster reader for BDF implemented.
eeg_filter
addeddemean
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 channels
topoplot
plotting radius logic alteredcompute_csd
now useseeg_reference
rather thanreref_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 rateeeg_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
andunnest
in keeping withtidyr 1.0.0
as.data.frame.eeg_tfr()
now fixed to output correctly
- Behaviour of
as.data.frame
methods changed.cond_label
parameter is deprecated- Information from the new
epochs
structure is now automatically added to the data.frame
tag_epochs
function added for labellingrun_ICA
now includes thefICA
package version offastica
, and now supports running PCA before ICA.apply_ICA
function added to remove ICA components.- Behaviour of
select_times()
changed to use exact supplied times rather than finding nearest times in the data. - Some wrappers around
dplyr
functions added:select()
now works for selecting electrodes fromeeg_data
andeeg_epochs
objects.filter()
filters by time points or epochs fromeeg_data
andeeg_epochs
objects.mutate()
adds columns to thesignals
fromeeg_data
andeeg_epochs
objects.
topoplot()
now has agroups
parameter that allows the possibility of facetting by event labels.- more Biosemi montages added
events()
function added to easily access and modify the events structure of alleegUtils
objects.channels()
function added to easily access and modify the chan_info structure of alleegUtils
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 IIReeg_filter()
supports use of multiple threads/cores through thefuture
package.iir_filt()
will be deprecated
geom_topo()
extension forggplot2
added. Allows plotting of a topographical scalp maps using standardggplot2
functions.- Default
grid_res
for topography related plots increased to 200.
data.table
now used in the following functions internally:reref_eeg()
iir_filt()
eeg_FASTER()
reref_eeg()
now correctly excludes electrodes as requested.iir_filt()
now correctly respects epoch boundaries.- New field
epochs
added toeeg_data
andeeg_epochs
objects. chan_info
changes to make chan_info consistent across systems.- Corrected scaling factor for PSD
eeg_combine
now checks and fixeseeg_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 handleseeg_tfr
objects.as.data.frame()
method added foreeg_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)- Data selectors added for
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 foreeg_evoked
objectseeg_decomp
function in progress for performing SSD analyses- Various methods added for TFR analyses
topoplot()
improvements internally. Now offers potential for facetting.- Some
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 theica
packageplotly
is now a "suggested" package rather than a dependencyplot_psd()
function added to calculate and plot the PSD foreeg_epochs
andeeg_data
objectsplot_tfr()
function added to handleeeg_tfr
objects.erp_image()
now works witheeg_ICA
objects- Generic print methods added for
eeg_epochs
andeeg_data
compute_tfr()
function added to performed TFA oneeg_epochs
epoch_data()
now warns if some events are not found rather than stops. Only stops if no events are found.
reref_eeg()
- correctly excludes multiple named electrodes (i.e. passed as characters rather than numbers), where it previously silently failed.
- no longer records the reference data in the
ref_data
field
tf_morlet
recoded to be called internallycompute_psd()
- recoded to call
welch_fft()
in order to support possibility of different FFT methods. - now drops the DC component (frequency 0)
- recoded to call
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()
- now returns source activations as a "signals" data frame, with component names
- now returns correct unmixing matrix
compute_csd()
- added.
- computation of g-matrix and h-matrix refactored, spherical spline calculation altered accordingly
compute_tfr()
- added
eeg_FASTER()
now properly selects electrodes and epochs for removal
as.data.frame.eeg_epochs()
now has acond_labels
parameter to select epochs with specific events and add the event label as an additional column.as.data.frame()
methods now drop thesample
column.as.data.frame.eeg_ICA()
now has acond_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()
somedplyr
use removed.run_ica()
refactored SOBI method, JADE dependency removed.montage_check()
command parses montage info when passed toelectrode_locations()
label_check()
added to help parse event labelsproc_events()
added to help parse event labels duringselect_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 whereevents
andtimings
were inconsistent when usingkeep = FALSE
- Electrode/channel related functions (other than selection) now moved to
channel_management.r
- New default electrode locations (347 locations in the 10-05 layout) provided
eeg_evoked()
class introduced to hold ERPSeeg_ICA()
class introduced to hold ICA decompositionseeg_average()
function to calculate averages (e.g. ERPs) fromeeg_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 ineeg_data
objectsplot_timecourse()
andplot_butterfly()
modified to deal witheeg_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.- Initial commits for addition of Morlet wavelet time-frequency analysis
- Initial commits for statisical comparisons added
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 multipleeeg_data
oreeg_epochs
objects into one
eeg_epochs()
now also handles downsampled data appropriately.select_times()
no longer leaves "epoch" column ineeg_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 electrodes
interp_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 locations
iir_filt()
now also filters reference channelsload_set()
command added to load EEGLAB .set files
-
Converted
select_times()
to an S3 generic methodselect_times.eeg_data
select_times.eeg_epochs
-
Converted
iir_filt()
to an S3 generic methodiir_filt.eeg_data
iir_filt.eeg_epochs
- Added a
NEWS.md
file to track changes to the package.