Autoreject

Hi,

I'm starting to investigate using autoreject and so far it looks quite
promising. One thing I'm running into is using ICA and EOG/ECG projectors.

In the paper it is suggested to "first run autoreject only for detection of
bad channels but without interpolation" then exclude those channels from
ssp, ica or sss computations.

This seems like a sensible approach but from a practical stand point how is
that done. Should I estimate the model first
using

ar.fit(epochs)

and then look at ar.bad_segments to exclude any channel that is ever bad?
Would it be better to do this on the epochs created using the EOG/ECG
events as part of SSP determination?

I assume a similar iterative approach would be recommended for dealing with
motion correction?

Thanks
Luke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20180208/9ecf10d6/attachment.html

Hi Luke,

You can supply the reject dictionary to ICA in mne-python after estimating
it using autoreject. Something like:

from autoreject import get_rejection_threshold>>> reject = get_rejection_threshold(epochs)>>> ica.fit(epochs, picks=picks, reject=reject)

I?m not sure if it would help a lot though. It depends on your data.

As for running autoreject without interpolation, you can use
LocalAutoreject(n_interpolate=0,
...) so that it does not interpolate. Set n_consensus to something
reasonable like 0.8.

In terms of SSS, maybe look into Eric?s new method, oversampled temporal
projection <Reducing Sensor Noise in MEG and EEG Recordings Using Oversampled Temporal Projection | IEEE Journals & Magazine | IEEE Xplore. It?s available
in the dev version of mne-python.

Mainak

Hi,

I'm starting to investigate using autoreject and so far it looks quite
promising. One thing I'm running into is using ICA and EOG/ECG projectors.

In the paper it is suggested to "first run autoreject only for detection
of bad channels but without interpolation" then exclude those channels from
ssp, ica or sss computations.

This seems like a sensible approach but from a practical stand point how
is that done. Should I estimate the model first
using

ar.fit(epochs)

and then look at ar.bad_segments to exclude any channel that is ever bad?
Would it be better to do this on the epochs created using the EOG/ECG
events as part of SSP determination?

I assume a similar iterative approach would be recommended for dealing
with motion correction?

Thanks
Luke

?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20180208/c1f4da8c/attachment-0001.html

I assume a similar iterative approach would be recommended for dealing

with motion correction?

Can you describe the sorts of artifacts you're dealing with in particular?
maxwell_filter can be used to compensate for movements. If you are seeing
artifacts due to this compensation step, let me know -- it would be good to
improve the method so that artifacts are reduced or eliminated, so I'd be
interested to look at problematic files if you have some. Using tSSS with
movement compensation can help sometimes.

Eric
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20180208/97aae6a6/attachment.html

At the moment, I'm just repairing an automated pipeline that had been using
FASTER, from mne-sandbox, to identify bad channels. Then SSP for
eye-blinks/ecg etc. and a fixed reject dictionary, Since FASTER is no
longer in mne-sandbox, I'm looking at using autoreject.

Once that is working I plan on looking at various motion correction
techniques, at which time I will certainly be in touch.

-Luke