1 %This file is part of TEAP.
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.
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.
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/>.
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
20 %> @param EEGSignal: the @b EEG signal
21 %> @retval EEGSignal: the referenced @b EEG signal
23 %> @author Copyright Frank Villaro-Dixon, 2014
24 function EEGSignal = EEG_reference_mean(EEGSignal)
26 if(nargin ~= 1 || nargout ~= 1)
30 EEGSignal = EEG__assert_type(EEGSignal);
32 raw = Signal__get_raw(EEGSignal);
34 eMean = mean(cell2mat(struct2cell(raw)));
36 electrodes = fieldnames(raw);
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