[FieldTrip] Reject components using prepared vs. original data
"Jens Klinzing, Universität Tübingen"
jens.klinzing at uni-tuebingen.de
Sun Aug 13 19:29:15 CEST 2017
Dear FieldTrip community,
I highpass-filter and downsample my data in order to prepare them for
doing an ICA. I want to apply the resulting unmixing matrix and my list
of suspicious components to the original data (before downsampling and
In the ECG artifacts tutorial , this is done like this:
% decompose the original data as it was prior to downsampling to 150Hz
cfg = ;
cfg.unmixing = comp.unmixing;
cfg.topolabel = comp.topolabel;
comp_orig = ft_componentanalysis(cfg, data_orig);
% the original data can now be reconstructed, excluding those components
cfg = ;
cfg.component = [4 17];
data_clean = ft_rejectcomponent(cfg,comp_orig, data_orig);
However, based on some older posts on this mailinglist I tried to
directly provide the components calculated on prepared data like this:
data_clean2 = ft_rejectcomponent(cfg,comp, data_orig);
The output for both versions seems to be identical. This is maybe not
surprising considering that the only fields ft_rejectcomponents seems to
use from the second input comp are .label, .topolabel, .unmixing and
.topo. The first three are identical for comp and comp_orig. The values
in comp.topo are however slightly different (in the order of 10^-14,
looks like a precision issue?) compared to the values in comp_orig.topo.
So my questions are:
a) Are the two solutions equivalent or am I missing something?
b) Where do the tiny differences in comp/comp_orig.topo come from?
c) Should the tutorial be altered to the simpler version or are there
scenarios in which the two versions are not equivalent?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the fieldtrip