12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- function res = badchannels(this, varargin)
- % Method for getting/setting bad channels
- % FORMAT res = badchannels(this)
- % _______________________________________________________________________
- % Copyright (C) 2008-2012 Wellcome Trust Centre for Neuroimaging
- % Stefan Kiebel
- % $Id: badchannels.m 5933 2014-03-28 13:22:28Z vladimir $
- if length(varargin) == 2 && isnumeric(varargin{1})
- % make sure that the two inputs for set are the same length
- if ~(length(varargin{2}) == 1 || (length(varargin{1}) == length(varargin{2})))
- error('Use either same vector length or scalar for value');
- end
- end
- if numel(varargin) >= 1 && (isnumeric(varargin{1}) && ~isempty(varargin{1}))
- if ~(all(varargin{1} >= 1) && all(varargin{1} <= nchannels(this)))
- error('Channel number out of range.');
- end
- end
- if numel(varargin) >= 2 && (isnumeric(varargin{1}) && ~isempty(varargin{1}))
- ubad = unique(varargin{2});
- if isempty(ubad) || ~all(ismember(ubad, [0 1]))
- error('Illegal bad flags (should be 0 or 1)');
- end
- end
- if this.montage.Mind == 0
- res = getset(this, 'channels', 'bad', varargin{:});
- elseif numel(varargin) >= 2
- this.montage.M(this.montage.Mind) = getset(this.montage.M(this.montage.Mind), 'channels', 'bad', varargin{:});
- res = this;
- else
- res = getset(this.montage.M(this.montage.Mind), 'channels', 'bad', varargin{:});
- end
- % Return channel indices if called without arguments and [0, 1] if called
- if numel(varargin) <= 1 % get
- if iscell(res)
- res = [res{:}];
- end
- res = logical(res);
- if isempty(varargin)
- res = find(res);
- end
- end
-
|