Dear SP, Just to add to Martin's answer you could use 'Re-reference EEG' in Toolbox/MEEGtools. If you mark some channels as bad they will stay in the dataset but will not be used for computing the reference. I think it's better to keep them because otherwise you won't be able to combine (e.g. merge) files with different channel sets. Best, Vladimir On Mon, Apr 22, 2013 at 12:24 PM, Martin Dietz <[log in to unmask]> wrote: > Dear SP, > > The exclusion of bad channels from the reference channels can be done as > illustrated below. As long as a channel is marked as 'bad', it is excluded > from further analysis which means you don't have to delete it from the > dataset. If you intend to extract sensor time-series for analysis outside > SPM, simply use setdiff(D.meegchannels,D.badchannels) to index clean > MEG/EEG channels. > > I hope this helps > Martin > > > % re-reference (average) > % --------------------------------------------------- > > > if ~isempty(D.badchannels) > G = setdiff(D.meegchannels,D.badchannels); > R = G; > > > T = eye(numel(D.meegchannels)); > T(G,R) = T(G,R) - 1/length(R); > > > S = []; > S.D = D.fname; > S.montage.tra = T; % mxn transformation matrix > S.montage.labelorg = D.chanlabels(D.meegchannels); > S.montage.labelnew = D.chanlabels(D.meegchannels); > S.keepothers = 'yes'; > S.updatehistory = 1; > D = spm_eeg_montage(S); > end > > > > > On 22 Apr2013, at 12:17 PM, SP Ho wrote: > > Dear experts > > May I ask some basic questions about spm_eeg_montage ... > > 1. When we create the matrix for montage, how should we handle the bad > channels if I would like to do average referencing ? Should I exclude the > bad channels (so that their effect will not be spread to those good > channels when I do the average re-referencing) ? As each subject / session > may have a different set of bad channels, so I should create a different > matrix for each subject ? > > 2. I would also like to exclude some EEG channels in further processing. > I have created a script to do this and try a few things, but not sure if > these are the correct ways: > - Before montage, updated these channels as type 'Other', and put the > flag keepothers to 'no' when running montage > - Keep these channel in "labelorg" but remove in 'labelnew' in the > montage matrix (becomes MxN), and put zeros to the columns (original > labels) for these channels > > And, in combining the effort to exclude both bad / other channel, I have > generated the montage matrix so that the mean (1/N) is based on the no. of > EEG channels that are marked as neither bad nor other ... > > However, question is, after I generated the montage matrix and run the > spm_eeg_montage, I found the output file have those channels that I changed > to "other" reverted to "EEG", and all 'other' channels are still retained > in the montage output file. > > I found there are codes in spm_eeg_montage that set the channel type back > to default. Also, some of the channel that I set are as "other" are > interspersed within the range of EEG channels (not only those at the very > end), and seems the spm_eeg_montage will sort the channels and add some > missing channels at the back (if the matrix is not MxM). So, I am worried > that the steps I done are not correct and may have messed up the data. How > should I check these ? > > Sorry that I may have get things confused, please kindly shed some lights. > Thank you so much!! > > Best regards > SP Ho > > >