[FieldTrip] rejectcomponent after ica for 20 comps only

Gio Piantoni g.piantoni at nin.knaw.nl
Mon Mar 19 17:59:50 CET 2012


Hi Yuval,

If you pass data as third argument, the function will substract the
weights of rejected component(s) from your data. So, your data will
have the initial rank minus the number of rejected component. No
reconstruction occurs.

See line 121 of ft_rejectcomponent or try the code below.

nelec = 50;
fs = 1000;
ntrl = 5;

data = [];
data.label = cellfun(@(x)['E' num2str(x)], num2cell(1:nelec), 'uni', 0);
data.fsample = fs;
for i =1:ntrl
  data.trial{i} = randn(nelec, fs);
  data.time{i} = 1/fs:1/fs:1;
end

cfg = [];
cfg.method = 'fastica';
cfg.numcomponent = 10;
comp = ft_componentanalysis(cfg, data);

cfg = [];
cfg.component = 2;
data2 = ft_rejectcomponent(cfg, comp, data); % subtract comp from data
data3 = ft_rejectcomponent(cfg, comp); % reconstruct from comp

rank(data.trial{1}) % full rank
rank(data2.trial{1}) % full rank - 1 rejected
rank(data3.trial{1})  % rank of 'comp' - 1 rejected

On Mon, Mar 19, 2012 at 16:46, Yuval Harpaz <yuvharpaz at gmail.com> wrote:
> Dear ft_emaillist
>
> I want to reject components obtained with with fastica.
>
> if I only run ft_componentanalysis with cfg.numcomponent=20, creating only
> 20 components, can I still reject a specific component by
> ft_rejectcomponent(cfg,comp,data) or will it only reconstruct the date based
> on the 20 components I calculated?
>
> thanks,Yuval
>
> --
>
> Y.Harpaz
>
> a link to the BIU MEG lab:
> http://faculty.biu.ac.il/~goldsa/index.html
>
>
> _______________________________________________
> fieldtrip mailing list
> fieldtrip at donders.ru.nl
> http://mailman.science.ru.nl/mailman/listinfo/fieldtrip



More information about the fieldtrip mailing list