<div dir="ltr"><font face="arial, helvetica, sans-serif" style="font-size:13px">My lab is trying to sort out a very similar issue, this was a very convenient coincidence. Anyway, my PI probably understands this issue better, but for my sake, there seems to be some disagreement here about whether ICA or PCA is better? </font><div style="font-family:arial,sans-serif;font-size:13px">
<font face="arial, helvetica, sans-serif"><br></font></div><div style="font-family:arial,sans-serif;font-size:13px"><font face="arial, helvetica, sans-serif">We have a dedicated VEOG channel, but no dedicated ECG channel, so according to Hamid, we would be better off using ICA for removing ECG artifacts and PCA for EOG artifacts?</font></div>
<div style="font-family:arial,sans-serif;font-size:13px"><font face="arial, helvetica, sans-serif"><br></font></div><div style="font-family:arial,sans-serif;font-size:13px"><font face="arial, helvetica, sans-serif">Also, I'm looking at ft_componentanalysis and ft_denoise_pca, and I'm wondering if there is a simple explanation for what the difference between using ft_componentanalysis with, for instance, <span style="text-align:justify;font-size:12px;white-space:pre-wrap;background-color:rgb(247,249,250)">cfg.runica.pca, and just using ft_denoise_pca is for PCA?</span></font></div>
<div style="font-family:arial,sans-serif;font-size:13px"><font face="arial, helvetica, sans-serif"><span style="text-align:justify;font-size:12px;white-space:pre-wrap;background-color:rgb(247,249,250)"><br></span></font></div>
<div style="font-family:arial,sans-serif;font-size:13px"><font face="arial, helvetica, sans-serif"><span style="text-align:justify;font-size:12px;white-space:pre-wrap;background-color:rgb(247,249,250)">Finally, I noticed ft_componentanalysis has an option for a displaymode and interactivepca, and I'm wondering if this essentially turns the inputting of components to be rejected into a gui? I'm trying to create functions for our muscle, EOG, and ECG artifact rejections, but because the components to be removed seem to need to be added into the script itself, trying to run it as a function within our analysis script obviously leads to it not rejecting any components.</span></font></div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Oct 10, 2013 at 9:35 AM, Raquel Bibi <span dir="ltr"><<a href="mailto:bibi.raquel@gmail.com" target="_blank">bibi.raquel@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear Robert,<br>
Over a year ago I tried to use the suggested method of the lower sample rate and project onto my original data. I had problems. Can you provide a little snippet of the projection?<br>
<br>
Best,<br>
<br>
Raquel<br>
Sent from my iPhone<br>
<div class="HOEnZb"><div class="h5"><br>
> On Oct 10, 2013, at 4:43 AM, Robert Oostenveld <<a href="mailto:r.oostenveld@donders.ru.nl">r.oostenveld@donders.ru.nl</a>> wrote:<br>
><br>
> Hi Craig,<br>
><br>
> Let me forward this to the email discussion list.<br>
><br>
><br>
>> On 9 Oct 2013, at 23:27, CR wrote:<br>
>><br>
>> Hi Robert,<br>
>> I wanted to see what your thoughts were on the merits of 2 different methods of removing blinks.  I have a 12 minute resting state segment of data, so it has required me to do some things a little differently.<br>

>><br>
>> Method 1:  ICA<br>
>><br>
>> I break the 12 minute segment into 2 second intervals, since doing ICA on the whole segment gave a poor result.<br>
><br>
> why does it give you a poor result? Has the subject been moving? Is there something else that makes the data not compatible with the stationary mixing assumption?<br>
><br>
> Or is it the difference in the preprocessing? 12 minutes of data represented in one segment can have drift, whereas 12 minutes of data represented in 2 second snippets will not have the drift  (assuming you use the default cfg.demean=yes). Doing a low-pass filter on the continuous data would have a similar effect as segmenting it and demeaning the 2 sec snippets.<br>

><br>
>> I apply the resulting unmixing matrix to the 12 minute segment and correlate each component with the EOG to find the most relevant components, and reject these based on a threshold.<br>
><br>
> so a bit like<br>
> <a href="http://fieldtrip.fcdonders.nl/example/use_independent_component_analysis_ica_to_remove_eog_artifacts" target="_blank">http://fieldtrip.fcdonders.nl/example/use_independent_component_analysis_ica_to_remove_eog_artifacts</a><br>

> with the correlation method of<br>
> <a href="http://fieldtrip.fcdonders.nl/example/use_independent_component_analysis_ica_to_remove_ecg_artifacts" target="_blank">http://fieldtrip.fcdonders.nl/example/use_independent_component_analysis_ica_to_remove_ecg_artifacts</a><br>

><br>
><br>
>> Method 2: PCA<br>
>><br>
>> I do a timelock analysis based on the blink onset point returned by the eyelink system.  I then PCA the resulting blink ERF.  I then reject the component(s) that account for say 98% of the total variance.<br>
>><br>
>> Obviously option 2 is much faster.  What do you see as the relative merits/problems with the techniques?  Technique 1 is largely what the FT tutorials suggest, so what about method 2?<br>
><br>
> Option 2 makes the large variance component orthogonal to the remainder of the components, whereas in option 1 the eye component and frontal brain components are both estimated, not orthogonal, and removing of the eye component does not remove the frontal brain component.<br>

><br>
> Option 1 is better, as it is less aggressive in removing brain components.<br>
><br>
> If speed is a concern, you could do<br>
> - ft_resampledata to e.g. 250 Hz or even less, estimate the components based on that and project them out of the original high Fsample data.<br>
> - do ft_componentanalysis on a subset of the data (say every 4th data segment after cutting it in pieces), and project them out of the original segmented data<br>
> - a combination of the two<br>
> - try out anothe rica algorithm (fastica versus runica)<br>
> - try out with the options of the ica algorithm, esp the stopping options<br>
> - get a faster computer<br>
><br>
> best regards<br>
> Robert<br>
><br>
><br>
><br>
><br>
><br>
><br>
> _______________________________________________<br>
> fieldtrip mailing list<br>
> <a href="mailto:fieldtrip@donders.ru.nl">fieldtrip@donders.ru.nl</a><br>
> <a href="http://mailman.science.ru.nl/mailman/listinfo/fieldtrip" target="_blank">http://mailman.science.ru.nl/mailman/listinfo/fieldtrip</a><br>
<br>
_______________________________________________<br>
fieldtrip mailing list<br>
<a href="mailto:fieldtrip@donders.ru.nl">fieldtrip@donders.ru.nl</a><br>
<a href="http://mailman.science.ru.nl/mailman/listinfo/fieldtrip" target="_blank">http://mailman.science.ru.nl/mailman/listinfo/fieldtrip</a><br>
</div></div></blockquote></div><br></div>