imax method to run_ICA(). This allows use of the infomax ICA algorithm from the infomax package, which is a reimplementation of the Infomax algorithm used in the EEGLAB Matlab toolbox.erp_scalp() and interactive_scalp() should now appropriately use channel locations included in the data.compute_tfr().plot_tfr() now applies baseline correction on a single-trial basis where possible, which may show different results when using non-linear baseline correction (e.g. divide or dB)topoplot() now allows you to provide multiple component numbers when plotting from an eeg_ICA object, and will automatically produce an appropriately facetted plot. topoplot() now has a k parameter to control the smoothing when using method = "gam".demo_spatial data from a spatial cueing experiment.plot_difference() function added for plotting ERP difference waves. Only currently handles two levels.hanning taper support for compute_tfr. Note that the scaling factors used for all compute_tfr calculations have been adjusted, so the exact numerical values returned will change. However, this is just a scaling factor - the relative distances between values remained unchanged.ar_FASTER() has experimental support for eeg_group objects when those objects are eeg_evoked groups. It does not perform rejection but reports how many times each participants data breaks a threshold for a number of measures.import_raw() default participant_id is now changed to NA instead of character(1), to promote better use with eeg_combine().eeg_combine() will now refuse to combine objects where participant_id is missing (i.e. is NA), and warn when combining objects with the previous default value "". This is to prevent accidentally treating data from different participants as being from the same participant.topoplot() now provides informative messages about the head radius used for plotting. The default calculation of r when using interp_limit = "head" has changed and should now be set at the outermost electrode's position + a 10% buffer. Smaller r can be set manually.get_participant_id, set_participant_id, get_recording and set_recording to interact with the epochs metadata in each eegUtils object.eeg_combine() handles eeg_tfr() objects better, now returns an error when trying to combine single-trial data.plot_timecourse() now handles eeg_tfr() objects.erp_scalp() and interactive_scalp() now use cleaner evaluation of the colour argument using rlang compute_csd()compute_tfr(), they will now also use the spacing parameter to determine log or linear scaling.eeg_average() used on c("eeg_group", "eeg_tfr") objects.eeg_data objects if there were multiple "target" triggers appearing in an epoch.erp_raster() when anat_order == FALSEepoch_queries file for functions for setting and getting the epochs structurecheck_items file for functions that check for consistency of various structureseeg_combine() with eeg_tfr() no longer drops single dimensions, which was causing issues when there was only one channel or epoch in the object.plot_timecourse.eeg_tfr now correctly passes baseline period to rm_baseline()filter.eeg_tfr() was sometimes dropping single dimensions when using abind::asub(), now fixedcompute_tfr(), with the new spacing argument. plot_tfr automatically detects the spacing and plots the figure appropriately.na.rm option to erp_image() to either keep or plot trials with NA values due to smoothing. By default they'll be removed.compute_psd().plot_tfr() error when selecting a specific frequency range fixed.vdiffr testserp_image() smoothing over time instead of epochs.EEGLAB .set files saved in newer Matlab file formats.eeg_filter() to data instead of .dataerp_image() now supports eeg_tfr objects.eeg_data objects, eeg_combine() would substantially undercorrect the timing of events in the third file - this is now fixed.groups parameter for topoplot() now correctly passed for all types of object.stat_tests.R file removed, will be reimplemented elsewhererm_baseline() for eeg_evoked no longer uses data.tableas.data.frame.eeg_evoked() handles grouped data better.import_set() now handles all EEGLAB formats better.ar_eogcor now has a bipolarize argument which can be set to false when the HEOG/VEOG channels are already bipolarized.ggplot2 based functions for topoplotting and adding contours stat_scalpcontours()geom_topo() now has contourscompute_psd or compute_tfr on eeg_group objects.compute_tfr() now works better with eeg_evoked objects that contain multiple conditions.eeg_reference now handles multiple reference channels better on rereferencingget_scalpmap handles eeg_ICA components better when there are channels with no locationscart_to_spherical coord flipping bug fixed (hopefully...)filter now converts to tibble internally and does not coerce signals to a vector when there is only one channel.summary_contour fileeeg_combine.eeg_evoked made to behave more consistently when creating grouped dataas.data.frame() functions moved to df_converters.rIMPORTANT: There have been some changes to the logic of the topoplot() that may make their appearance quite different. Specifically, these changes are to the way the underlying interpolation grid is calculated and to how things like the diameter of the cartoon head is calculated. These changes often lead to different minimum or maximum amplitudes across the image, and thus changes in the appearance of the plot due to different scales- don't be alarmed!
epoch_data baseline correction now defaults to no baseline correctionfilter method for eeg_tfr objectsfit_glm() overhauled. Now far faster and allows specification of models using standard R formulae.eeg_lm class introduced for output of fit_glm().plot_butterfly.eeg_lm() method addedas.data.frame() methods have been added for eeg_lm objects.view_ica() Shiny viewer for eeg_ICA and eeg_decomp objects added.view_artefacts()Shiny viewer for channel and epoch stats added.plot_timecourse() now takes a mapping argument, which allows use of ggplot2 aes() mappingseeg_average.eeg_tfr() now follows behaviour of other eeg_average() methods in respecting the epochs structure. compute_itc() added for computing inter-trial coherence from eeg_tfr objects.cols added to eeg_average.eeg_tfreeg_combine.tfr_average() added to handle pre-averaged eeg_tfr objectscompute_tfr() now allows non-constant number of cyclescompute_tfr() now uses a different scaling factor, so raw units should now be microvolts-squared. import_erplab() functionplot_timecourse() now allows CIs for eeg_group objects.plot_tfr() now always drops NA/NaN values and averages appropriately over electrodes and conditions.import_set() handles continuous EEG data from EEGLAB much betterwhitening package for whitening before SOBI ICAselect_epochs for eeg_ICA objects fixed to correctly remove epochs from signalsfilter.eeg_ICA and filter.eeg_tfrfilter.eeg_data and filter.eeg_evokedselect_elecs for eeg_ICA now correctly removes components from the unmixing matrixleft_join from dplyr in the tag_events function as an easy fix for sorting of events when tagging.select() and validate_channels() that reordered channel names in chan_infoeeg_decomp now doing better job of filtering for ssd methodtibble related warnings and errors cleaned up.method = "gam" should now yield sensible results for geom_topo()run_ICA() and eeg_decomp() methods now return components ordered by percent variance explained (high to low)browse_data().eeg_ica grid res reducedeeg_reference().eeg_epochs was always average referencing, now fixed.topoplot() for biharmonic smoothcompute_psd() now demeans individual segments when doing Welch FFT; also no longer errors when only one segment per channeleeg_tfr() internal structure modified to keep 4 dimensions even after averaging, for consistencystat_summary_by_fill() added to do averaging for raster plots effectively.convert_tfr() now properly returns converted dataimport_raw() fix for Brain Vision Analyzer files with date fields in the markersversion field to most objectsfast_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.eeg_filter added demean parameter so that removing channel/epoch means during filtering is now optional. Defaults to TRUE.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_eegcompute_tfr reworked to be faster.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 determining 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)compute_psd fix for single segment datanest and unnest in keeping with tidyr 1.0.0as.data.frame.eeg_tfr() now fixed to output correctlyas.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:select() now works for selecting electrodes from eeg_data and eeg_epochs objects.filter() filters by time points or epochs from eeg_data and eeg_epochs objects.mutate() adds columns to the signals from eeg_data and eeg_epochs objects.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 IIReeg_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()iir_filt() eeg_FASTER()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_datacompute_tfr() function added to performed TFA on eeg_epochsepoch_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 = FALSEchannel_management.reeg_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 methodselect_times.eeg_dataselect_times.eeg_epochs
Converted iir_filt() to an S3 generic method
iir_filt.eeg_dataiir_filt.eeg_epochsNEWS.md file to track changes to the package.Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.