TEAP (Toolbox for Emotion Analysis using Physiological Signals) doc
EEG_reference_mean.m
Go to the documentation of this file.
1 %This file is part of TEAP.
2 %
3 %TEAP is free software: you can redistribute it and/or modify
4 %it under the terms of the GNU General Public License as published by
5 %the Free Software Foundation, either version 3 of the License, or
6 %(at your option) any later version.
7 %
8 %TEAP is distributed in the hope that it will be useful,
9 %but WITHOUT ANY WARRANTY; without even the implied warranty of
10 %MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 %GNU General Public License for more details.
12 %
13 %You should have received a copy of the GNU General Public License
14 %along with TEAP. If not, see <http://www.gnu.org/licenses/>.
15 %
16 %> @file EEG_reference_mean.m
17 %> @brief re-references the @b EEG signals to their mean
18 %> Creates a reference for the @b EEG signal; removed average reference' the signal
19 %
20 %> @param EEGSignal: the @b EEG signal
21 %> @retval EEGSignal: the referenced @b EEG signal
22 %
23 %> @author Copyright Frank Villaro-Dixon, 2014
24 function EEGSignal = EEG_reference_mean(EEGSignal)
25 
26 if(nargin ~= 1 || nargout ~= 1)
27  error('Usage: EEGSignal = EEG_reference_mean(EEGSignal);');
28 end
29 
30 EEGSignal = EEG__assert_type(EEGSignal);
31 
32 raw = Signal__get_raw(EEGSignal);
33 
34 eMean = mean(cell2mat(struct2cell(raw)));
35 
36 electrodes = fieldnames(raw);
37 
38 
39 for i = [1:length(electrodes)]
40  %Take the signal we want
41  electrode = EEG_get_channel(EEGSignal, electrodes{i});
42  electrode = electrode - eMean;
43  EEGSignal = EEG_set_channel(EEGSignal, electrodes{i}, electrode);
44  %TODO: set up flag to say referenced
45 end
EEG_reference_mean
function EEG_reference_mean(in EEGSignal)