Table of Contents

Functions for preprocessing of EEG/MEG data

FieldTrip has a consistent set of low-level functions for reprocessing of EEG and MEG data, such as filtering, baseline correction and re-referencing. This allows other projects to re-use the implemented methods seperate from FieldTrip (e.g. for realtime analysis of EEG and MEG data) and perhaps also to contribute to FieldTrip.

The low-level functions are combined in the preproc toolbox, which is available for download here.

Interface to the preprocessing functions

Note that the FieldTrip toolbox comes with a user-friendly ft_preprocessing function, which reads data from disk and applies preprocessing to that data. Regular users mainly interested in analyzing their data should be using that function. The functions described here are for people that are developing their own code and/or contributing to the development of FieldTrip.

All of the low-level preprocessing functions require data to be represented as a 2D matrix (Nchans X Nsamples). The following functions are implemented in the preproc module:

Benchmarking

For real-time use of the functions in this module it is relevant to know how much time each function takes. The execution time depends on the number of channels and on the number of samples in the data block. Assuming that multiple functions are called as part of a larger processing pipeline, the time of the functions that are called has to be summed up.

The benchmarking results presented in the table below were determined with fieldtrip-20101227 and Matlab R2010a running on a Macbook Pro with a 2.53 GHz Intel Core 2 Duo processor. Execution time was determined for three representative data block sizes and for various parameters for each function.

The full code for the benchmarking (one script per preproc function and some helper functions) is included in the release version of FieldTrip. You can repeat it on your own workstation and for your own data characteristics.

function name and algorithm details 8ch x 100smp 8ch x 500smp 64ch x 500smp
preproc_bandpassfilter; Fsample = 1000; Fbp = [ 10 100 ]; order = 2; type = 'but'; dir = 'onepass'; 0.84 ms 1.03 ms 1.95 ms
preproc_bandpassfilter; Fsample = 1000; Fbp = [ 10 100 ]; order = 4; type = 'but'; dir = 'onepass'; 1.04 ms 1.38 ms 2.87 ms
preproc_bandpassfilter; Fsample = 1000; Fbp = [ 10 100 ]; order = 6; type = 'but'; dir = 'onepass'; 1.19 ms 1.24 ms 3.79 ms
preproc_bandpassfilter; Fsample = 1000; Fbp = [ 10 100 ]; order = 16; type = 'fir'; dir = 'onepass'; 1.37 ms 1.38 ms 2.60 ms
preproc_bandpassfilter; Fsample = 1000; Fbp = [ 10 100 ]; order = 32; type = 'fir'; dir = 'onepass'; 1.67 ms 1.51 ms 2.84 ms
preproc_bandpassfilter; Fsample = 1000; Fbp = [ 10 100 ]; order = 64; type = 'fir'; dir = 'onepass'; 1.62 ms 1.39 ms 3.08 ms
function name and algorithm details 8ch x 100smp 8ch x 500smp 64ch x 500smp
preproc_bandstopfilter; Fsample = 1000; Fbp = [ 45 55 ]; order = 2; type = 'but'; dir = 'onepass'; 1.09 ms 1.01 ms 2.63 ms
preproc_bandstopfilter; Fsample = 1000; Fbp = [ 45 55 ]; order = 4; type = 'but'; dir = 'onepass'; 1.20 ms 1.39 ms 3.57 ms
preproc_bandstopfilter; Fsample = 1000; Fbp = [ 45 55 ]; order = 6; type = 'but'; dir = 'onepass'; 1.49 ms 1.39 ms 4.47 ms
preproc_bandstopfilter; Fsample = 1000; Fbp = [ 45 55 ]; order = 16; type = 'fir'; dir = 'onepass'; 1.65 ms 1.33 ms 3.09 ms
preproc_bandstopfilter; Fsample = 1000; Fbp = [ 45 55 ]; order = 32; type = 'fir'; dir = 'onepass'; 1.57 ms 1.40 ms 3.03 ms
preproc_bandstopfilter; Fsample = 1000; Fbp = [ 45 55 ]; order = 64; type = 'fir'; dir = 'onepass'; 1.60 ms 1.40 ms 3.29 ms
function name and algorithm details 8ch x 100smp 8ch x 500smp 64ch x 500smp
preproc_baselinecorrect; begsample = []; endsample = []; 0.14 ms 0.17 ms 0.49 ms
function name and algorithm details 8ch x 100smp 8ch x 500smp 64ch x 500smp
preproc_derivative; order = 1; padding = 'end'; 0.08 ms 0.10 ms 0.46 ms
preproc_derivative; order = 1; padding = 2; 0.08 ms 0.10 ms 0.30 ms
preproc_derivative; order = 1; padding = 3; 0.08 ms 0.09 ms 0.17 ms
function name and algorithm details 8ch x 100smp 8ch x 500smp 64ch x 500smp
preproc_detrend; begsample = []; endsample = []; order = 1; 0.14 ms 0.22 ms 0.54 ms
preproc_detrend; begsample = []; endsample = []; order = 2; 0.13 ms 0.24 ms 0.76 ms
preproc_detrend; begsample = []; endsample = []; order = 3; 0.15 ms 0.32 ms 0.77 ms
function name and algorithm details 8ch x 100smp 8ch x 500smp 64ch x 500smp
preproc_dftfilter; Fsample = 1000; Fline = 50; 0.19 ms 0.37 ms 1.87 ms
function name and algorithm details 8ch x 100smp 8ch x 500smp 64ch x 500smp
preproc_highpassfilter; Fsample = 1000; Fh = 1; order = 2; type = 'but'; dir = 'onepass'; 0.77 ms 0.94 ms 1.73 ms
preproc_highpassfilter; Fsample = 1000; Fh = 1; order = 4; type = 'but'; dir = 'onepass'; 0.81 ms 1.19 ms 1.97 ms
preproc_highpassfilter; Fsample = 1000; Fh = 1; order = 6; type = 'but'; dir = 'onepass'; 0.90 ms 0.99 ms 2.21 ms
preproc_highpassfilter; Fsample = 1000; Fh = 1; order = 16; type = 'fir'; dir = 'onepass'; 1.14 ms 1.55 ms 2.59 ms
preproc_highpassfilter; Fsample = 1000; Fh = 1; order = 32; type = 'fir'; dir = 'onepass'; 1.50 ms 1.24 ms 2.72 ms
preproc_highpassfilter; Fsample = 1000; Fh = 1; order = 64; type = 'fir'; dir = 'onepass'; 1.50 ms 1.26 ms 2.85 ms
function name and algorithm details 8ch x 100smp 8ch x 500smp 64ch x 500smp
preproc_hilbert; option = 'complex'; 0.26 ms 0.45 ms 2.24 ms
preproc_hilbert; option = 'abs'; 0.24 ms 0.59 ms 4.48 ms
preproc_hilbert; option = 'angle'; 0.34 ms 0.93 ms 6.50 ms
function name and algorithm details 8ch x 100smp 8ch x 500smp 64ch x 500smp
preproc_lowpassfilter; Fsample = 1000; Fl = 30; order = 2; type = 'but'; dir = 'onepass'; 0.73 ms 0.79 ms 1.49 ms
preproc_lowpassfilter; Fsample = 1000; Fl = 30; order = 4; type = 'but'; dir = 'onepass'; 0.61 ms 0.79 ms 3.28 ms
preproc_lowpassfilter; Fsample = 1000; Fl = 30; order = 8; type = 'but'; dir = 'onepass'; 0.98 ms 0.93 ms 2.52 ms
preproc_lowpassfilter; Fsample = 1000; Fl = 30; order = 16; type = 'fir'; dir = 'onepass'; 1.34 ms 1.15 ms 2.33 ms
preproc_lowpassfilter; Fsample = 1000; Fl = 30; order = 32; type = 'fir'; dir = 'onepass'; 1.41 ms 1.18 ms 2.36 ms
preproc_lowpassfilter; Fsample = 1000; Fl = 30; order = 64; type = 'fir'; dir = 'onepass'; 1.40 ms 1.25 ms 2.87 ms
function name and algorithm details 8ch x 100smp 8ch x 500smp 64ch x 500smp
preproc_medianfilter; order = 10; 1.43 ms 2.68 ms 20.63 ms
preproc_medianfilter; order = 20; 1.92 ms 4.28 ms 32.26 ms
preproc_medianfilter; order = 40; 2.51 ms 9.53 ms 75.12 ms
function name and algorithm details 8ch x 100smp 8ch x 500smp 64ch x 500smp
preproc_rectify; 0.06 ms 0.06 ms 0.14 ms
function name and algorithm details 8ch x 100smp 8ch x 500smp 64ch x 500smp
preproc_rereference; refchan = 1; 0.10 ms 0.15 ms 0.40 ms
preproc_rereference; refchan = 'all'; 0.13 ms 0.17 ms 0.71 ms
function name and algorithm details 8ch x 100smp 8ch x 500smp 64ch x 500smp
preproc_standardize; begsample = []; endsample = []; 0.20 ms 0.29 ms 1.48 ms

Recent changes to the code

2012-01-18 09:23  johzum

	* [r5147] ft_preproc_bandstopfilter.m, ft_preproc_highpassfilter.m: bug1248: avoid warning
	  with odd filter order when filter order is set by default, not by user.

2011-12-09 13:53  eelspa

	* [r4964] ft_preproc_baselinecorrect.m, ft_preproc_detrend.m: fixed bug where begsample and
	  endsample caused errors for not being defined

2011-12-09 11:53  eelspa

	* [r4962] ft_preproc_baselinecorrect.m, ft_preproc_detrend.m, ft_preproc_polyremoval.m:
	  changed ft_preproc_baselinecorrect and ft_preproc_detrend into wrappers around
	  ft_preproc_polyremoval (bug 1181) and updated some documentation

2011-11-30 11:50  johzum

	* [r4890] ft_preproc_bandstopfilter.m, ft_preproc_lowpassfilter.m: enhancement: mean is
	  removed prior to calling filter_with_correction, then added back.

2011-11-23 09:58  eelspa

	* [r4798] ft_preproc_slidingrange.m: added reference documentation

2011-11-23 09:49  eelspa

	* [r4796] ft_preproc_denoise.m: another typo in reference documentation

2011-11-23 09:48  eelspa

	* [r4795] ft_preproc_denoise.m: fixed typo in documentation

2011-11-16 11:52  johzum

	* [r4748] ft_preproc_bandstopfilter.m: enhancement: comments modified: updated info on
	  default filter order for fir/firls

2011-11-15 10:25  johzum

	* [r4741] ft_preproc_bandstopfilter.m: enhancement: added 'firls' option to bandstop

2011-11-15 09:07  eelspa

	* [r4739] ft_preproc_bandpassfilter.m, ft_preproc_highpassfilter.m,
	  ft_preproc_lowpassfilter.m: updated documentation for preproc/XXXfilter functions to
	  reflect new default fir/firls filter order

2011-11-14 13:34  johzum

	* [r4736] ft_preproc_bandpassfilter.m, ft_preproc_highpassfilter.m,
	  ft_preproc_lowpassfilter.m: enhancement: added 'firls' filter option for bp,hp,lp (based
	  on Nutmeg's implementation)

2011-11-14 11:41  johzum

	* [r4735] ft_preproc_bandpassfilter.m, ft_preproc_bandstopfilter.m,
	  ft_preproc_highpassfilter.m, ft_preproc_lowpassfilter.m: enchancement: filter order: 1)
	  default set in low-level function, not in preproc. 2) default for 'fir' no longer 2, but
	  based on data and filter request. 3) test_bug1129 created.

2011-10-29 10:10  roboos

	* [r4624] private/bilinear.m, private/butter.m, private/filtfilt.m, private/istrue.m,
	  private/keyval.m, private/postpad.m, private/sftrans.m: cleaned up the svn properties
	  according to development/svn on the wiki
	  this ensures that m files are not executable and that Rev and Id are correctly replaced

2011-10-08 12:07  roboos

	* [r4386] ft_preproc_slidingrange.m: restructuring - replaced keyval by ft_getopt, see
	  http://bugzilla.fcdonders.nl/show_bug.cgi?id=502

2011-07-06 18:58  roboos

	* [r3783] test: enhancement - added test directory for fieldtrip main and standard modules

2011-07-01 07:54  jansch

	* [r3750] ft_preproc_polyremoval.m: bugfix - #792 fixed numerical accuracy issues

2011-06-07 09:21  roboos

	* [r3630] ft_preproc_baselinecorrect.m: bugfix - it would fail on integer input data,
	  typecast the data to double before minus

2011-02-26 13:37  jansch

	* [r2966] ft_preproc_polyremoval.m: added defaults of begsample and endsample (take whole
	  segment if not specified)

2011-02-16 09:41  roboos

	* [r2885] private/bilinear.m, private/butter.m, private/filtfilt.m, private/istrue.m,
	  private/keyval.m, private/postpad.m, private/sftrans.m: svn propset svn:keyword "Id Rev"
	  xxx.m

2011-02-12 17:51  roboos

	* [r2861] private/bilinear.m, private/butter.m, private/filtfilt.m, private/istrue.m,
	  private/keyval.m, private/postpad.m, private/sftrans.m: set the property "autosync" on all
	  files that are copies of the previous file externals

2011-02-12 17:49  roboos

	* [r2860] private/bilinear.m, private/butter.m, private/filtfilt.m, private/istrue.m,
	  private/keyval.m, private/postpad.m, private/sftrans.m: replaced all old file externals
	  with a copy of the oiriginal file

2011-02-12 17:19  roboos

	* [r2859] private: deleted all svn:external properties
	  preparing a new implementation of the replicated files using an svn hook

2011-02-03 21:45  roboos

	* [r2802] private: third pass at setting the new svn:externals for all files

2011-02-03 21:25  roboos

	* [r2801] private: the second pass for recreating svn:externals
	  this is for the externals that depend on another external

2011-02-03 21:08  roboos

	* [r2800] private: recreated the svn:externals for all directories
	  all pointing towards branches/externals or trunk/src
	  this is the first pass, more passes may have to follow

2011-02-03 11:00  roboos

	* [r2782] COPYING, README: more cleanups on the svn properties

2011-02-03 10:48  roboos

	* [r2781] ft_preproc_online_downsample_apply.m, ft_preproc_online_downsample_init.m,
	  ft_preproc_online_filter_apply.m, ft_preproc_online_filter_init.m,
	  private/filter_with_correction.m: cleanup of the special properties of all files, such as
	  execute property, eol-style and keywords

2011-01-26 14:03  arjsto

	* [r2661] ft_preproc_online_downsample_apply.m, ft_preproc_online_downsample_init.m,
	  ft_preproc_online_filter_apply.m, ft_preproc_online_filter_init.m: These functions were
	  stored in realtime/utilities. They are meant do preprocessing on the online acquired
	  EEG/MEG signal and, therefore, fit better in the preproc module. Consequently, this
	  facilitates the cleaning up of the realtime module.
	  This line, and those below, will be ignored--
	  
	  A preproc/ft_preproc_online_filter_init.m
	  A preproc/ft_preproc_online_downsample_apply.m
	  A preproc/ft_preproc_online_filter_apply.m
	  A preproc/ft_preproc_online_downsample_init.m

2011-01-26 10:07  johzum

	* [r2657] compat/preproc_bandpassfilter.m, compat/preproc_bandstopfilter.m,
	  compat/preproc_baselinecorrect.m, compat/preproc_denoise.m, compat/preproc_derivative.m,
	  compat/preproc_detrend.m, compat/preproc_dftfilter.m, compat/preproc_highpassfilter.m,
	  compat/preproc_hilbert.m, compat/preproc_lowpassfilter.m, compat/preproc_medianfilter.m,
	  compat/preproc_rectify.m, compat/preproc_rereference.m, compat/preproc_resample.m,
	  compat/preproc_slidingavg.m, compat/preproc_standardize.m: added warning this is
	  compatability wrapper only

2011-01-20 10:52  jansch

	* [r2614] ft_preproc_bandstopfilter.m: replaced use of range() with explicit min and max to
	  avoid the stats toolbox

2010-12-16 15:57  stekla

	* [r2455] ft_preproc_bandpassfilter.m, ft_preproc_bandstopfilter.m,
	  ft_preproc_highpassfilter.m, ft_preproc_lowpassfilter.m, private/filter_with_correction.m:
	  Added private function for filtering signals with correction for edge artifacts, as well
	  as calls to that function instead of doing the filtering directly within
	  ft_preproc_XXXfilter.

2010-12-08 10:40  jansch

	* [r2347] ft_preproc_medianfilter.m: replaced default order of 25 by an error. the order
	  should be specified by the user (or the default has to be set in a higher calling function

2010-12-03 09:01  jansch

	* [r2271] ft_preproc_baselinecorrect.m: made usage of bsxfun conditional on the existence of
	  bsxfun, because lower matlab version don't have it

2010-11-27 11:55  roboos

	* [r2212] ft_preproc_resample.m: fixed the svn properties (eol-style, executable, keywords)
	  on many *.m files

2010-11-25 08:12  roboos

	* [r2178] ft_preproc_bandstopfilter.m: added part to detect filter instabilities
	  if results are unstable, redo the filter in two seperate steps

2010-11-19 11:04  roboos

	* [r2133] ft_preproc_polyremoval.m: moved subfunction polyremoval from private/preproc into
	  seperate function in preproc module

2010-10-18 16:03  roboos

	* [r1942] ft_preproc_slidingrange.m: added sliding range function, i.e. max-min for sliding
	  window

2010-09-20 15:19  sashae

	* [r1722] ft_preproc_dftfilter.m: small fixes in docu

2010-08-19 07:13  stekla

	* [r1527] ft_preproc_highpassfilter.m: Added check for unstable filter coefficients in
	  ft_preproc_highpassfilter, will yield error in that case.

2010-05-20 12:12  marvger

	* [r1122] ft_preproc_baselinecorrect.m: used bsxfun to increase efficiency

2010-05-19 08:58  jansch

	* [r1094] ft_preproc_resample.m: added documentation with regard to the anti-aliasing
	  applied by default if using the resample-method

2010-04-21 17:56  roboos

	* [r947] ft_preproc_bandpassfilter.m, ft_preproc_bandstopfilter.m,
	  ft_preproc_baselinecorrect.m, ft_preproc_denoise.m, ft_preproc_derivative.m,
	  ft_preproc_detrend.m, ft_preproc_dftfilter.m, ft_preproc_highpassfilter.m,
	  ft_preproc_hilbert.m, ft_preproc_lowpassfilter.m, ft_preproc_medianfilter.m,
	  ft_preproc_rectify.m, ft_preproc_rereference.m, ft_preproc_resample.m,
	  ft_preproc_standardize.m: added full GPL copyrights and svn ID tag to preproc

2010-04-16 09:22  roboos

	* [r918] private: added compat/signal/filtfilt function from octave, put it into
	  preproc/private as file-external where it will become the default (instead of the signal
	  processing toolbox version)

2010-04-09 13:47  timeng

	* [r891] ft_preproc_bandpassfilter.m, ft_preproc_bandstopfilter.m,
	  ft_preproc_baselinecorrect.m, ft_preproc_denoise.m, ft_preproc_derivative.m,
	  ft_preproc_detrend.m, ft_preproc_dftfilter.m, ft_preproc_highpassfilter.m,
	  ft_preproc_hilbert.m, ft_preproc_lowpassfilter.m, ft_preproc_medianfilter.m,
	  ft_preproc_rectify.m, ft_preproc_rereference.m, ft_preproc_resample.m,
	  ft_preproc_standardize.m: ft prefix added to help sections and in the codes only for
	  functions called within the preproc and forward module. Compat now still necessary called
	  from main FieldTrip functions

2010-04-08 11:03  roboos

	* [r883] compat/preproc_bandpassfilter.m, compat/preproc_bandstopfilter.m,
	  compat/preproc_baselinecorrect.m, compat/preproc_denoise.m, compat/preproc_derivative.m,
	  compat/preproc_detrend.m, compat/preproc_dftfilter.m, compat/preproc_highpassfilter.m,
	  compat/preproc_hilbert.m, compat/preproc_lowpassfilter.m, compat/preproc_medianfilter.m,
	  compat/preproc_rectify.m, compat/preproc_rereference.m, compat/preproc_resample.m,
	  compat/preproc_slidingavg.m, compat/preproc_standardize.m, ft_preproc_bandpassfilter.m,
	  ft_preproc_bandstopfilter.m, ft_preproc_baselinecorrect.m, ft_preproc_denoise.m,
	  ft_preproc_derivative.m, ft_preproc_detrend.m, ft_preproc_dftfilter.m,
	  ft_preproc_highpassfilter.m, ft_preproc_hilbert.m, ft_preproc_lowpassfilter.m,
	  ft_preproc_medianfilter.m, ft_preproc_rectify.m, ft_preproc_rereference.m,
	  ft_preproc_standardize.m: removed the unix executable flag from all *.m files (thanks to
	  Guillaume)
	  see http://fieldtrip.fcdonders.nl/development/svn#keeping_the_svn_repository_tidy for
	  details

2010-04-07 13:52  roboos

	* [r863] compat, compat/preproc_bandpassfilter.m, compat/preproc_bandstopfilter.m,
	  compat/preproc_baselinecorrect.m, compat/preproc_denoise.m, compat/preproc_derivative.m,
	  compat/preproc_detrend.m, compat/preproc_dftfilter.m, compat/preproc_highpassfilter.m,
	  compat/preproc_hilbert.m, compat/preproc_lowpassfilter.m, compat/preproc_medianfilter.m,
	  compat/preproc_rectify.m, compat/preproc_rereference.m, compat/preproc_resample.m,
	  compat/preproc_slidingavg.m, compat/preproc_standardize.m, ft_preproc_bandpassfilter.m,
	  ft_preproc_bandstopfilter.m, ft_preproc_baselinecorrect.m, ft_preproc_denoise.m,
	  ft_preproc_derivative.m, ft_preproc_detrend.m, ft_preproc_dftfilter.m,
	  ft_preproc_highpassfilter.m, ft_preproc_hilbert.m, ft_preproc_lowpassfilter.m,
	  ft_preproc_medianfilter.m, ft_preproc_rectify.m, ft_preproc_rereference.m,
	  ft_preproc_resample.m, ft_preproc_standardize.m, preproc_bandpassfilter.m,
	  preproc_bandstopfilter.m, preproc_baselinecorrect.m, preproc_denoise.m,
	  preproc_derivative.m, preproc_detrend.m, preproc_dftfilter.m, preproc_highpassfilter.m,
	  preproc_hilbert.m, preproc_lowpassfilter.m, preproc_medianfilter.m, preproc_rectify.m,
	  preproc_rereference.m, preproc_resample.m, preproc_standardize.m: renamed all preproc_xxx
	  functions into ft_preproc_xxx
	  added a preproc/compat directory with backward compatibility wrappers

2010-04-07 09:27  roboos

	* [r854] preproc_bandpassfilter.m: only change in whitespace

2010-04-06 21:01  roboos

	* [r849] preproc_resample.m: initial implementation, taken from spikedownsample/myresample

2010-02-17 15:58  roboos

	* [r567] private: added provate directory with replacement function for butterworth filter

2010-02-17 15:54  roboos

	* [r566] benchmark: Created a branches and a tags directory at the highest level of the
	  repository, moved preproc/benchmark from the trunk to
	  branches/benchmarking. In the future there could also be a
	  branches/testing directory.

2010-01-01 21:09  joagro

	* [r330] preproc_hilbert.m: fixed two bugs: 1) angle was computed on non-normalised complex
	  values; 2) unwrapping was performed along wrong dimension; Joachim

2009-12-16 19:38  roboos

	* [r306] preproc_standardize.m: remember the state for updating the mean and variance
	  estimate

2009-12-04 10:00  roboos

	* [r242] COPYING, README, benchmark/benchmark.m, benchmark/benchmark_all.m,
	  benchmark/benchmark_bandpassfilter.m, benchmark/benchmark_bandstopfilter.m,
	  benchmark/benchmark_baselinecorrect.m, benchmark/benchmark_derivative.m,
	  benchmark/benchmark_detrend.m, benchmark/benchmark_dftfilter.m,
	  benchmark/benchmark_highpassfilter.m, benchmark/benchmark_hilbert.m,
	  benchmark/benchmark_lowpassfilter.m, benchmark/benchmark_medianfilter.m,
	  benchmark/benchmark_rectify.m, benchmark/benchmark_rereference.m,
	  benchmark/benchmark_standardize.m, preproc_bandpassfilter.m, preproc_bandstopfilter.m,
	  preproc_baselinecorrect.m, preproc_denoise.m, preproc_derivative.m, preproc_detrend.m,
	  preproc_dftfilter.m, preproc_highpassfilter.m, preproc_hilbert.m, preproc_lowpassfilter.m,
	  preproc_medianfilter.m, preproc_rectify.m, preproc_rereference.m, preproc_standardize.m:
	  set the executable property to OFF on many files that should not be executable (m-files,
	  mex-files, readme, etc.)

2009-11-30 11:28  roboos

	* [r208] preproc_rereference.m: changed all occurences of tabs into 4 spaces

2009-11-30 08:53  roboos

	* [r204] benchmark/benchmark.m, benchmark/benchmark_all.m,
	  benchmark/benchmark_bandpassfilter.m, benchmark/benchmark_bandstopfilter.m,
	  benchmark/benchmark_baselinecorrect.m, benchmark/benchmark_derivative.m,
	  benchmark/benchmark_detrend.m, benchmark/benchmark_dftfilter.m,
	  benchmark/benchmark_highpassfilter.m, benchmark/benchmark_hilbert.m,
	  benchmark/benchmark_lowpassfilter.m, benchmark/benchmark_medianfilter.m,
	  benchmark/benchmark_rectify.m, benchmark/benchmark_rereference.m,
	  benchmark/benchmark_standardize.m, preproc_bandpassfilter.m, preproc_bandstopfilter.m,
	  preproc_baselinecorrect.m, preproc_denoise.m, preproc_derivative.m, preproc_detrend.m,
	  preproc_dftfilter.m, preproc_highpassfilter.m, preproc_hilbert.m, preproc_lowpassfilter.m,
	  preproc_medianfilter.m, preproc_rectify.m, preproc_rereference.m, preproc_standardize.m:
	  changed svn property for keywords Log and Rev

2009-11-30 08:49  roboos

	* [r203] benchmark/benchmark.m, benchmark/benchmark_all.m,
	  benchmark/benchmark_bandpassfilter.m, benchmark/benchmark_bandstopfilter.m,
	  benchmark/benchmark_baselinecorrect.m, benchmark/benchmark_derivative.m,
	  benchmark/benchmark_detrend.m, benchmark/benchmark_dftfilter.m,
	  benchmark/benchmark_highpassfilter.m, benchmark/benchmark_hilbert.m,
	  benchmark/benchmark_lowpassfilter.m, benchmark/benchmark_medianfilter.m,
	  benchmark/benchmark_rectify.m, benchmark/benchmark_rereference.m,
	  benchmark/benchmark_standardize.m, preproc_bandpassfilter.m, preproc_bandstopfilter.m,
	  preproc_baselinecorrect.m, preproc_denoise.m, preproc_derivative.m, preproc_detrend.m,
	  preproc_dftfilter.m, preproc_highpassfilter.m, preproc_hilbert.m, preproc_lowpassfilter.m,
	  preproc_medianfilter.m, preproc_rectify.m, preproc_rereference.m, preproc_standardize.m:
	  changed svn property eol-style to native to ensure consistent end-of-line behaviour on
	  windows and linux

2009-10-27 16:01  roboos

	* [r30] benchmark/benchmark.m, preproc_bandpassfilter.m, preproc_bandstopfilter.m,
	  preproc_baselinecorrect.m, preproc_denoise.m, preproc_derivative.m, preproc_detrend.m,
	  preproc_dftfilter.m, preproc_highpassfilter.m, preproc_hilbert.m, preproc_lowpassfilter.m,
	  preproc_medianfilter.m, preproc_rectify.m, preproc_rereference.m, preproc_standardize.m:
	  removed the old cvs log comments from each of the fieldtrip source code files
	  subversion (a.k.a. svn) does not make use of the special $Log$ keyword, which means that
	  the log messages do not reflect the latest changes
	  you can use 'svn log <filename.m>' or 'svn -v log | less' to get the same detailled
	  information as used to be in the cvs log

2009-10-21 10:25  roboos

	* [r1] ., COPYING, README, benchmark, benchmark/benchmark.m, benchmark/benchmark_all.m,
	  benchmark/benchmark_bandpassfilter.m, benchmark/benchmark_bandstopfilter.m,
	  benchmark/benchmark_baselinecorrect.m, benchmark/benchmark_derivative.m,
	  benchmark/benchmark_detrend.m, benchmark/benchmark_dftfilter.m,
	  benchmark/benchmark_highpassfilter.m, benchmark/benchmark_hilbert.m,
	  benchmark/benchmark_lowpassfilter.m, benchmark/benchmark_medianfilter.m,
	  benchmark/benchmark_rectify.m, benchmark/benchmark_rereference.m,
	  benchmark/benchmark_standardize.m, preproc_bandpassfilter.m, preproc_bandstopfilter.m,
	  preproc_baselinecorrect.m, preproc_denoise.m, preproc_derivative.m, preproc_detrend.m,
	  preproc_dftfilter.m, preproc_highpassfilter.m, preproc_hilbert.m, preproc_lowpassfilter.m,
	  preproc_medianfilter.m, preproc_rectify.m, preproc_rereference.m, preproc_standardize.m:
	  initial import