# [Eeglablist] Binica PCA error and PCA question

Ugo Bruzadin Nunes ugob at siu.edu
Fri Mar 29 22:46:35 PDT 2019

```Dear SCCN team,

1. Me and the team at the INL in SIU-C have been trying to run a PCA using BINICA and have been getting the same error, no matter what computer, MATLAB, or EEGLAB version we run it. We're running it on windows using the binica from the wiki page.

Binica's ICA runs ICA normally, and CUDAICA and RUNICA runs both ICA and PCA just fine.  The binica I downloaded from the wiki, the CUDAICA for windows (in case you're curious, I found it in the comments of the original CUDAICA https://github.com/yhz-1995/cudaica_win and it works wonderfully).

The code is this (or similar):" EEG = pop_runica(EEG,'icatype', 'binica', 'extended', 1, 'PCA', 25).
error print:

step 335 - lrate 0.000001, wchange 0.000000, angledelta 89.7 deg, 0 subgauss
Sorting components in descending order of mean projected variance ...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
Permuting the activation wave forms ...
Storing weights in C:\MG/binica5727.wts
Storing sphering matrix in C:\MG/binica5727.sph

ICA Version 1.3  (September 20, 1999)
Error using reshape
Size arguments must be real integers.

A = reshape(A,[Asize length(A)/prod(Asize)]);

Error in binica (line 326)

Error in pop_runica (line 430)
[EEG.icaweights,EEG.icasphere] = binica( tmpdata, 'lrate', 0.001, g.options{:} );

How can I fix this error?

2. I have read the many warnings from the SCCN team against running PCA on data to clean the data (Delorme et al., 2018), and I'm quite confused. Are we not supposed to run a "real PCA"  or we're not supposed to run the "runica pca"? What alternatives do you suggest to process the data? Should we run an n-1 ICA manual reduction to remove components but keep all the other ICs produced? Wouldn't an ICA of 128 on a 128 channels (in for example, a 10 minutes lenght file) be under-powered?

If my questions are repeated I apologize.