[FieldTrip] PLV analysis clarification

Matt Mollison matt.mollison at gmail.com
Fri Mar 25 18:36:18 CET 2011

Hi Marco,

Oh right, there are some idiosyncrasies that I've found.

When you have a field called 'cohspctrm' then any statistics analysis
(cluster, t-test, etc.) wants a labelcmb field like is originally output
from ft_connectivityanalysis, not a hacked label field. This is because
ft_freqstatistics creates the {'E1 - E2'} label field on its own in the for
loop at line 108, but this is ONLY in the case of cohspctrm (see the if
statement at line 102). Therefore it seems that you need to specify
cfg.channel={'E1 - E2'} because this is the channel match that it's going to
look for. I don't know what happens in a cluster analysis if you don't
specify cfg.channel with coherence data—there can be a lot of channel
combinations if you've got a full set (e.g., 129 channels is 8256 pairwise
combinations). I also don't know what is technically happening if you've
only computed coherence between a few channels.

If you're didn't output 'coh' from ft_connectivityanalysis and you kept the
field name (e.g., output 'plv' and therefore you have 'plvspctrm'), then the
statistics function will take the hacked label field (e.g., {'E1 - E2'})
because it falls down to the elseif statement at line 116.

And of course, if you want the grand average (e.g., for looking at a grand
average plot) then you need to have the hacked label field.

This is all quite confusing. Would really appreciate some insight from
someone who has been successful at doing coherence/plv analyses...


On Fri, Mar 25, 2011 at 11:10 AM, Marco Rotonda <marco.rotonda at gmail.com>wrote:

> Thanks Matt
> > Could it be that you didn't define cfg.channel, cfg.latency, and
> cfg.frequency?
> but that options shouldn't take the default (all) value if aren't
> specified?
> > (and cfg.avgoverfreq—unless, is there a way to run a cluster analysis
> across multiple frequencies?)
> > It seems to me that for a cluster analysis on plv data you need to rename
> the 'plvspctrm' field to 'cohspctrm' and define cfg.channel with the format
> {'channel - cohrefchannel'}
> that's almost the trick I did following Jan suggestion:
> rename plvspctrm into powspctrm and create a label-field, e.g. by   for i
> =1:size(data_conn.labelcmb,1) data_conn.label{k} =
> [data_conn.labelcmb{i,1},'_',data_conn.labelcmb{i,2}]; end (and remove the
> labelcmb field)
> btw I added all the cfg you suggested and the cfg.avgoverfreq but I'm
> getting the same error...
> Marco
> _______________________________________________
> fieldtrip mailing list
> fieldtrip at donders.ru.nl
> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.science.ru.nl/pipermail/fieldtrip/attachments/20110325/77e5aad8/attachment-0002.html>

More information about the fieldtrip mailing list