[FieldTrip] MaxFilter and ICA preprocessing

Eelke Spaak eelke.spaak at donders.ru.nl
Thu Jan 15 18:11:47 CET 2015


Dear Fred,

The options cfg.runica.pca and cfg.numcomponent should have the exact
same effect when using cfg.method = 'runica'. (See the code for
ft_componentanalysis at lines 480-490.)

One possible explanation for why you were getting slow results is that
ICA depends on a random initialization; perhaps sometimes the initial
weights were better than at other times?

Best,
Eelke

On 15 January 2015 at 18:00, Frédéric Roux <f.roux at bcbl.eu> wrote:
> Problem solved.
>
> I am posting below the solution with what I think may be
> the explanation, in case someone else might experience a similar
> issue.
>
> cfg = [];
> cfg.method = 'runica';
> cfg.numcomponent = rank(meg_data.trial{1}*meg_data.trial{1}');
>
> ic_data = ft_componentanalysis(cfg,meg_data);
>
> Most likely, this reduces the complexity of the solution the algorithm
> searches for. Insead of searching for n1 = length(meg_data.label) ICs
> the algorithm searches for n2 = rank(meg_data.trial{1}*meg_data.trial{1}') ICs.
> The slowing down of the ICA arises because the data has rank n2 and not n1, but
> still the algorithm tries to search for a solution satisfying rank = n1.
>
> Remains the question why cfg.runica.pca =  rank(meg_data.trial{1}*meg_data.trial{1}') didn't
> have any effect. Has this option become obsolete in more recent versions of FT?
>
> Best,
>
> Fred
>
>
> Frédéric Roux
>
> ----- Original Message -----
> From: "Frédéric Roux" <f.roux at bcbl.eu>
> To: "FieldTrip discussion list" <fieldtrip at science.ru.nl>, "Discussion list for international MEG community" <megcommunity at jiscmail.ac.uk>
> Sent: Thursday, January 15, 2015 4:41:42 PM
> Subject: MaxFilter and ICA preprocessing
>
> Dear all,
>
> after preprocessing my MEG data (Elekta Neuromag) with MaxFilter, I noticed that the ICA decomposition
> takes longer than if the data hasn't been preprocessed with MF.
>
> As a side note: I've taken care of reducing the dimensionality of the data to cfg.runica.pca = rank(data.trial{1}*data.trial{1}'), as I've read in previous posts that otherwise the results of the ICA decomposition can contain complex values.
>
> My questions are:
>
> 1) is the fact that the ICA training takes longer normal?
>
> 2) why does the ICA training take longer in the case of MF preprocessing?
>
> Sorry for cross-posting on both lists, I'm just hoping to get an answer asap.
>
>
> Best,
> Fred
>
>
> ---------------------------------------------------------------------------
>
>
>
> _______________________________________________
> fieldtrip mailing list
> fieldtrip at donders.ru.nl
> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip




More information about the fieldtrip mailing list