cfg.channel needed?

Tom Holroyd (NIH/NIMH) [E] tomh at KURAGE.NIMH.NIH.GOV
Wed Feb 22 23:11:25 CET 2006


Robert Oostenveld wrote:
> Hi Tom,
>
> The default for freqanalysis is cfg.channelcmb='all', which means all-
> with-all. If you do cfg.channel='MEG' in preprocessing and use the
> default in freqanalysis, you'll hence get MEG-with-MEG.  Alternatively,
> preprocessing with cfg.channel='all' should also work  and you should be
> able to get MEG-with-MEG using cfg.channelcmb as  you have specified it.

However, you can't. :-)

> PS The code is not very readible, and is pretty old. I would  implement
> it differently (although with the same basic idea) if I had  to do it
> again. All the string comparisons between all channel  combinations make
> it very slow.

That's certainly true; with 275 channels there are over 37,000 pairs.

In prepare_freq_matricies.m, on line 125, Nchan is 302.  The problem is that size(freq.label) is 306.  Somewhere it is dropping some channels, and the numbers don't match.

I did this:

I let cfg.channel default in preprocessing, and used

cfg.channelcmb = channelcombination({'MEG' 'MEG'}, data.label);

with freqanalysis.  Then to examine the state in sourceanalysis:

> dbstop('prepare_freq_matrices', '125');

At this point, cfg.channel has the MEG channels and the references ONLY (and the references have been moved to the end for some reason).  freq.label includes everything.  Because they don't match, the matrix is built to the wrong size.  I tried pruning cfg.channel to just the MEGs, but that caused more problems downstream.  FYI, the script I'm using uses prepare_leadfield, does that matter?

--
Dr. Tom Holroyd
The 9th Amendment of the U.S. Constitution:
"The enumeration in the Constitution, of certain rights, shall not be
construed to deny or disparage others retained by the people."



More information about the fieldtrip mailing list