[Eeglablist] PCA for Artifact Removal
Nick Heredia
n_heredia at u.pacific.edu
Tue Apr 21 13:39:33 PDT 2020
Hello all,
I am trying to remove blink and eye movement artifacts from eeg without the
help of EOGs. From what I understand, EEGlab (I have 2019.0) has runpca and
runpca2 <https://sccn.ucsd.edu/pipermail/eeglablist/2018/014193.html>, and
also pop_runICA has an argument 'pca'
<https://sccn.ucsd.edu/pipermail/eeglablist/2019/014819.html>.
My first question is, I explored the Chapters, Plotting ERP Images,
Decomposing Data Using ICA, Working with ICA components, Time/Freq
Decomposition, Rejecting Artifacts, and Event Processing, and I wasn't able
to find help for using PCA in pop_runica. Could you point me in the right
direction?
Secondly, my basic understanding is that I can use PCA to remove the
artifacts for eye movements by removing the highest PCA component
<https://urldefense.com/v3/__https://www.reddit.com/r/eeg/comments/fk7gve/which_technique_can_be_used_to_remove_these/fkr6yo0?utm_source=share&utm_medium=web2x__;!!Mih3wA!U8PrlZYujMuwwI6LsDEiIgPelDI-xnYcqAJQ5NQG6YZJbxIavIht55xlNX_AW6MxnZqZbg$ >.
I* have to use PCA by professor's instruction*. My confusion stems from the
fact that when I use runpca, I get a vector of equal size to my data, (say
n channels by 24000 samples). I try to interpolate the outlier values in
this matrix, but I don't know where to go. How would I get the time series
out of the modified pc output from runpca? Additionally, I tried to redo
the artifact removal using pca()
<https://urldefense.com/v3/__https://www.mathworks.com/help/stats/pca.html__;!!Mih3wA!U8PrlZYujMuwwI6LsDEiIgPelDI-xnYcqAJQ5NQG6YZJbxIavIht55xlNX_AW6PL4vlgFQ$ > from the matlab library,
citing the reddit link.. From the 'PCA Using ALS for Missing Data' section,
I get a coeff1 matrix of n by n. How would I identify and remove the
'highest' PCA component? And would the runpca or pop_runica be able to
accomplish what I'm trying to do?
--
With Gratitude
-N. Heredia
More information about the eeglablist
mailing list