[Master Index] [Index for Toolbox]

good_channel

(Toolbox/good_channel.m in BrainStorm 2.0 (Alpha))


Function Synopsis

ndx = good_channel(Channel,ChannelFlag,Str);

Help Text

GOOD_CHANNEL - Extract channels of a given type
 function ndx = good_channel(Channel,ChannelFlag,Str);
 Return the index to the good channels for desired sensor type
 CHANNEL is a BrainStorm Channel.mat structure, of importance here is Channel.Type
 CHANNELFLAG is vector of -1 (bad), 0(indifferent), and 1(good) data flags 
  of length the number of channels in the Channel structure
 If left empty, assumes all channels are GOOD.
 STR is either one of the valid Channel.Type strings:
  ('MEG','EEG','STIM','OTHER','FUSION','EEG REF', 'MEG REF'), or 'ALL'.
 
 Returns ndx, an indexer into Channel(ndx) and Data.F(ndx,:), etc, of good channels
 Good channels are those that are not bad, i.e. both flags of 0 and 1

Cross-Reference Information

This function is called by

Listing of function C:\BrainStorm_2001\Toolbox\good_channel.m

function ndx = good_channel(Channel,ChannelFlag,Str);
%GOOD_CHANNEL - Extract channels of a given type
% function ndx = good_channel(Channel,ChannelFlag,Str);
% Return the index to the good channels for desired sensor type
% CHANNEL is a BrainStorm Channel.mat structure, of importance here is Channel.Type
% CHANNELFLAG is vector of -1 (bad), 0(indifferent), and 1(good) data flags 
%  of length the number of channels in the Channel structure
% If left empty, assumes all channels are GOOD.
% STR is either one of the valid Channel.Type strings:
%  ('MEG','EEG','STIM','OTHER','FUSION','EEG REF', 'MEG REF'), or 'ALL'.
% 
% Returns ndx, an indexer into Channel(ndx) and Data.F(ndx,:), etc, of good channels
% Good channels are those that are not bad, i.e. both flags of 0 and 1

%<autobegin> ---------------------- 26-May-2004 11:30:20 -----------------------
% --------- Automatically Generated Comments Block Using AUTO_COMMENTS ---------
%
% CATEGORY: Forward Modeling
%
% Alphabetical list of external functions (non-Matlab):
%   toolbox\good_channel.m  NOTE: Routine calls itself explicitly
%
% At Check-in: $Author: Mosher $  $Revision: 16 $  $Date: 5/26/04 9:59a $
%
% This software is part of BrainStorm Toolbox Version 2.0 (Alpha) 24-May-2004
% 
% Principal Investigators and Developers:
% ** Richard M. Leahy, PhD, Signal & Image Processing Institute,
%    University of Southern California, Los Angeles, CA
% ** John C. Mosher, PhD, Biophysics Group,
%    Los Alamos National Laboratory, Los Alamos, NM
% ** Sylvain Baillet, PhD, Cognitive Neuroscience & Brain Imaging Laboratory,
%    CNRS, Hopital de la Salpetriere, Paris, France
% 
% See BrainStorm website at http://neuroimage.usc.edu for further information.
% 
% Copyright (c) 2004 BrainStorm by the University of Southern California
% This software distributed  under the terms of the GNU General Public License
% as published by the Free Software Foundation. Further details on the GPL
% license can be found at http://www.gnu.org/copyleft/gpl.html .
% 
% FOR RESEARCH PURPOSES ONLY. THE SOFTWARE IS PROVIDED "AS IS," AND THE
% UNIVERSITY OF SOUTHERN CALIFORNIA AND ITS COLLABORATORS DO NOT MAKE ANY
% WARRANTY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
% MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, NOR DO THEY ASSUME ANY
% LIABILITY OR RESPONSIBILITY FOR THE USE OF THIS SOFTWARE.
%<autoend> ------------------------ 26-May-2004 11:30:20 -----------------------


% /---Script Author--------------------------------------\
% |                                                      |
% |  *** John C. Mosher, Ph.D.                           |
% |  Biophysics Group                                    |
% |                                                      |
% | *** Sylvain Baillet, Ph.D.                           |
% | Cognitive Neuroscience & Brain Imaging Laboratory    |
% | CNRS UPR640 - LENA                                   | 
% | Hopital de la Salpetriere, Paris, France             |
% | sylvain.baillet@chups.jussieu.fr                     |
% \------------------------------------------------------/
%  
% Date of creation: January 1999
%---------------------------------------------------------------------------------------------------------------------------
% 2/16/00 JCM changed logic such that good channels are not bad, i.e. both 0 and 1
%  are allowed
% 11/29/00 SB - Updated the help header and allowed empty ChannelFlag vectors
% 11-2001 SB, added the FUSION type to select both the MEG and EEG channels
% SB  18-Nov-2002 Added the 'EEG REF' Channel type to detect the channel number of the EEG reference for a given Channel set
% SB  20-Nov-2002 Added the 'MEG REF' Channel type for fast access to these MEG reference channels during os_meg call and
%                 remove .Gcoef and .i*sens  fields from Channel structure 
% SB 16-Mar-2003  Now return channels with ChannelFlag == 0 too.
%---------------------------------------------------------------------------------------------------------------------------

Flag = zeros(1,length(Channel)); % one flag per channel
Str = deblank(lower(Str)); % case insensitivity

if isempty(ChannelFlag) % Assume all channels are good
   ChannelFlag = ones(length(Channel),1);
end

   
switch Str
case 'all'
   % get all of the good channels
   ndx = find(ChannelFlag(:)' >= -1);
   return
   
case {'meg','eeg','other','stim','eeg ref','meg ref'}
   
   for i = 1:length(Channel),
      if(strcmp(deblank(lower(Channel(i).Type)),Str)),
         Flag(i) = 1; % it is a match to Str
      end
   end
   
   % now form logical on good channel flag, then accept those 
   %  that are both true in the Flag and True as Good
   ndx = find(all([Flag;(ChannelFlag(:)' >= 0)]));
   return
   
case 'fusion'
    ndxmeg = good_channel(Channel,ChannelFlag,'MEG');
    ndxeeg = good_channel(Channel,ChannelFlag,'EEG');
    ndx = [ndxmeg,ndxeeg];
    
otherwise
   
   errordlg(sprintf('Unknown Type of %s',Str),'Good_Channel','modal');
   
end

return

Produced by color_mat2html, a customized BrainStorm 2.0 (Alpha) version of mat2html on Tue Oct 12 12:05:14 2004
Cross-Directory links are: ON