Release Notes

Changes from 1.0b1
%age of variance accounted for by each Promax rotated factor returned.  Fixed error in Promax algorithm.  Changed output variable names to more readable names.
Parametric PCA technique now supported by EGIStoPCA routine.

Changes from 1.0b2
Kaiser correction now works when it is turned on.
Factor scores now correctly computed when relationship matrix is covariance or SSCP matrix.  Factor scores are no longer zero-centered when using SSCP matrix.
Added spatiotemporal PCA procedure.
PCAtoEGIS now returns peak latencies of factors.
Various modifications to improve performance or ease of use.

Changes from 1.0b3
Changed factor score calculation to avoid need for generalized inversion of relationship matrix, which could cause singularity problems.
Dropped output of scoring coefficient matrix for the same reason.
Fixed Promax factor score computation.
Changed default factor waveform output to pattern matrix for PCAtoEGIS routine.

Changes from 1.0b4
Changed factor scores to unstandardized form to correctly handle variables with non-zero means, especially non-average reference data and ST-PCAs.
Added peakChan and peakSamp output to PCAtoEGIS routine.

Changes from 1.0fc1
Fixed readEGISave bugs for outputting spatial formatted data.

Changes from 1.0fc2
Fixed readEGISave bugs when parameters not specified.  Fixed PmxUnPat parameter name in PCAtoEGISscript.

Changes from 1.0fc3
Abandoned effort to enable non mean-corrected  factor scores as unworkable.  Added option to superimpose grand average on factor output to facilitate interpretation.
 Dropped UnPat outputs since not needed.  Made PCAtoEGIS scripts easier to use.
Percentage accounted for fixed.

Changes from 1.0
Added error-checking code to PCAtoEGISscript and stPCAtoEGISscript to make sure the subject, channel, timepoint, and cell parameters match up with the size of the matrices.

Changes from 1.01
Moved eyeblink correction routines to a separate ICAblink_toolbox.  Modified EGIStoPCA routine to optionally output factor waveforms as a matlab cell array.

Changes from 1.02
Fixed bug in parametric PCA output. Fixed EGIStoPCA subject specs to include subject ID number so NetStation will label observations properly and NAvg so BESA will have N= info.

Changes from 1.03
Fixed bug in PCAtoEGISscript output of reconstructed factor waveforms for spatiotemporal PCA only.  Implemented non-mean corrected factor scores.

Changes from 1.04
Generalized output format of doPCA so that rotations can be Varimax instead of Promax.  To use with existing PCAtoEGIS scripts, replace the portion under the dividing line with the new code.  Added variance correction after Varimax rotation to ensure that factor scores remain unitized, resulting in some improvement in solution output.

Changes from 1.05
Option for unrotated output added.  Error introduced in 1.04 fixed regarding computation of non-mean centered factor scores fixed.  Added centroid measure to ANOVA output options.  Fix to latency ANOVA output.  Changed missing values number for parametric PCA from zero to "999."  Modified to work under Matlab 6.5.

Changes from 1.06
Added readNSmat.  Added InfoMax (ICA) rotation option.  Fixed bug in parametric PCA for cells past the first one.  Automatically change bins to 500 for EGIS format output to avoid losing too much resolution if bins are a small number, such as from NS.  Added saving of scores matrix when doing parametric PCA in order to facilitate parametric analysis.  Added option for separate subject output files by PCAtoEGIS to facilitate individual subject source analyses.  Modified cellist feature in readEGISave so that the cells retain their original cell numbers.

Changes from 1.07
Added option for covariance loadings.  Updated my contact information to University of Kansas.

Changes from 1.08
Modified code to treat covariance loading as an alternate weighting scheme to Kaiser normalization since that's what it is.  Modified covariance loadings so that, like Kaiser normalization, it only affects the weights at the Varimax stage, not at the Promax stage.

Changes from 1.090
Bugs fixed in PCAtoEGIS file.  Legal language in this readme file modified.  Grand average option added to doPCA.  ICA option set to reinitialize random number generator with each use and to use non-verbose output.

Changes from 1.092
Bugs fixed in PCAtoANOVA file.  EGI Toolkit included courtesy of EGI.  Added error check to PCAtoEGIS.

Changes from 1.093 (9/3/06)
In parametric PCA procedure, drop cells corresponding to missing data parameters when generating the mean voltage map.

Changes from 1.094 (11/4/06)
Fixed unique variance vector (FacVarQ) for Varimax.  Fixed scree and screeST for Infomax.

Changes from 1.095 (12/3/06)
Fixed ReadEGISave.  When start and end samples were set to zero, the first sample would remain at zero, resulting in the first sample being random and the remaining samples shifted backwards by one sample and the last one being lost.

Changes in 1.1 (1/27/08)
Bugfix for ICA scree.  Eliminated indexdata.  For PCAtoEGISscripts, changed input cell names and parameter names arrays to cell arrays.  Changed cellcoll to cell array, thus eliminating need to pad it out with zeroes.  Deleted old filetype function (only worked on OS 9 Macs).  Switched to the use of the Field Trip I/O routines for reading in files.  Changed data matrix to 3D array.  Shifted to GNU license.  Made EGIS files always big-endian so that NetStation will correctly read files made on Intel Macs.

Changes in 1.2 (2/21/08)
 Changed direct rotation of factor scores back to direct computation of
 scores since it turned out to be more accurate. Fixed bug in setting up data for spatial analyses introduced in version 1.1.  Copyright notice appears only once per session.  Incorporated GPF rotations and variable Oblimin.  Output is now packaged in a structured variable.  Added RotOpt rotation parameter.  Generalized variance accounted for calculation to all rotations.  Added the readPCAdata function.  Added fixEGIS function.  Added readEGISheader.  Sorts factors in order of size and flips the loadings to be mostly positive for rotations other than Varimax.  Factor loading weighting now applies to all rotations.  Looks for binary compiled version of runica.

Changes in 1.21 (2/21/08)
Subjects mode of PCAtoEGIS fixed.

Changes in 1.22 (3/22/08)
doPCA tests for bad loadings and communalities.  Added total variance accounted for to the output variable.  Rotations are now run 10 times with random starting locations to avoid local minima.

Changes in 1.23 (8/20/08)
1) Added EGIS file utilities. 2) Fixed sign of parametric output from PCAtoEGIS.  For example, positive correlation should result in positive voltage for positive channels but negative for negative channels.  Instead it was producing positive voltages at both types of channels.  Sign is now determined solely by correlation.  3) Fixed unique variance accounted for.  4) Changed readPCAdata to readData.  5) Improved support for other file formats by readData.

Changes in 1.3 (11/27/08)
1) Removed FieldTrip.  It will now need to be downloaded separately.  This was done to avoid collisions between multiple installs of FieldTrip. Be sure to download the latest version of FieldTrip since some fixes have been made to the EGIS file import routines.  2) On the Mac, file type and file creator now set automatically.  QuickType is no longer needed.  3) Changed names of combineEGISave and mergeEGISave to more descriptive names. 4) On the Mac, montage type now set automatically.  ResFool is no longer needed. 5) Output of readData is now a structured variable that contains descriptive information.  Also, the data itself is now a 4D matrix to reduce the possibility of confusion between subjects and cells.  Also, the inputs for readData are now handled using keywords.  For EGIS files no input information is needed at all now, simplifying usage. 6) Added robust statistics routines.  7) Added blink correction routines.

Changes in 1.35 (4/14/09)
1) Fixed spatial PCA crashing doPCA.  2) blinkCorrection can now accept data files with multiple events per trial as long as there is one and only one at stimulus onset. 3) Fixed reversal of cell and subject fields when using readData for non-EGIS file formats. 4) Increased scaling of blinkCorrection plots so that blinks are more visible. 5) Added artifact detection and correction routines to blinkCorrection function, including bad channel interpolation. 6) Added automatic generation of cell combinations for the PCAtoEGISscript stage. 7) Added automatic statistical evaluation of factor results, using robust statistics.  8) More information added to the data and PCA output structured variables. 9) Eliminated need for separate PCAtoEGISscripts for one and two-stage PCAs. 10) Robust statistics prints to file with html format, allowing for formatting. 11) Updated EGIS session file utilities to have endian support.  12) Missing data number for parametric PCA changed to -999.  13) Increased range of files that can be read by readData and the number of options for it. 14) Added mergeEPfiles function so that data from Neuroscan can be analyzed. 15) Added writeData function so full range of supported output files is supported across the Toolkit functions. 16) Added editCells function for editing cells and making difference cells. 17) Batch selection of files in blinkCorrection file requester added.

Changes in 2.0
1) editCells function renamed editData and full display and editing of data file header information implemented.  Other file utilities for performing these functions eliminated. 2) Flat channels are identified as being globally bad channels by the artifact detection routine unless they are the reference channel.  3) Flat channels are identified as being a bad trial channel unless they are a globally flat reference channel.  4) electrode coordinates and channel types added to the files.  5) Fixed problems in html output of robust statistics.  6) Green significance is now one-tailed threshold (twice that of uncorrected alpha). 7) Eliminated latency field of events.  8) Added factor dimension to the datasets, allowing for factor data for individual subjects to be handled within the data structure.  WriteData can now output separate factor files for each subject or separate trial files for each factor when factoring single-trial data. 9) Added "ep_" prefix to all functions to avoid conflicts with other Matlab toolkits. 10) Added full graphical user interface.  Too many other changes to list.  See tutorial for full listing of current features.

Changes in 2.01
1) Checks the cache in EPwork to see if it is from a previous incompatible version or otherwise corrupted and regenerates it if so rather than crashing.

Changes in 2.02
1) Fixes crash when using single trial mode with Read data function.  2) Fixes crash for non-continuous data files that do not contain analysis fields when there is more than one chunk.  3) Fixes bug in preprocessing where when there are multiple chunks, the last two may be miscalculated such that they are data from earlier chunks (thanks to Siri Kamp).

Changes in 2.03
1) Binica file removed from external folder.  Edit window shortened to fit on smaller monitors.  2) Crash during PCA when file was not averaged in EP Toolkit. 3) Crash when saving simple binary format files and the data file was not originally an EGIS format file. 4) Crash when saving single trial simple binary format file and there are more than one events per trial. 5) Single trial simple binary files being saved as ".bin.bin".  6) Fixes to formatting of ANOVA outputs.

Changes in 2.04 (11/9/09)
1) Crash when importing continuous simple binary files with events. 2) Crash when exporting data from QC and PCA subpanes when using a Matlab version predating 2008.

Changes in 2.05 (11/12/09)
1) For preprocessing, when there are multiple chunks, fixed crash when there is an odd number of trials.  2) For preprocessing, when detecting bad channels via perfect correlation, .9999 is now sufficient.

Changes in 2.06 (11/12/09)
1) Fixed bug where Toolkit was saving all variables into EPwork cache, not just EPdataset, resulting in erratic problems when old values for variables were loaded back into the workspace.

Changes in 2.07 (12/4/09)
1) When reading simple binary files, if the cell names cannot be deduced, put all of the segments into the same single cell rather than just aborting. 2) When importing a text file, ignore tabs at the end of the line. 3) Drops CELL and TRSP events for all simple binary files since NetStation loses the associated information when exporting simple binary files. 4) Replaced "union" statements with "unique" statements because, under certain conditions, they would cause Matlab 2007 to crash when doing preprocessing. 5) Added workaround for sporadic Matlab menu bug that was causing menu to disappear or crash when menu item that is selected is same as before. 6) Fixed crash when loading in blink template for a file or pathname with a space in it. 7) In preprocessing, avoid performing trialwise bad channel detection entirely unless both minmax and maxneighbor parameters are inactive. 8) Fix for bug in trialwise bad channel detection where channel 1 would be marked as bad in too many trials if there was only one globally bad channel. 9) Additional check in preprocessing and PCA functions for ICA failure (denoted by imaginary numbers for weights). 10) In preprocessing, detects non-reference channels that are perfectly correlated and identifies them as bad channels as they must be shorted together.  11) In preprocessing, fixed bug where test of correlation with reference only detecting +1 correlation, not -1 correlation. 12) In preprocessing, fixed bug where if there is an explicit reference channel and it is flat, then all reference channels marked bad and real bad channels are no longer marked bad. 13) In preprocessing, don't apply correlated neighbors test to explicit reference channels as distant reference channels will always be labeled bad.  14) In preprocessing, fixed crash when more than one bad channel. 15) Now only asks for montage once when doing a preprocessing batch.

Changes in 2.08 (12/8/09)
1) Fixed faulty bad channel interpolation (x and y coordinates were swapped) for both preprocessing data and when manually constructing a blink template. 2) Fixed crash in Mark option of preprocessing (thanks to Alex Lamey).

Changes in 2.09 (1/17/10)
1) Fixed crash when viewing Window pane for a dataset with less than four cells under Matlab versions prior to 2008. 2) Workaround for Matlab bug that appears to prevent buttons from being colored when pressed in the Channel Group window on Macs using version 2009b under at least some conditions. 3) Fixed crash in ANOVA pane when entering between group name that is not three letters long.  4) Fixed error when changing ced field in overview subpane of edit pane. 5) When reading in an EGIS format file, if none of the EGI montages are chosen, then it will allow for a .ced file to be chosen. 6) Fixed failure due to Matlab bug to redraw View pane when changing the dataset for one of the colors. 7) Fixed crash when examining a file in the View pane with less than four cells. 8) Rounds off ms labels in the scale graph of the Wave Window. 9) Added support to the ANOVA module for non-ERP data with the addition of the "behavioral" keyword.  See the tutorial file.

Changes in 2.10 (1/31/10)
1) Can now leave out subject and cell fields when reading files in single file mode (will use default values instead and will assume all the subjects/cells are the same). 2) Fixed crash when reading files using single file mode and operation is aborted due to problem with files. 3) In order to accommodate file formats like Neuroscan AVG where bad channels may be dropped from the data file, when reading in file formats that label the channels, they will be reordered to match the order of the ced file.  Then, if any channels are missing from the data file then they will be added as bad channels.  Conversely, if any channels are in the data but not in the ced file, they will now be properly handled as locationless channels.  4) The type field in the .ced files is now used since the EEGlab bug was apparently fixed and it is now functional.  The type field must now be present in the .ced file and assumptions will no longer be made about which ones are REF or FID types.  5) Sped up the View function's waveform displays, requiring some additions to the dataset cache. 6) Fixed contents of analysis fields (which keep track of bad channels etc.) being not arranged correctly when merging files, as in the single file mode. 7) Fixed crash when examining QC data on bad channels and trials via the Edit function. 8) Added support for Neuroscan .eeg and .cnt files. 9) Added ability to plot data from continuous data files in the View function by showing only one second at a time. 10) Epoch ms times now displayed as from beginning of first sample to end of last sample. 11) Fixed bug introduced in 2.07 where checkboxes and subject and cell fields on Read and Preprocess panes impossible to deselect.  12) Fixed bug not updating baseline field when using Postprocess function to baseline correct data.  13) Fixed incorrect subject ID being extracted from EGIS session headers.  14) Refreshes Edit pane when Done button is pressed so when Data Name is changed, the name in the list of datasets is updated.  15) Fixed crash when adding a cell in the edit pane whose type is 'SGL'.  16) Fixed an error message when all the SGL cells have been deleted, leaving only the CMB cells, and one clicks on the Factors subpane of the Edit pane.  17) Fixed crash when reading a file due to events with empty value fields (now uses type field instead if value field is empty).  18) Fixed crash while reading files due to empty type fields in eloc information by assuming they are EEG channels.  19) Fixed not saving event data to single_trial EGI simple binary files.  20) Fixed putting events at the very first sample for EGI simple binary files.

Changes in 2.11 (2/28/10)
1) Fixed crash due to changes in 2.10 when loading factor file with CED information with Read function.  2) Fixed loss of some factor information (factor types and combined factor waveforms) when loading EP format factor file using Read function.  3) Fixed bug in code for follow-up ANOVAs that could cause crashes or the wrong factors to be used (but still correctly labeled).  4) Changed bad channel field to negative numbers for uncorrected bad channels to distinguish them from corrected bad channels.  5) Added "repChan" to QC information in the Edit Pane so that one can examine the proportion of replaced bad channels separately from the proportion of uncorrected bad channels.  6) Modified averaging function to accommodate uncorrected bad channels.  7) Counts of total blink trials and movement trials for averaged waveforms now computed by averaging function include only good trials.  8) Averaging function now handles possibility of no good trials for an average.  9) When importing data using the Read function, epochs that are entirely flat across all channels are marked as bad.  10) AvgNum and SubNum fields now calculated when computing grand averages.  11) Fixed crash in Read function when there are two REF channels (as in M1-M2 mean mastoid channels).  12) Can now handle displaying waves from multiple datasets where some of the channels are implicit in one but not the other dataset (as in Neuroscan missing channels).  13) BadChans numbers of QC subpane will now use number of subjects to calculate proportion for grand averages.  14) Fixed bug where during preprocessing, neighboring channels for determing whether a channel is not correlating with its neighbors was sometimes not chosen correctly, which could lead to too many channels being dubbed globally bad.  15) No longer treating shorted channels as being bad channels as this was proving too conservative a criterion.  Instead it now just provides a warning message.  16) Preprocessing can now be applied to subject average files with multiple subjects.  17) Analysis fields no longer optional parts of EP file format.  18) In preprocessing, turning off bad channel preferences affects only the relevant bad channel criteria rather than turning off all bad channel detection.  19) Now has option to use file's default reference channels (as indicated by the CED file) in the preprocess pane.  20) Fixed crash when loading in an EP file with ced information.  21) Fixed crash when loading in a .set file that does not have ced information included in its header.  22) Fixed crash when subject adds are being stripped from data with no subject specs (as in Neuroscan files).  23) Fixed crash when adding subject spec via Edit Pane.  24) When importing EP file format data, correctly checks for data type even for "factors" and "grand_average".  25) When running ANOVAs with between subject factors, fixed the addition of grand averages corresponding to the levels of the factors to the dataset.  26) Eliminated chantype field.  27) If there are two reference channels (as in mean mastoids), then no longer require that they have a -1 correlation as one may just be bad.
28) If there are two reference channels (as in mean mastoids), then they are still marked as bad channels if they are flat.  29) When writing out EGIS files, cell names and experiment names are terminated so that they are not padded out with spaces when read by some programs. 30) Fixed error message when reading factor data with combined (CMB) factor in EGIS format.  31) Now reads the nsweeps field of Neuroscan AVG files to fill in the avgNum and subNum fields.  32) Export file dialogs in Edit function now correctly indicate that the file with be of type .txt. 33) Made autoPCA option of Window function more memory efficient so it wouldn't run out of memory. 34) Fixed crash in ANOVA function when level names of between group factors were of different lengths. 35) Now zero-padding factor names (e.g., "003") to maximum number of digits so that they sort properly. 36) Close files after running batch of ANOVAs to avoid "too many files open" error. 37) When running ANOVAs with between subject factors using the output of the autoPCA option, fixed the addition of grand averages corresponding to the levels of the factors to the dataset. 38) Corrected the peak channel and peak time point identification of factors made by the autoPCA option of the window function. 39) Fixed bug that prevented one from fully deleting the contents of edit fields, such as "baseline" on the preprocessing pane. 40) Fixed bug that prevented one from changing the contents of the edit fields on the postprocessing pane. 41) Workaround for Matlab bug that appears to prevent buttons from being colored when pressed on Macs using version 2009b applied to windowing function's PCA guided channel group option too.  42) Fixed crash when viewing data with regional channels.  43) Eliminated updating of baseline field when baseline correction during postprocessing.  The part of the segment used for baseline correction may not necessarily correspond to the prestimulus period. 44) Fixed crash when using Edit function's Factor subpane to examine factors that include a combined factor add. 45) Fixed inability to set minimum variance setting for autoPCA preference to anything other than zero. 46) Implicit reference channels will no longer be marked as bad when reading them in. 47) Added option to turn off adding montage information to EGIS file format files due to incompatibility issues with some versions of NetStation. 48) Fixed crash when saving EGIS file format file with a "sex" subject spec field.
Changes in 2.12 (3/9/10)
1) One dimensional cell array fields in the EP internal data file format are now standardized to be column vectors.  Some file formats were causing crashes in the Edit function because some of these fields were coming out as row vectors.  2) Fixed crash in doPCA when using grand average option (only useable from command line). 3) When running ANOVAs with between subject factors, fixed having only the first between group waveform being added to the datafile. 4) Fixed bad trials field misnamed and hence horizontal eyebelink detection not having any effect. 5) Fixed lack of splitting of analysis fields (bad channels etc.) when preprocessing resulting in incorrect analysis fields or crash when rejoining the chunks.

Changes in 2.13 (3/28/10)
1) When generating a PCA dataset, ensure that the summary factor, subject, and cell names are not already taken.  If so, add a unique suffix to the name. 2) When reading in data, if .type field is missing from eloc information (due to use of defective .ced file), then add it rather than crashing (assume channels are "EEG"). 3) Support for EDF file format was broken due to dropping of Biosig from FieldTrip (which is used to provide file format support). An attempt has been made to reinstate it but the one sample .edf file that I have yielded defective output.  In order to fix this, I would need someone with access to .edf files to work with me to help track down the problem.  4) Fixed crash when viewing waveforms of data with no implicit channels. 5) Fixed crash when reading in .txt file format data. 6) Fixed crash when reading in data where event information is empty. 7) Fixed crash when viewing data with no electrode coordinate information. 8) Fixed text files treating all channels as being implicit when used with ced files with channel names different than the default channel names. 9) When reading data, for file formats with fixed channel orders (such as EGI files and text files), use channel names from ced file if available. 10) Added ability to save data using .set file format (thanks to Grega Repovs for his help).  11) Reduced memory required to display waveforms.

Changes in 2.14 (4/26/10)
1) When displaying waveforms, fixed zero voltage bar not appearing in expanded waveform figures. 2) When displaying waveforms, fixed stimulus onset bar not appearing in waveforms figures. 3) When displaying waveforms, fixed baseline bar and stimulus onset bar not appearing in expanded waveform figures when click lands on a waveform. 4) When displaying waveforms, fixed real reason waveform figures using much more memory than needed. 5) Fixed wrong peak chans and time points for AutoPCA when not two-step PCA. 6) Scale of waveforms no longer constrained to be at least +/- 1 microvolt when plotting waveforms. 7) Fixed CMB factors not dropped from data when present in .data rather than .facData (which was resulting in error messages about missing factors when, for example, an EGIS factor file was read in and then one switched to the Window pane). 8) Added Topo button to View pane for displaying scalp topographies and screening factors efficiently. 9) Fixed wrong number of channel names when reading fixed order file formats (like EGIS) and the reference channel is implicit.

Changes in 2.15 (5/17/10)
1) Fixed crash when reading data using single file mode with .set files which contain the .eloc information. 2) Fixed crash when reading single_trial data using single file mode. 3) Fixed crash when reading data file that was originally in .set format and then was saved in EP file format. 4) Fixed crash when generating grand average from files with more than one cell by using either mean or median methods.  5) Fixed crash when in Window Data pane using noTable mode (older versions of Matlab) and there are less than five subject specs. 6) Fixed table of cells and table of specs not changing when dataset is changed, when in Window Data pane using noTable mode (older versions of Matlab). 7) Fixed crash when using Topo button of View EEG pane and not all four colors are being used. 8) For Topos of View Pane, fixed can only change channel and latency settings for number of rows equal to number of pages of factors. 9) Fixed Topos of View Pane sometimes crashes when first color is set to none. 10) In Topos of View Pane, added white marker to topos for electrode corresponding to the waveform figures. 11) When reading data,for files with ced set to "eeglab", change to either name in chaninfo.filename field if present, else "none". 12) Added ced to cache contents. 13) In Topos of View Pane, small black dots indicate electrode locations in topographical plots. 14) In Topos of View Pane, may click on electrode dots to move the waveform plot channel. 15) In Topos of View Pane, may right-click on topographical plot to obtain expanded 2D plot. 16) In Topos of View Pane, may right-click on topographical plot to obtain expanded 3D plot. 17) Made blink correction routine more memory efficient by reducing resolution of the blink plots to no more than 10000 points regardless of size of data. 18) For eyeblink correction, fixed when data is mean mastoid, not setting second reference channel to be inverse of the first reference channel. 19) For eyeblink correction, fixed crashes when explicit reference channel is present and identified as being a reference channel.  20) Changed the way the electrodes are highlighted on the Channel Grouping page to get around a bug in older versions of Matlab.  May cause compatibility issues though, as I don't have a copy of every Matlab version so I'm not sure which versions of Matlab are affected. Let me know if you run into problems with this.  21) Added summary page to the PCA subpane of the Edit function, including the total variance accounted for information. 22) In Topos of View Pane, may right-click on topographical plot to obtain basic dipole analysis. 23) In Topos of View Pane, electrode names no longer provided alphabetical order in popup menus. 24) Added option to use unrotated solution for PCAs.

Changes in 2.16 (5/25/10)
1) Fixed location of the variance accounted for table for old versions of Matlab for two-step PCAs in the Summary subpane of the PCA pane of the Edit function.  2) Fixed crash when reordering cells using the Edit function. 3) Fixed crash when a two-step PCA fails due to an error. 4) In PCA pane, number of factors and title of PCA no longer being changed to blank when changing other PCA settings. 5) Fixed crash when importing .set file or EP file with unavailable or invalid ced file named in ced field.  6) In readData function, fixed channel selection not operating on channel coordinates eloc field (not accessible from GUI). 7) Fixed assumption in Edit function that appended files will be in EGIS format. 8) Fixed crash when merging average files. 9) Added support for reading and writing EEGlab .study files. 10) When saving EEGlab file formats, cells are now saved as separate .set files.  11) When using single file mode to combine data files, fixed subtle bug where a cell or subject names that are supersets of a shorter one (as in "sub010" and "sub01") could be treated as being the same. 12) Fixed cell names being associated with wrong cells after averaging data (thanks to Kate Bailey). 

Changes in 2.17 (6/19/10)
1) Fixed crash when rereferencing and there are no implicit channels. 2) Fixed crash when postprocessing (bug introduced in 2.16). 3) Fixed not keeping FID channels in implicit channel info for fixed channel order file formats (e.g., EGIS, text). 4) Fixed electrode information not matching the data for second file onwards when reading files in single cell file mode. 5) For single cell file mode, no longer need to access ced file for every file. 6) Fixed not successfully merging average files together when reading in data using single cell file mode. 7) Fixed cell labels and sub labels not being applied when reading EP file formats, as when using single cell file mode. 8) Fixed baseline control on Samples subpane failing to change baseline value. 9) When importing data via single cell file mode, only adds trial names for single trial data files. 10) View function no longer crashes when average file erroneously has non-empty trial names field. 11) Fixed crash when reading file formats with fixed-order channels when ced file has wrong number of channels. 12) Fixed files sometimes not being recognized as being selected when names are in uppercase. 13) Fixed not ignoring extra tab at end of line of text files, resulting in "not-a-number" errors. 14) Fixed crash in Topos function when trying to display 3D plot or dipole source using .ced file generated from a .elp file. 15) Fixed average files not being generated with .dataName field, which could result in crashes down the line. 16) Added dipole analysis of jack-knifed PCA results to the Topos function of the View Pane. 17) Added name of first session file to the name of the artifact correction log file if just one file or the number of files if more. 18) In listings of files, puts a star in front of files that have unsaved changes. 19) PCA output no longer adds grand average to subjects dimension if the data type is continuous to avoid resulting crashes. 20) Fixed crash when retaining only one factor for an Infomax rotation. 21) Changed the suffix of EP files to ".ept". 22) Fixed crash when loading EP or .set file with name of original ced file in addition to eloc information. 23) Fixed losing the electrode coordinate information (eloc and and ced) when loading in a .study file. 24) Fixed crash when windowing adds regional channel and there is no electrode coordinate information (eloc). 25) Fixed crash when conducting robust ANOVA and there are no spec columns in the ANOVA data file.

Changes in 2.18 (7/27/10)
1) Fixed when no within factors for ANOVAs, pane indicated needed one within cell rather than zero wthin cells. 2) Fixed freeze after requestor for information (like name of spec being added to a file using the Edit function or the name of a new merged file when using the Single File Mode of the Read function) due to Matlab bug on Windows computers. 3) Now requires use of 20100720 version of FieldTrip so that it makes use of fixed EGI simple binary code.  This fix prevents the Toolkit from getting confused by the inclusion of DIN events, resulting in inability to assign trials to the appropriate cells.  These newer versions of FieldTrip also no longer have the R13 and R14 files in the compat folder that were destabilizing Matlab. 4) Fixed view pane listing all the trial names of the dataset rather than just those for a specific cell, resulting in crashes when they were selected. 5) Fixed crash in PCAwhen there are variables which are flat (zero standard deviation). 6) Fixed crash in View Topos when doing dipole or 3D function and ced is either empty or "none". 7) For View Topos, fixed 3D, dipole, and jackknife results incorrect for topos not on the first page (when there are multiple pages of topos).  8) Fixed crash when viewing Waves and data are all zero.  9) Fixed grand averages, which are added when computing ANOVAs with between factors, as they were being computed incorrectly when the between factor column was not sorted alphabetically (only affected waveforms, not the ANOVA results). 10) Fixed min and max of factors sometimes not being calculated correctly, resulting in View Waves plots sometimes not having the voltage range set correctly.

Changes in 2.19 (8/25/10)
1) Fixed crash when reading a file if using "trial" events to determine name of cells and the .value field is empty. 2) Fixed crash on start-up when EP Toolkit folder name has been changed. 3) Fixed Single File mode aborting when reading files in conjunction with a .ced file due to "has different channels" error. 4) Fixed errors when importing .study files where the group or the session fields were left blank. 5) Now supports writing out unsegmented simple binary files. 6) Fixed append cells and append subjects functions not working due to fallacious error messages.

Changes in 2.20 (10/10/10)
1) Fixed unable to output result of averaging function in EGIS format. 2) In Edit function, fixed append cells and append subjects and append chans crashing when averaged data (typically ept files) contain noise or std information from having run the averaging with the Toolkit and the new file is not a factor file. 3) In Edit function, fixed append cells and append subjects and append chans not adding std and noise information from the new file. 4) In Edit function, fixed append cells failing if the files contained trial specs, as in EGIS files. 5) Fixed not allowing subject rows to be changeable even when exceeding limits of subject subpane when using a Matlab version predating 2008. 6) Fixed bug when reading data files such that events in the final sample of a segment were being assigned to the succeeding segment and causing a crash if the segment was already the last one. 7) Fixed crash when the montage keyword was followed by a blank, as when preprocessing a batch of non-EGIS files containing more than one data file. 8) Eliminated warning message associated with the Fileparts function starting with Matlab 2010b.  9) Now assumes that all the session files going into an average is using the same montage so doesn't keep asking for it. 10) Standardized error messages. 11) Fixed Edit function not able to append subjects or cells to data with same names by generating new name. 12) Fixed crash in Edit function when appending cells to non-single trial data. 13) Fixed crash in Edit function when appending subjects to a file with more than one subject or appendings cells to a file with more than one cell. 14) Fixed centroid measures in Window function too large due to addition of the left side of the window (e.g., +200 ms for a window of 200-300 ms).

Changes in 2.21 (1/26/11)
1) In artifact correction routine, fixed badChans and badTrials fields of data files not being recorded for all but last chunk when data are being processed as multiple chunks. 2) For continuous files, data now divided into one second epochs and can be artifact rejected in an epochwise fashion in same fashion as segmented data. 3) Added support for saccade correction to be done in the same fashion as blink correction as opposed to simple rejection of the trial. 4) Now accepts upper case file suffixes (e.g., .EGIS). 5) Now handles mismatch in artifact correction where file template or data has implicit reference and the other one has explicit reference. 6) When reading in EGIS session files with implicit reference channel, adds it in explicitly, thus avoiding crash in eyeblink correction routine. 7) Fixed crash in Window function after switching to a dataset with fewer cells. 8) Fixed crash in ANOVA function when performing ANOVA with no between group factors under Matlab 2008b. 9) No longer aborts blink correction when number of electrode coordinates in blink file and in data match (including implicits).  10) Fixed bottom of Topos window being cut off on laptop screens.  11) Fixed crash in ANOVA function when used prior to data being loaded into the work set yet (due to badly initialized variable).  12) Now putting preferences file and work directory at default user directory if old one cannot be found in order to work better on Windows computers.  13) Type grayed out of Preprocess, Average, Postprocess, and Read functions when set to .ept files since the type is specified by the file.  14) "Done" buttons renamed to "Main" to reduce confusion (thanks to Tim Curran). 15) Fixed channels not being unstandardized correctly in jack-knife function of Topos, resulting in some inaccuracy in dipole results and potentially a crash.  16) Fixed crash when trying to display Topos where some channels are missing electrode coordinates.  17) Wave window title now more descriptive (thanks to Arild Hestvik).  18) View function now defaults to selecting the newest dataset rather than the first dataset (thanks to Arild Hestvik).  19) When adding combinations of cells or subjects, the name of the new addition describes what went into it.  20) Bumped default size for preprocessing chunks up to 200000.  21) Added support for selecting timepoints in preprocessing (previous implementation was non-functional).  22) Fixed View ANOVA function not matching up ANOVA levels with data columns correctly when a subset of the columns are selected.  23) In Contrast function of the ANOVA pane, fixed levels of ANOVA factors being listed in the wrong order when there are more than one ANOVA factor.  24) In Contrast function of the ANOVA pane, fixed crash when no between factor specified.  25) Fixed error message incorrectly rejecting between or within contrast specified as being "1", which should mean no contrast of that type.  26) Added option to manually specify EOG channels for preprocessing for cases where automatic EOG channel selection does not work.  27) Fixed channel controls for Window Pane not working on Matlab versions prior to 7.8.  28) Fixed some channel controls for Window Pane going off screen on a laptop screen.

Changes in 2.22 (2/3/11)
1) Fixed crash in preprocessing when autoTemplate or bothTemplate options selected.  2) Fixed only final factor being expanded for spatial PCAs for purposes such as viewing topographies of factors.  3) Fixed crash when starting program on a computer with spaces in the default user path, as in "Documents and Settings"

Changes in 2.23 (4/11/11)
1) Hopefully fixed crashes from buggy reset of preferences.  2) Fixed crash when performing eyeblink correction due to change in preferences file.  3) Fixed not using saccade preference settings.  4) Added commands to change or create EPwork directory from the EP menu.  5) EPprefs files now stored only in EPwork directories.  6) Fixed contents of topos window getting shifted upwards off window when OS X Dock is at bottom of screen.  6) Fixed crash when displaying data with only one or two timepoints using Topos view.  7) Fixed crash when saving continuous simple binary or EP file with events and with no bad trials.  8) Added support for reading CSV text data files in addition to tab-delimited text files.  9) Added support for importing NetStation Matlab data files.  10) Fixed crash when performing contrasts with dataset having no between group factors.

Also, note I've entered in updates to the FieldTrip I/O code to optimize loading of simple binary files, fix to problems reading EGIS files on linux systems, and fix for segmented simple binary files that don't have any events.  Be sure to update your copy of FieldTrip (to March 26, 2011 or later) if you are using any of these file formats.

Changes in 2.3 (5/24/12)
1) Fixed output file from the Window function having the suffix ".txt.txt".  2) Number of bad channels per trial in artifact correction log calculated incorrectly.  Artifact correction function itself not affected.  3) Fixed crash when seeking to form manual blink templates and the only available files have missing channel coordinates.  4) Fixed not saving reset preference values when preference file found to be out-of-date.  5) Fixed crash when userpath is blank and Matlab is version 2007 or presumably earlier.  6) Fixed crash when using saccade correction on file divided into multiple segments.  7) Added support for specification of current reference as opposed to original reference in preprocessing pane and in EP file format.  8) Eliminated REF channel type and added reference field to keep track of original and current reference scheme in order to improve handling of references in artifact correction function. 9) Fixed crash when bad channels detection in artifact correction routine generated error message.  10) Fixed crash when different numbers of factors correlate with left and right saccade templates.  11) Eliminated crash when loading EP format file with both electrode coordinates and a regional channel.  12) Fixed not saving preference changes and now looks for the preferences file in the current working directory.  13) Robust ANOVA function properly handles new warning code for ill-conditioned matrices added in recent versions of Matlab.  14) Changed separation character for added grand average when computing robust ANOVAs from "|" to "_" as the former was causing crash on PCs when saving files to text format. 15) Fixed crash when loading or saving channel group files where there is a space in the name or the path.  16) Fixed not assigning cell names to .set files generated by ERPlab.  17) Fixed Window pane not allowing channel groups to be chosen using PCA results when the data file has a regional channel.  18) When loading older EP files, if data had implicit reference and was EGI data, then converted to explicit reference.  19) Changing the sampling rate in the edit pane now also changes the time point names. 20) Noise and std fields no longer optional.  Now set to empty if not used.  21) Updated copy of topoplot to avoid crash in current version of Matlab. 22) Changed default behavior of channel groups in windowing function so that channels are collapsed together prior to measure being taken, although preference option added to allow for original behavior of taking measure first. 23) Fixed PCA not restoring flat variables back to data after PCA, as in reference channels, resulting in crashes. 24) Added support for handling missing data when adding channels, cells, or subjects or when windowing data. 25) Eliminated "no ref" option for preprocessing as no longer needed and confusing. 26) Fixed crash when saving continuous simple binary files with bad segments and changed so that bad data segments are marked with 1000 microvolts rather than just deleted. 27) Fixed crash when appending files to data each with just one entry (e.g., appending cells, resulting in two cells) and then trying to append additional files. 28) Fixed crash in blink template window when there is an average file in the working set with multiple subjects. 29) Fixed crash in topos view when conducting dipole analysis on data with regional channels. 30) Fixed crash in Topos after clicking on Done when the final colors are not PCA data. 31) Fixed regional channel waveform added to dataset when windowing not computed correctly when there are more than one channel group and the last one to be edited by the channel group function is not the one being used. 32) Added prestimulus period field to the Transform function. 33) Fixed changing prestimulus period in Edit function modified timepoint names relative to prior values rather than absolutely. 34) Fixed crash when loading in EP format file with no implicit channels. 35) Fixed crash when performing artifact correction on chunked continuous files. 36) Added support for reading EGI MFF file format. 37) Numerous minor fixes.

Note changes have been made to the installation instructions in the Tutorial.

Be sure to update your copy of FieldTrip (to fieldtrip-20120608 or later) if you are using Simple Binary or MFF file formats or dipole source analysis.

Changes in 2.31 (9/9/12)
1) Average function can now merge together files with different sets of cells.  2) Added option to combine cells in Edit function weighted by number of trials in each average. 3) In windowing function, fixed bad channel handling referring only to first channel in channel area.  4)  Fixed missing data numbers being transformed to psd and dB for frequency data.  5) Allow continuous files that have been frequency transformed to be averaged. 6) Fixed overwriting existing file with Transform function if the output file format differed from the input file format. 7) For the Edit function, fixed crash when examining std table of the QC subpane for frequency data.  8) Fixed edit's add cells trial weighting option not working correctly when the cells are not a consecutive series starting with the first.  9) For topo plots, fixed minimum voltage scaling being set to -1000 whenever minimum voltages are below 1000. 10) Fixed crash when trying to add subject ANOVA waveform after computing robust ANOVA and subjects have been trimmed. 11) Fixed crash when trying to add subject ANOVA waveform after computing robust ANOVA and data is not from PCA output. 12) Fixed crash when loading older EP format files with factor data. 13) Fixed selecting incorrect time points when running spectral analysis on continuous data files (data corruption bug!!!!). 14) Improved ability to figure out the cell names of EEGlab files.  15) Fixed crash when combining multiple session files into one average file. 16) Fixed blink templates being saved as text files. 17) For windowing, fixed channel numbers appearing black on black background on windows computers.

Changes in 2.32 (9/15/12)
1) Fixed blink and saccade waveforms not being displayed correctly when constructing manual blink and saccade templates.  2) Fixed crash when using template creation function and EEGlab has been installed using standard procedure.  3) In edit pane, changed Factors tab so not stripping out adds prior to displaying summary table to allow for datasets consisting only of adds.  4) Fixed crash in Edit pane when deleting factors.
 5) Fixed crash in Edit pane when deleting factors from data with a combined factor add. 6) Fixed crash in Average function when combining multiple session files into one average file and there are corrected saccades in files after the first.  

Changes in 2.33 (2/3/13)
1) Added option to set last row to be imported in text files. 2) Fixed crash when changing the sampling rate in the Samples subpane of the Edit function.  3) Fixed subNames, subTypes, cellNames, cellTypes, facNames, and facType fields generated by single file mode and by PCA output and by Transform data not necessarily being column vectors, resulting in crashes in other parts of the Toolkit. 4) Fixed crash when invoking 2D plots in Topos view. 5) Fixed crash when using combining cells or chans for spatial PCA data. 6) Fixed Transform not updating reference type when rereferencing data. 7) Fixed missing markers in Wave plots when data range is less than one.  8) Fixed crash under certain circumstances when windowing data with multiple channels in a channel group.  9) Added option to do internal calculations of frequency data in either amplitude or power form.  10) Fixed erroneous error message and crash when trying to PCA average file where bad channels were dropped rather than replaced.  11) Fixed error message when expanding channel for waveform plot for which the data are no longer available. 12) Fixed not changing prestimulus period in Transform function when reference set to "none."  13) Added frequency filtering (low pass, high pass, bandpass, bandstop, notch) to Transform function.  14) Fixed subNames and subTypes field not being a column vector when averaging multiple files, resulting in no average file being saved.  15) Detects when PCA yields complex numbers due to rounding errors causing relationship matrix to be unsymmetric and makes the relationship matrix symmetric.  16) Since eigenvalue decomposition during PCA is not always in ascending order, sort them first.  17) Handles situation where FFT data has negative values (e.g., due to imprecision in PCA results) and transforming to dB would result in complex numbers, by taking absolute value first.  18) Events assigned to wrong subject (off by one) when reading in average files.  19) Added support for reading .set files generated by Widmann's pop_grandaverage function.  20) Added support for reading .erp files generated by ERPlab.  21) Fixed erroneous "labels" error message when trying to load .study file.  22) Fixed error message when applying PCA to data with only one cell.  23) Fixed problem that loading EP files with frequency PCA data results in damaged data file and error messages.  24) Fixed problem where information for expanding channels in waveform plot is lost under some circumstances.  25) Added option to contextual menu in Topos view to rescale figures according to selected topo map.  26) Fixed bug in reconstruction of PCA data from frequency-domain PCAs.  27) Added markers and expanding window to waveform figures in Topos.  28) Added manual scanning for bad channels and trials.  29) If baseline correction chosen, will occur even if blink correction not performed and it will be applied prior to global bad channel and trial detection.  Detrending now performed prior to global bad channel and trial correction and baseline correction.  30) Fixed crash when trimming low end Hz of spectral data using Edit function.  31) Fixed identifying all EGIS files as Hydrocel-128P under OS X 10.8 when using Satimage osx.  32) Added frequency-domain peak measures to windowing function.  33) Fixed crash when combining channels for factor data under certain circumstances (presence of facData due to adds).  34) When saving a dataset, name of dataset changes if new name is chosen for saved dataset.  35) Fixed a variety of issues with the automatic scaling in the topomap figures, especially for spectral data.  36) Fixed error message when generating PCA data from a single subject average.  37) Fixed crash in View pane under when changing a dataset under certain circumstances.  38) Marker fields in View pane no longer reset to blank whenever a change is made in the settings.  39) Clearing volt, hz, and sample parameters in View pane no longer crashes.  If value is manually set, will not change until a new dataset is chosen or until the value is cleared (in which case it will be replaced with automatic value).  40) Added writing ERPlab format files.

Support for new file formats requires updated FieldTrip (1/19/13 or later).

Changes in 2.34 (2/26/13)
1) Fixed error when setting file format preferences to ERPlab files.  2) Fixed failure to save preferences when save preferences button clicked.  3) Changed ms window information provided in header of windowing text files so it ranges from onset of sample to offset of sample rather than onset to onset (e.g., 0-4 ms rather than 0-0 ms for first sample).  4) Fixed ms window information on Window pane so that it ranges from onset of sample to offset of sample rather than offset to offset (e.g., 4-4 ms rather than 0-0 ms for first sample) after changes to the windowing settings.  5) Fixed running baseline correction even on frequency domain data even though baseline fields are grayed out.  6) Fixed time names not being calculated correctly when sampling rate changed using Edit function.  7) Fixed crash in View waves or when setting channel groups in Window function when all channels are along midline or center line.  8) Fixed crashes after Edit function used to trim the range of frequencies due to not applying trimming to std or FacVecF fields.  9) Allow View Scan function to operate on average files.  10) Now checking installation configuration only when EP first started.  11) Fixed peak channels not being identified correctly in Topos view.  12) In Edit function, fixed %age of blink, saccade, move, and bad trials in QC subpane being computed incorrectly for average data.  13) Fixed power field not being included in merged files, such as from Single File Mode, causing crashes elsewhere.   14) Fixed crash when loading in .study average file where the .set files have no prestimulus period.  15) In Topos view, fixed crash when displaying data with a regional channel.  16) Fixed crash when data file has no event information.  17) Fixed crash in Topos view when displaying frequency data in dB scaling and the maximum value is negative.

Changes in 2.35 (2/26/13)
1) Added check for more recent versions at startup.

Changes in 2.36 (4/5/13)
1) In Topos function, fixed peak samples of ERP data being identified by amplitude rather than absolute amplitude.  2) In Topos function, added display of topos at every 50 ms for ERP and TFT data and every Hz for FFT data for non-factor data.  3) Fixed Topos not allowing two datasets to be shown in parallel when they have different regional channels.  4) Fixed Topos crashing when trying to display factor and non-factor data side by side.  5) In Edit function, fixed combining of subjects and chans not correct when weights not the same (as in difference wave).  6) In Edit function, fixed weighting of difference waves for cells and chans and subjects incorrect (waves too small).  7) In Window function, fixed windowed files being labeled as being in dB even when voltage data.  8) In Channels subfunction of the Window Data function, fixed crash when applying factor loadings and there is more than one PCA dataset in the working set.  9) Wave plots can now accommodate datasets with different sets of channels.  10) In Scan function of View pane, fixed crash when using secondary datasets with differing fields, such as PCA and not.  11) In Scan function of View pane, fixed crash when right shifting the cell and a secondary dataset is already at the maximum cell.  12) Improved the controls for the Windowing pane.  13) Improved handling of channel groups in the Channels function of the Windowing pane.  14) In Topos function, added peak point/Hz line to expanded waveform windows.  15) Markers in waveform plots can be set at zero ms.  16) For saved files in ERPlab format, fixed fields ERP.ntrials.rejected and ERP.ntrials.invalid to be vectors of zeros rather than empty set (due Joseph Orr).  17) Accommodated change in Matlab 2013a’s userpath function that, at least on a Mac, can cause it to lose track of the existing EPwork directory.

Changes in 2.37 (5/13/13)
1) Scaling of topos now obeys the values on the View pane.  Also, fixed manual changes to plotting range no longer working.  2) Fixed Simple Binary average files being scrambled when read!  EP Toolkit now accommodates loose Simple Binary file format specification rather than make assumptions about its internal structure (there is no formal documentation on it).  3) Better handles ced files where there are channel types other than EEG, FID, and REF.  4) Fixed choosing "auto" as Edit Mode setting in Preprocessing pane resulting in error message.  5) Added option to average together samples around a peak to minpeak and maxpeak measures.  6) Implemented Luck (2005) suggestion to only count as a dip/peak a sample where both neighboring samples are higher/lower.  7) When there is missing data (more likely now with new peak measure code), the NaNs are converted to missing data code specified in preferences setting.  8) Fixed Read function where if baseline was zero ms then instead it was being reported as being 4 ms.  9) Fixed detrend button in Preprocess Data pane not working.  10) Fixed warning when trying to read in Neuroscan files with two physically linked explicit reference sites.  11) Added option to the Trials subpane of the Edit function to load a text file to rename the cell names of all the trials.  12) Added support for reading EGI's epoch-marked simple binary format for session files.  13) Added table to Scan function which lists %age of bad channels and allows channels to be marked globally good or bad.  14) Fixed Scan crashing if the scaling is from zero to zero, as with a bad trial.  15) Fixed automatic global bad channel detection being performed even when editMode set to Manual.

I’ve also committed changes to the FieldTrip I/O to fix an issue where trying to load in mff files caused the EP Toolkit to crash, fix to the automatic inference of the baseline period for simple binary files, and support epoch-marked simple binary session files.  Copies of FieldTrip should therefore be updated to 5/11/13 or later.

Changes in 2.38 (5/30/13)
1) Fixed Single File Mode in Preprocessing pane crashing when values entered. 2) Fixed Single File Mode in Preprocessing pane crashing. 3) Fixed crashing when merging fixed channel files (like Neuroscan) where there are channels in the data that are not in the CED file. 4) Fixed single file mode single-trial data files not being merged successfully. 5) Added option to eliminate unwanted channels, as in a GFP channel, when reading in the data by marking the channel type as BAD in the CED file. 6) When merging files, as in Single File Mode, channels not present in the initial file simply dropped from succeeding files rather than aborting the run. 7) Single-Trial Files from multiple subjects can now be selected using the Read pane's Single File Mode and read in as separate files.  8) Fixed crash when loading in a channel group file for the Window function and there currently isn't any channel group defined. 9) Fixed crash when going into channel group subpane, cancel out without defining a channel group, and then return to the subpane. 10) Fixed crash when windowing using the minpeak or maxpeak measures with the adjoining samples option and the peak latency was at the upper end of the window. 11) Fixed crash when windowing and there are multiple channels in the area of a channel group. 12) Fixed crash during windowing when factors were used to define the areas of a channel group. 13) During windowing, fixed minpeak and maxpeak measures yielding missing data numbers when the window size was less than three samples, as in the autoPCA mode. 14) Fixed Export button on Edit’s Factors subpane not working. 15) When reading in text data files, multiple delimiters between values (as in space-space) now treated as a single delimiter.  16) Fixed output of windowing being for channel 1 rather than the intended channel for non-spatial PCAs (spatial and temporo-spatial PCAs not affected).

Changes in 2.39 (6/18/13)
1) Fixed bug introduced in 2.30 wherein variable standard deviations for two-step PCAs are applied incorrectly, resulting in inaccurate PCA reconstructions.  ANOVA results should be fine but topographic maps and source analyses for PCAs where spatial was the second step will be affected, as will waveform plots when the second step was temporal.  Thanks to Hiroshi Nittono for reporting this problem. 2) Fixed windowing pane crashing when Herz bins changed.

Changes in 2.40 (10/21/13)
1) Fixed dipole analysis in Topos function crashing due to changes in FieldTrip.  2) Fixed crash in Read pane when segmented simple binary session file is incorrectly specified to be an average file by the user.  3) Fixed combining channels into Regional Channel in Edit function or from windowing results in flat waveform.  4) Fixed View crashing if none of the data have electrode coordinates available.  5) Fixed Change Work Directory menu function not working.  6) Initializes mff file support at startup so that it doesn’t crash the toolkit down the line as workaround for Matlab bug.  7) Modified so panes fit on screens with less than 700 vertical pixels.  8) Fixed overview subpane of Edit function graying out number of factors.  9) Fixed not making factor data available for setting channel groups in windowing function when first in analysis set had different number of channels.  10) Fixed not asking for channel group name in windowing function when creating a new one via factor loadings and is currently the initial blank one.  11) Fixed not updating the display of the area names when using factor loadings to define the channel groups in the windowing function.  12) Fixed when using factor loadings to define channel groups in the windowing function, area names not reflecting factors defining them.  13) Fixed when using factor loadings to define channel groups, wrong channels could be chosen. 14) Worked around crash when reading mff files under Matlab 2013b by using alternative mff file format function.  15) When reading file, fixed incorrect inference of reference scheme when a single ref channel is designated.  16) When reading a file, fixed channel type not changed from REF to EEG for flexible channel order file formats.  17) Fixed REF channels assumed to be last for fixed order channel file formats.  18) For reading files, better support for MEG and ANS chan types, and BAD CED code.  19) Added support for mff files with recording stops and with segments.  20) Added support for boundary events (for continuous data where recording was stopped and then restarted).  21) Workaround for EEGlab issue where if a CED file has just the label and the type filled out, the type info migrates over to the theta column for some reason.  22) Changed event sample to count from start of epoch rather than FieldTrip convention of start of recording.  23) Improved detection of Simple Binary files with scrambled cells.  24) Fixed preprocessing function not finding files past the first when batched and they are not in the active directory.  25) Fixed PCA of continuous data generating error message.  26) Full support for ECG channel type.  27) Fixed Read function rejecting files if sampling rate and time names different past three decimals due to rounding errors.  28) Fixed crash when reading EEGlab file if cell names are a mix of numbers and strings.  29) Fixed crash when reading file if type field from CED file contains numbers for some reason.  30) Added recTime field to keep track of  recording time of an epoch with respect to the start of the recording session.  31) No longer rearranging single trial data to group by cell.  32) Eliminated offset field from events structure.  33) Fixed topoplot not showing the correct peak channel for non-factor data.  34) Better updating of history field.  35) Added display of trial specs to Scan function.  36) Fixed one-second epochs displayed with View function one sample longer than intended for continuous data.  37) Made a number of fixes to exporting of single-trial data in EEGlab format as it wasn’t working.  38) When reading EEGlab single-trial data, rejected channel and trial information is included.  39) When reading and writing ERPlab files, nTrials information is supported.  40) When reading ERPlab files, channel location information is supported.  41) Ensure that power field comes after analysis field to avoid crash in functions like scan when looking at multiple EP data files.

I’ve also committed changes to the FieldTrip I/O to fix problems with trying to load simple binary files (unsegmented files being treated as segmented, crash when simple binary file has no event track, and crash when there are event tracks but no events marked) and mff files (Matlab bug causes global variables to be erased crashing the toolkit and not computing event times correctly and not registering multiple segments correctly and not including events only within period of the epoch and not separating the trials of segmented data and adding better support for segmented files) so the FieldTrip copy should be updated to 10/15/13 or later.  Currently, mff average files cannot yet be read.

I’ve also reported a bug in EEGlab (still present as of 12_0_2b5) that has been affecting CED files.  CED files created with pop_editChans, as described in the tutorial, are defective (the columns are scrambled).  If you use this function to create a CED file, check the resulting file using a program like Excel to make sure that the columns are in the right place with respect to the headers.  If they do not match up, then move the columns so that they do.  The order of the column headers is correct so do not move the column headers, just everything below the headers.

Changes in 2.41 (12/27/13)
1) When saving simple binary files with events, fractional sample durations rounded up.  2) Dropped setting bad one second epochs to 1000µv when saving simple binary continuous files.  3) Fixed crash when reading file with TRSP events that was not in mff format.  4) Fixed crash when translating single-trial EP file to EEGlab format and there are no events.  5) "boundary" in .type as well as .value fields for boundary events.  6) Added .keys field to events field to hold additional information, especially for mff files.  7) Added subject specs support for mff files.  8) Fixed EEGlab .set files not including study name in file name.  9) Fixes font sizes on Windows.  10) Fixed “About EP Toolkit” spawning new main window.  11) Fixed not checking to see if file name already exists when saving an EEGLab .study file.  12) For continuous data in Waves and Scan functions, baseline correct each channel by entire one second epoch so that waves will be visible.  13) + and - change scale buttons added to Scan function.  14) Scan and Waves functions can now present event markings.  14) Fixed crash in view waves function when superimposing two datasets where one is missing channel coordinates. 15) When channel type is changed using Edit function to REG, ANS, or ECG, electrode coordinates are set to missing.  16) Added Segment Data function.  17) Filtering will not cross boundaries.  18) .analysis edit fields updated when points dropped from a continuous file.  Boundary events added as needed.  19) Added fMRI artifact correction option to Preprocess data function. 20) Fixed crash in blink correction when there is more than one bad channel.  21) Adds blink artifact channel and event marking peak latency of the blink in each epoch.  22) Blink correction checks for semi-singular data matrix, as from bridged channels, and drops dimensions as needed to improve quality of solution.  23) Averaging keeps all the events from the averaged data.  23) Adds saccade artifact channel and event marking onset latency of the saccade in each epoch.  24) In Scan function, added toggle to center data and a toggle to switch between clicking to mark bad channels and clicking to expand the waveform into a separate window.  25) Fixed frequency domain transform of continuous data not generating proper recTime field, resulting in later crashes.  26) Fixed crash in Topos function when trying to change scaling of frequency-domain data.  27) Preprocessing does not write over existing files.  28) Fixed noise and std fields set same as the data when combining cells or subjects.  29) Fixed crashes in preprocessing when there are multiple bad channels.  30) Fixed in Edit function added new subject or cell duplicating existing name resulted in corrupted file.  31) Fixed crash when regenerating cache and there is a spatial PCA in the active set.  32) Added windowing function option to window 'all' the channels.    33) Fixed crash in Preprocessing when there are multiple global and trialwise bad channels when running under a version of Matlab earlier than 2013a.  34) Fixed crash when reading .set files using single file mode.  35) Fixed between group ANOVAs not being calculated correctly when the between group variable is not sorted alphabetically.  36) Fixed crash in Edit function when adding factors together.  37) Fixed crashes in Template function when there is a non EEG channel present.  38) Fixed crash in Template function when switching between datasets with different electrode montages or epoch length.  39) Fixed crash introduced in 2.40 when performing two-step PCA.

I’ve also committed changes to the FieldTrip I/O to allow EEGlab user-added custom event fields to be read so the FieldTrip copy should be updated to 11/1/13 or later.  Also, when I upgraded to OS X 10.9 (Mavericks), I started getting a lot of momentary freezing of the Matlab user interface. It appears that a number of third-party packages are incompatible.  My own issues were solved using the Console utility, which identified RSSbot as having an endless stream of error messages, and the Activity Monitor utility, which identified Safari as having a lot of hung subprocesses, which I in turn tracked to the Flash Player plugin.  Also, upgrading XQuartz to 2.75 (which the Mavericks installer does not do for you) made a big difference for Matlab specifically.

Changes in 2.42 (3/23/14)
1) In Scan function, fixed showing bad channel markings for first cell regardless of the currently displayed cell.  2) Fixed crash in saccade correction when there is more than one bad channel.  3) Fixed crash when reading mff file with more than one subject field.  4) Added workaround for Matlab bug which has been causing screen size to periodically register as being zero.  5) Fixed crash when stripping off single factors from combination factors, as in the Save function.  6) Fixed crash when trying to topoplot data where electrode coordinate information is present but all coordinates are missing.  7) Added option in Edit function’s Overview subpane to load in new electrode coordinates.  8) When reading in boundary events in mff files, duration field contains the length of the recording pause.  9) Added Trim Data option to the Segment Data function.  10) Fixed crash when non-Mac user tries to open mff files by selecting a directory that does not contain any mff files or selects the mff file itself.  11) Fixed crash when running a two-step PCA on a PCA file generated prior to version 2.40.  12) Fixed aborting PCA when factor loadings slightly over 1 due to rounding errors.  13) Fixed crash when reading ced file with REF channel type indicated.  14) Fixed crash when using View with TFT data.  15) Fixed crash when trying to plot frequency data in Topos with dB scaling where the power equals zero.  16) Added View function option to plot or erpimage all trials and all subjects.  17) pca no longer optional field for EP file format.  No fields are optional.  18) EP file fields now have standardized ordering to fix crash in Scan function when looking at files with different orderings.  19) Fixed crash, as in scree plot, when a file has different types of adds in a category (e.g., GAV and AVG in subjects)  20) Fixed PCA not correctly recognizing that a file has already undergone two-step PCA.  21) Fixed subjects subpane of Edit function specifying average subject type as being AVE rather than AVG.  22) Fix for not properly adding new blinks to the template for single trial data.  23) Fixed REF channel type not being changed to EEG for files with one reference channel, resulting in some continuous files not being made available for forming blink templates.  24) Fixed crash for EGIS average files with custom cell header lengths.  25) Fixed when using single file mode to read in single-trial files, all the resulting files are identical to the very first subject.  26) Handling decimal sampling rates more gracefully.  27) Changed MEG channel type to MGA (axial gradiometer) and MGP (planar gradiometer) and MGM (magnetometer)  28) Fixed crash when reading mff file with subject field where the field was left blank.  29) ced label for electrode coordinates provided by file (e.g., eeglab, MFF, FIFF formats) is "internal".  30) Added support for reading FIFF files.  It's a pretty complex file format so this is only a first-pass implementation.  31) Eliminated file type check for EGIS files since NetStation generates average EGIS headers that are incorrectly marked as being session files.  32) Uses internal electrode coordinates provided by MFF and FIFF files and added preferences to automatically rotate such electrode coordinates to face upwards if needed.  33) Improved saving data in text format so will check for overwriting and for FFT data will save as freq by chan.  34) Added support for writing Neuromag FIFF file format.  It's a pretty complex file format so this is only a first-pass implementation.  35) Changed uses of "temp" as a variable name to "tempVar" due to other Matlab programmers often using it as a function name, resulting in collisions.  36) Fixed crash when using "all" channels option in Windowing function and no channel groups have been defined yet.  37) Added ability to window single-trial data.  38) Fixed crash when editing cells using the Edit function.  38) For PCA files, fixed recTime field not including space for the 'all' cell, resulting in crashes when edited.  39) Combining of factors in Edit function now done as simple addition rather than as averaging.  40) Fixed error if adding a factor combination to a PCA file with no combined factors.  41) Windowing outputs cells in actual order rather than alphabetical order.  42) Eliminated noTable option for old versions of Matlab.  43) Fixed crash when segmenting or previewing.  44) Fixed segmenting table + button mirroring the first line of the table rather than the current settings above the table.  45) Fixed segmenting table - button deleting all but second to last line rather than just the last line.  46) The events 'SESS','CELL','TRSP','bgin' are not excluded from being displayed for continuous files in the Display and the Scan functions when the evt option is checked, only for single-trial and average files.  47) Fixed crash when appending channels in the Edit function.  48) Fixed all but one channel is flat for grand average combined factors, as in the "all" factor from PCAs. 49) Fixed all but one channel is flat for combined cells if one already has a combined factor, as when one uses the Edit function to combined cells on a factor cell containing an "all" cell.  50) Fixed waveforms added during ANOVAs to correspond to trimmed cell means being all flat.  51) Average numbers, trial specs, and events carried over to the PCA file.

I’ve also committed changes to the FieldTrip I/O to fix mff files generated by NetStation 4.5.4 as they have nanosecond timing rather than microsecond timing and to fix a crash when there are no events in the user markup track.  I’ve also made a fix to FieldTrip to fix a crash when loading in an EEGlab .set file with no events, so those wishing to read mff or EEGlab .set files should update to 1/31/14 or later.

Changes in 2.43 (3/30/14)
1) Adds mne toolbox to the path to avoid crashes when reading or writing FIFF format files.  2) Fixed crash when loading file type that has internal channel names (like Neuroscan) and the only mismatch between it and the ced file is a single implicit REF channel or there is no mismatch and there is a single explicit REF channel.  3) Added .cov field to hold the channel covariance matrix generated during averaging for later inspection regarding channel quality.  4) Fixed when loading in a new file that had the same name as multiple existing files, appending dashed number to prior dashed number instead of replacing it (e.g., "name-1-2").  5) Fixed crash when running an ANOVA on a PCA dataset results in trimmed cell means being added to it.  6) Fixed crash when selecting time points and there are empty event cells.  7) When the dataset name has been changed on the Overview page, Edit will ask if the unedited dataset should be kept in addition to the edited version when Done is pressed.  8) Further improvements to writing out FIFF format files.

Changes in 2.44 (5/20/14)

1) Fixed crash when performing combination of subjects with file containing .cov information.  2) Added -all- and -erpimage- options to the Factors list in View.  3) Fixed keys field of events not being added when missing, resulting in EP files created by older versions of Toolkit not being readable.  4) Fixed crash when there are multiple global and trialwise bad channels.  Apparently Mathworks changed something again in recent versions of Matlab.  5) Fixed crash when running artifact correction on an average file with multiple subjects.  6) Fixed problem where under some circumstances the files after the first of a batch could not be found by the Transform function.  7) Fixed not putting factor variance information in correct location when loading PCA .ept files, resulting in "There are 0 factors that meet the minimum variance criterion" error messages when trying to autoPCA them.  8) Fixed AutoPCA generating nothing but missing data values when maxcentroid and mincentroid measures chosen.  9) Fixed crash in View when overplotting two sets of data where one has regional channels not present in the other.  10) -all- and -erpimage- options in View leave out adds if lower levels are present (e.g., for subjects, leaves out grand averages if individual subjects are present).  11) Fixed weighting not correct when computing difference waves that do not sum to zero (not sure why anyone might do this but fixed just in case).  12) Fixed calculation of the SubNum field (number of subjects going into averages) when combining cells.  13) Based on additional information from the MNE community, made some corrections to how the covariance matrix and the effective sample size are calculated, for when generating FIFF files.  14) in Topos function, for finding peak channels and points and Hz, uses only the first dataset as the index for this.  15) Fixed crash when replacing bad channels in an average file and a cell is bad.  16) Allows choosing either Hanning or multi-taper methods for spectral measures.  17) Eliminated upper bound to smoothing in multi-taper frequency measures as no longer seems to apply.  18) Fixed 'all' option for Window Data leaving out last channel.  19) Repair referencing after performing artifact correction to support performing analyses on unreferenced data, as in spectral analyses.  20) Added conversion of REF channel type to EEG for older EP files, which can otherwise result in various reference channel problems.  21) Added ability to perform PCA on datasets with bad data.  22) FacScr observations are now always arranged with permutations in order of the seven data dimensions.  PCA files made prior to 2.44 cannot be used for two-step PCA.  The first step will need to be rerun. 23) Fixed minimum and maximum values for spectral PCA datasets not being calculated corrected when using View functions.  24) Fixed not able to load in EP files with frequency PCA data.  25) Fixed crash when changing pages in Topos view with frequency data.  26) Fixed 2D expanded head plots for Topos view for frequency data.  27) Fixed jack-knife test possibly conducted on wrong factor or just crashing in Topos view.  28) Fixed rescale option for frequency data in Topos view.  29) Fixed when spectral range changed in View function and dB or psd options are on, the  values are immediately further transformed.  30) Fixed crash on last page of topos for frequency PCA data.  31) Fixed crash when saving edits in Scan function.  32) In the Scan function, fixed all subjects shown as having a bad cell if the first subject in an average dataset has a bad cell.  33) Fixed peak latency of factors expressed as one sample too late in the Edit function.  34) Added legend to wave plots.  35) When using factors to set channel areas in the Window function, can now specify whether to use largest absolute, negative, or positive loadings.  36) Will no longer keep resetting the factor loading threshold back to the original number in the Window function.  37) Fixed crash when running an ANOVA on a windowed text file generated by autoPCA and the adds option is on. 38) Fixed minimum and maximum voltages in View pane not reflecting correct values for single trial data.  39) Added support for reading BrainVision EEG files.  40) Fixed crash in blink template function when frequency or factor files are present by excluding them entirely.  41) Fixed blink template waveform plot not adjusting to new length when switching datasets.  42) For blink template function, fixed marker for blink and saccade not placed at correct latency after switching between datasets with the same number of samples but different baselines.  43) Fixed crash when loading an ept file with no theta values for the electrode coordinates.  44) Fixed crash when there is more than one bad channel and the reference is mean mastoid.  45) Fixed crash in saccade correction due to bug introduced in last version.  46) Fixed crash when the ced file has no type field.  47) Fixed crash in topoplots when there are electrodes without coordinates.  48) Allow for manual windowing of PCA files rather than just autoPCA.  49) Fixed list of trials for single-trial data in View pane not correct.  50) Added simple averaging of trials in Edit function's cell subpane for single-trial data.  51) In preprocessing, if current reference not specified, default to original reference.  52)  Fixed blink and saccade correction in Preprocessing function could issue false error that template had wrong number of electrodes.  53) Fixed crash in Preprocessing function when correcting blink or saccade in continuous file.  54) Fixed crash in Preprocessing when there are multiple chunks and some have blink factors and some do not.  55) Fixed crash in Preprocessing function when replacing bad channels in continuous data.  56) Transforms can be applied to non-EEG channel types and which data mode can be specified.  57) Fixed crash when filtering continuous data and there are no boundary events present.  58) Fixed blank keys event fields being created without a .key after the keys level. 59) Added "starts", "ends", "contains", and "follows" keywords to Segment function.  60) Fixed Edit function reordering cells in single-trial data when anything clicked or changed in the Cells table and they were not already in alphabetical order.  61) Added support for sample-by-sample, t-CWT, and Woody Filter PCA t-tests, including STS chanType.  62) In Edit function, fixed deleting wrong cell of single-trial data when cells were not in alphabetical order.  63) Added support for SMI eye-tracking data to be merged with EEG data.  64) Added latency-locked and jitter-correction averaging options.  65) Fixed cov.Nq field (used for FIFF file format support) not being formed correctly when combining subjects, resulting in crashes later on.  66) Fixed subject selection not being applied to .cov.Nq field (used for FIFF file format support), resulting in crashes down the line for combined subject average files.  67) Added fix for crash when trying to read mff files that erroneously label their COM channel as being a reference channel.  68) Fixed crash when saving file with an empty .keys field in EEGlab .set format.

The EEGLab folks say they have fixed the problem with pop_chanEdit but as of eeglab13_2_2b it is still defective.  Hopefully the fix will be in the next release.  EGI has nearly finished their much faster java-based mff code but it doesn't support all the events information yet (like the TRSP contents) so for now continuous and segmented files will be read using the much slower FieldTrip code.  Average files crash when read using the FieldTrip mff code so the EGI mff code will be used for them despite missing some information.  It's amazing how much faster the EGI mff code is!