issues with clusterrandanalysis

Andre Bastos abastos at BERKELEY.EDU
Tue Apr 10 07:30:07 CEST 2007

Dear Eric,

Using the cfg:
  cfg.statistic = 'indepsamplesT';
  cfg.alphathresh = 0.5;
  cfg.makeclusters = 'yes';
  cfg.minnbchan = 2;
  cfg.clusterteststat = 'maxsum';
  cfg.onetwo = 'twosided';
  cfg.alpha = 0.5;
  cfg.nranddraws = 100; = TFR(1).elec.label(1:64);
  cfg.latency = [-3.5 -1.5];
  cfg.elec             = TFR(1).elec;
  cfg.neighbourdist    = 4;

The Matlab printout is:

Selecting and formatting the data.
selected 64 channels
selected 41 time bins
selected 40 frequency bins
Calculating the neighbourhood structure of the channels.
Obtaining the electrode configuration from the configuration.
Running the statistics engine.
Statistic-specific preprocessing (calculating critical values, initializing
draws from the randomization distribution, ...).

After it calculates the randomization, I get a further error when the plot
function is called (Again using the same settings as the tutorial):

reverting to 151 channel CTF default
??? Error using ==> topoplotER
labels in data and labels in layout do not match

Error in ==> topoplotER at 210
    topoplotER(cfg, data);

As you said, it doesn't look like the neighborhood structure is being
created properly. I was not able to generate it successfully using the
following settings:
cfg.neighbourdist = 4
cfg.elec = ALLDATA1(1).elec %(with .pnt and .label fields)
neighbours = neighbourselection(cfg, ALLDATA1(1).label)

Neighbors becomes a series of 64 structures, but each structure's
neighblabel field is empty. Perhaps this is also what happens when the
script tries to generate the neighbourhood structure.

Thanks for your help,


-----Original Message-----
From: FieldTrip discussion list [mailto:FIELDTRIP at NIC.SURFNET.NL] On Behalf
Of Eric Maris
Sent: Monday, April 09, 2007 3:11 AM
Subject: Re: [FIELDTRIP] issues with clusterrandanalysis

Dear Andre,

> I am beginning to use the clusterrandanalysis function, but have not been
> finding any significant clusters in my EEG data. I changed alpha and
> alphathresh to be 0.5, but this still didn't produce any results
> (posclusters and negclusters are both empty). To test whether the config
> settings were actually working, I generated some random time frequency
> using the following commands:
> s = size(TFR.powspctrm (s is 17 trials by 64 channels by 40 freqs by 99
> steps)
> rpow = rand(s); (produces pseudorandom nums between 0 and 1)
> TFR.powspctrm = rpow;
> I reran clusterrandanalysis with this new TFR, but still got no clusters.
> This puzzles me, because a random series of numbers should be
> different from physiologically produced spectral data.

My first guess is that there is something wrong with your neighborhood
structure. Can you send me a copy of the screen output (only the part before
the counting of the randomizations)?

When using MEG-data coming from a  CTF system, this neighborhood structure
is calculated automatically. However, I guess you are using a different
sensor configuration. In that case, you have to supply this information to
clusterrandanalysis. You can find more information about this in the online
help of clusterrandanalysis.

Kind regards,


> I used the basic config settings found in the tutorial, which were:
>   cfg.statistic = 'indepsamplesT';
>   cfg.alphathresh = 0.5;
>   cfg.makeclusters = 'yes';
>   cfg.minnbchan = 2;
>   cfg.clusterteststat = 'maxsum';
>   cfg.onetwo = 'twosided';
>   cfg.alpha = 0.5;
>   cfg.nranddraws = 100;
> = 'all';
>   [clusrand] = clusterrandanalysis(cfg, TFR1, TFR2);
> Any ideas what I am doing wrong?

More information about the fieldtrip mailing list