Our group is applying SSPs to get rid of EOG artifact with EEG data. As I posted recently, we are trying to display our EEG sensor data without the average reference applied.
My question is about the interaction between the EOG SSPs and the average reference. One method we were considering was to compute the EOG SSPs on the raw data, then use the --projon tag to apply them plus the average ref in computing the evoked data, and then manually remove the average ref SSP from the evoked data structure. Will this procedure result in an evoked file that does not include any effects of the average reference, or does the average reference interact in some way with the application of the other SSPs? Sorry if this is obvious, I just have trouble conceptualizing the average reference as an SSP.
Hi Ellen,
The EOG SSPs and the average reference SSP shouldn't really interact in
anyway, except that you may get rid of some of the EOG artificat in
your average reference (which is not a problem, I guess). You could
apply them in any order and applying them multiple times shouldn't
change anything.
The average reference operator in MATLAB code would be as below if you
want play with some toy data in MATLAB to understand this better:
A = eye(Nchan) - ones(Nchan)/Nchan;
If X is your NChan x NTime EEG data, then A*X should do the average
referencing. A has rank Nchan-1 where Nchan is the number of EEG channels
that you have. This means that unless you have your reference channel as
one of your EEG channels (as opposed to a mastoid or nose or something
that's separate from the Nchan EEG channels), applying this operator would
reduce the dimensionality of your data by 1 and if you save only the
result with --projon for this projector, deleting the operator from the
fif structure would not help you gain back that lost dimension. If you
really want to undo the average reference at a later point, I'd suggest
making an extra derivative channel that is the average of all your
channels and adding that channel's time series to the each of the
individual channel when you want to undo the average referencing.
Instead of deleting the average references from the projon ave.fif data structure, I tried disabling them(setting the active tag to 0) so as to keep the dimensionality the same. Do you think this could help? (In this case the resulting averages looked a little different from an alternate option of viewing the ave.fif originally set to --projoff but manually checking all but the average ref projectors On in mne_browse_raw.)
Hi Candida,
In the files saved with --projon, you would have already applied the
average reference and saved only the resulting time series.. In this
case, setting the active tag to 0 would not have any effect. To make
sure that is indeed the case, you could check if the projon-ave.fif
data looks identical with or without the active tag set to 0.