# [FieldTrip] ICA on highpass filtered MEG data

Tue Aug 27 20:44:39 CEST 2013

```Dear Fieldtrip users,

I have CTF 275 channels MEG data and I am interested in gamma band. For
this purpose I would like to remove microsaccade artifacts from the data
using the ICA. In order to obtain the microsacade components I have
filtered data ( highpass and lowpass; 30-150 Hz) and than I've wanted to
run ICA calculation. However, I've read here
http://sccn.ucsd.edu/pipermail/eeglablist/2013/006710.html that after
filtering data are more dependent and that is a big problem for ICA
calculation. And I also experienced that ICA takes very long time and
sometimes doesn't converge. So, to overcome this problem, the data
dimensionality has to be reduced. I have found two different solutions from
different sources.

One solution might be to estimate variance with PCA and than choose the
amount of variance that should stay in the data. e.g.
[COEFF,SCORE,eigenvalues ] = princomp(data_matrix);
A= cumsum(eigenvalues);
num_of_comp=find(A/A(end)>0.98,1); % 98% is the percentage of variance that
will be used for the ICA, 2% will be discarded
This percentage will be the same for all subjects.

The second option might be to use the same eigenvalue cutoff value for all
subjects:
[COEFF,SCORE,eigenvalues ] = princomp(data_matrix);
A=(find(eigenvalues>0.005));  %0.005 here is just for example
num_of_comp=A(end);

The variable num_of_comp represents the number of component to which
filtered data will be reduced before ICA.
e.g.
cfg = [];
cfg.method = 'runica';
cfg.runica.pca = num_of_comp;
cfg.runica.maxsteps = 600;
cfg.runica.stop = 1e-7;
cfg.runica.extended = 1;
ica_comp = ft_componentanalysis(cfg, data);

Finally, my question is which of this two methods is more objective? And is
there any other possibility I should consider?
I would like to add that in my case second calculation gives me less
variant number of components among 22 subjects.

Thank you in advance!

All the best!