⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timefdetails.m

📁 含有多种ICA算法的eeglab工具箱
💻 M
字号:
% timefdetails() - details of the timef() function for time/frequency analysis %                  of multiple epochs of single-channel event-related data.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Global Description: timef() performs normalized time/frequency averaging % using FFT-, wavelet-, or multitaper DFT estimates. The wavelets are N-cycle % Hanning-windowed sinusoids. (Note: To substitute for hanning() windowing % gauss() or other windowing, replace the timef.m reference to hanning()).%% By default, the two image panels of the output plot show, respectively, the% event-related spectral perturbation (ERSP) and inter-trial coherence (ITC)% of the input data.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ERSP (S. Makeig, Electroencephalogr Clin Neurophysiol 86:283-93, 1993) % shows mean log event-loced deviations from epoch-mean (or baseline-mean) power% at each frequency. If bootstrap statistics are computed (via the 'alpha'% probability input parameter), (time, freq) points with non-significant % differences from 0 are colored green in the image (but not in the 'ersp' % output variable - use the output 'erspboot' variable to re-mask the 'ersp'% output if desired). The baseline mean spectrum removed from each epoch% is available as output parameter "powbase". Note that log(power) differences% are equivalent to log(power ratios) between baseline and observed spectra,% meaning the implicit ERSP model is one of (multiplicative) amplitude modulation% of the EEG/MEG spectrum by e.g. subcortical and/or intra-cortical influences.%  % In the default view, the thin bottom panel below the upper (ERSP) image shows % the ERSP envelope (the most positive and most negative values at each output % time point). The thin left panel shows the mean (or baseline) log spectrum % (blue trace). When bootstrap statistics are computed (via the "alpha" argument), % the left panel (green trace) also shows the bootstrap significant levels (+/-) % at each frequency.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ITC: (Inter-trial Coherence, cf. Tallon-Baudry et al., "Phase-locking factor")% The lower panel shows the degree of tendency for spectral phase at each% (time, freq) point to repeat across the data epochs. If bootstrap statistics% are computed (as per the 'alpha' input parameter), non-significant points% are colored green (but again not in the 'itc' output variable - use the % itcboot output to re-mask if desired in later plotting).%% The lower thin panel shows the time-domain average (ERP) of the input data % (blue) plus a zero-line (green). The average (ERP) is created principally by% partial phase resetting of the EEG as measured by the ITC. (While phase resetting % dominates, event-related spectral power changes (as measured by the ERSP) % may also play a minor role). The thin left panel shows the frequency-mean ITC % (blue trace) and, if bootstrap statistics are computed, the ITC significance % limits at each frequency (green trace).%% Derivation of ITC:% By definition, linear coherence is%       R=mean(Fxy)/sqrt(mean(abs(Fxx))*mean(abs(Fyy)));% where Fxy is the cross-spectrum (FxFy*) and Fxx and Fyy the autospectra of  % processes x and y.  We define the phase coherence to be%       R=mean(Fxy/(abs(Fxx))*abs(Fyy));  % mean of individually normed Fxy% To derive the ITC, we consider y to be a stimulus-locked process % such that, at each time and frequency, angle(Fyy) = 0 and abs(Fyy) = 1.% Thus Pxy = Pxx, and the (complex) inter-trial phase coherence between x and% the constant stimulus-locked process y is%       ITC=mean(Pxx/abs(Pxx));%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% USAGE:%%      >> [ersp,itc,powbase,times,freqs,erspboot,itcboot]  ...%                = timef(data,frames,tlimits,srate,cycles,...%                              'key1',value1,'key2',value2, ... );        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% NOTE:% * Left-click on subplots to view and zoom in separate windows (uses axcopy()).%% Required Inputs:%   data        = Single-channel data vector (1,frames*ntrials) (required)%%   frames      = Frames per trial                        {750}%  Here, a frame is a data point (one channel at one time point) and the data%  is assumed to be composed of concatenated epochs of the same length (frames).%%   tlimits     = [mintime maxtime] (ms) Epoch time limits {[-1000 2000]}%  These should be the starting and ending times of the input epochs.%%   srate       = data sampling rate (Hz)                 {250}%  This is sample rate per channel (i.e., data frames per second).%%   cycles      = >0 -> Number of cycles in each analysis wavelet %                 =0 -> Use FFTs (with constant window length) {0}%                 If [wavecycles factor] -> wavelet cycles increase with frequency%                 beginning at wavecyles (0<factor<1; factor=1 -> no increase,%                 standard wavelets; factor=0 -> fixed epoch length, as in FFT.%                 OR multitaper decomposition (with 'mtaper').%  Here, the user chooses either to use the FFT method (fixed window size%  for all frequencies) or the wavelet DFT method (the data window length%  depends inversely on the frequency, e.g. '3' means that the data%  windows will each be three cycles wide (at each frequency). A higher%  number here (e.g., '5') will narrow the frequency band and widen the%  time window.%% Optional Inter-Irial Coherence Type:%   'type'      = ['coher'|'phasecoher'] Compute either linear coherence %                  ('coher') or phase coherence ('phasecoher') also known%                  as the phase coupling factor           {default: 'phasecoher'}.%% Optional Detrending:%   'detret'    = ['on'|'off'], Detrend data in time.       {default: 'off'}%   'detrep'    = ['on'|'off'], Detrend data across trials. At each time point,%                 compute the meand and linear trend across the set of ordered trials %                 and remove it. This also subtracts the ERP from each trial) {'off'}%% Optional FFT/DFT Parameters:%   'winsize'   = If cycles==0: data subwindow length (fastest is 2^n < frames);%                 If cycles >0: *longest* window length to use. This determines %                 the lowest output frequency  {default: ~frames/8}%  When cycles>0, winsize determines the lowest computed frequency. For example,%  with srate=100 and cycles=3, a winsize of 100 means that 3 cycles must fit%  within a 1-sec ( 100-sample) window. So, the lowest output frequency is 3 Hz.%%  When cycles=0, winsize is the length of data in each FFT window. This may be %  extended with zeroes (to give more output frequencies) using padratio (below).%%  'timesout'  = Number of output times (int<frames-winframes) {default: 200}%  The number of FFTs or wavelet DFTs computed and plotted.%%   'padratio'  = FFT-length/winframes (2^k)                    {default: 2}%                  Multiplies the number of output frequencies by%                  dividing their spacing. When cycles==0, frequency%                  spacing is (low_freq/padratio).%  This factor multiplies the number of output frequencies. In the FFT method%  (cycles=0), this is done by zero-padding each analysis window. In the wavelet%  DFT method (cycles>0), this gives the number of frequencies per Hz.%%   'maxfreq'   = Maximum frequency (Hz) to plot (& to output, if cycles>0) %                  If cycles==0, all FFT frequencies are output. {default: 50}%   'baseline'  = Spectral baseline end-time (in ms). Use NaN for no baseline%                 removal {default: 0}%   'powbase'   = Baseline spectrum to log-subtract. 'baseline' parameter is%                 ignored if this parameter is used {def|NaN->from data}%  This is useful only when you want to use a known baseline spectrum (e.g. from%  another condition) instead of using the actual mean baseline spectrum of the data.%  Otherwise, leave this out or specify as 'NaN' (not a number).%% Optional Multitaper Parameters:%   'mtaper'    = If [N W], performs multitaper decomposition. %                  (N is the time resolution and W the frequency resolution; %                  maximum taper number is 2NW-1). Overwrites 'winsize' and %                  'padratio'. %                  If [N W K], forces the use of K Slepian tapers (if possible).%                  Phase is calculated using standard methods.%                  The use of mutitaper with wavelets (cycles>0) is not %                  recommended (as multiwavelets are not implemented). %                  Uses Matlab functions DPSS, PMTM.   {no multitaper}%% Optional Bootstrap Parameters:%   'alpha'     = If non-0, compute two-tailed bootstrap significance prob. %                  level. Show non-signif. output values as green.   {0}%  This optional parameter lengthens the computation time but gives bootstrap%  estimates of which ERSP and ITC values are significantly different from 0,%  by setting to 0 (green) all non-significant values in the ERSP and ITC images.%  Normal values for alpha are 0 ([], or none) -> no bootstrap computation, or%  0.01 (which should allow about 1% of random images to appear "significant" %%   'naccu'     = Number of bootstrap replications to accumulate     {200}%   'baseboot'  = Bootstrap baseline subtract (0 -> use 'baseline';%                                                  1 -> use whole trial) {0}% Optional Scalp Map Plotting Parameters:%   'topovec'   = Scalp topography (map) to plot                     {none}%   'elocs'     = Electrode location file for scalp map   {no default}%                     File should be ascii in format of  >> topoplot example   %  This is an optional map-plotting feature. Given an input map vector %  (one weight at each channel, and a electrode location file, timef() plots%  a topoplot()-style 2-d scalp map on the left side of the figure. See%  >> topoplot example % for the format of the electrode location file.%% Other Optional Plotting Parameters:%   'vert'      = [vector of ms times] -> plot vertical dashed lines  {0 only}%  Use this to add extra vertical dashed lines at significant epoch times.%  Time 0 is marked by default.%                     %   'plotersp'  = ['on'|'off'] Plot power spectral perturbations    {'on'} %   'plotitc'   = ['on'|'off'] Plot inter trial coherence            {'on'}%   'title'     = Optional figure title                              {none}%%   'pboot'     = Bootstrap power limits (e.g., from timef())   {from data}%   'rboot'     = Bootstrap ITC limits (e.g., from timef())     {from data}%  These are useful if you want to apply significance limits from another condition %  to new data. {default|NaN, compute from data}%%   'linewidth' = Line width for 'marktimes' traces (thick=2, thin=1) {2}%   'axesfont'  = Axes text font size                                {10}%   'titlefont' = Title text font size                               {8}%% Outputs: %        ersp   = Matrix (nfreqs,timesout) of log spectral diffs. from baseline (dB) %        itc    = Matrix (nfreqs,timesout) of inter-trial phase coherence (range: [0 1])%   Note that when cycles=0, nfreqs is total number of FFT frequencies, which %   typically include frequencies higher than maxfreq. When cycles>0, *no* extra %   (higher) frequencies are computed.%%      powbase  = The baseline power spectrum removed to compute the ERSP%        times  = Vector of output times (subwindow centers) (in ms).%        freqs  = Vector of frequency bin centers (in Hz).%%     erspboot  = Matrix (2,nfreqs) of [lower;upper] ERSP significance diffs.%      itcboot  = Matrix (2,nfreqs) of [lower;upper] ITC thresholds (abs., not diffs)%  Note that the itcboot lower bound is practically meaningless.%%  Plot description:%    Assuming both 'plotersp' and 'plotitc' options are 'on' (= default). The upper panel%    presents the data ERSP (Event-Related Spectral Perturbation) in dB, with mean baseline%    spectral activity (in dB) subtracted. Use "'baseline', NaN" to prevent timef() from%    removing the baseline. The lower panel presents the data ITC (Inter-Trial Coherence).%    Click on any plot axes to pop up a new window (using 'axcopy()')%    -- Upper left marginal panel presents the mean spectrum during the baseline period%       (blue), and when significance is set, the significance threshold at each frequency%       (dotted green-black trace).%    -- The marginal panel under the ERSP image shows the maximum (green) and minimum%       (blue) ERSP values relative to baseline power at each frequency.%    -- The lower left marginal panel shows mean ITC across the imaged time range (blue),%       and when significance is set, the significance threshold (dotted green-black).%    -- The marginal panel under the ITC image shows the ERP (which is produced by ITC%       across the data spectral pass band).%% Author: Sigurd Enghoff, Arnaud Delorme & Scott Makeig%          CNL / Salk Institute 1998- | SCCN/INC, UCSD 2002-%% See also: crossf() - event-related cross-spectral coherence between two input%                      time series.%% History: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% timef() was coded by Sigurd Enghoff and Scott Makeig at The Salk % Institute, La Jolla CA in August, 1998, using methods developed % in Makeig, 1993. Arno Delorme added the multitaper option, recoded% the function to use 'keyword','parameter' argument pairs, and added the% 'type' argument with advice from Joern Anemueller at SCCN/Institute for% Neural Computation, UCSD in early 2002.% Copyright (C) 8/01/00 Scott Makeig, SCCN/INC/UCSD, scott@sccn.ucsd.edu%% This program is free software; you can redistribute it and/or modify% it under the terms of the GNU General Public License as published by% the Free Software Foundation; either version 2 of the License, or% (at your option) any later version.%% This program is distributed in the hope that it will be useful,% but WITHOUT ANY WARRANTY; without even the implied warranty of% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the% GNU General Public License for more details.%% You should have received a copy of the GNU General Public License% along with this program; if not, write to the Free Software% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA% $Log: timefdetails.m,v $% Revision 1.6  2004/02/17 17:53:52  arno% *** empty log message ***%% Revision 1.5  2002/11/15 03:23:57  arno% formating for web%% Revision 1.4  2002/11/15 03:06:41  arno% header for web%% Revision 1.3  2002/04/30 15:00:04  scott% further edits -sm%% Revision 1.2  2002/04/30 14:56:23  scott% rewritten for new timef() format -sm%% Revision 1.1  2002/04/05 17:36:45  jorn% Initial revision%% 01-25-02 reformated help & license -ad 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -