Dealing with Muscle Artefacts

Hello,

Looking for advice on getting muscle activity out of my resting state data.

Currently I am using the annotate_muscle mne function, between 110 -140 Hz, to drop epochs with muscle movement. However, almost 50% of my ICA components relate to muscle artefacts. Are there any further recommendations for getting muscle activity out of the data?
For example, my M1 and M2 channels contain a lot of noise, which I assume is related to muscle, and am wondering if whether removing them will help or impair ICA.

Any feedback and help much appreciated!

Hello,

Yes, you could drop very noisy channels, e.g. the mastoids.
And secondly, you could annotate very noisy segments with a “bad_xxx” annotation before running the ICA: Annotating continuous data — MNE 1.3.1 documentation
The point is to fit the ICA on artifacts that affect most of your signal, not on an artifact/source that occurred once or twice in your entire signal.

Mathieu

Hi Mathieu,

Thanks for your response, it is much appreciated :slight_smile: I will remove the mastoid channels and see if this reduces the percent of ICA components which are muscle artefacts. I’m actually finding with this dataset, that there aren’t obvious noisy segments. I remove the first ten and last ten seconds where participants are likely to move more in response to the experimenter. The noise seems to be more subtle and consistent. I am sharing some data from after filtering to demonstrate what I mean!

@hWils Hi,

comment:
my M1 and M2 channels contain a lot of noise.
Typically, they are used as reference electrodes because they are quite far from mid-line of the brain. They are expected to pick up very little brain signals. They also tend to pick up lot of heart/muscle activities.

About the figure:
FC6 channel has heart activities (QRS complex/R- peaks), M2 is rather noisy than other channels. M1 seems to be okey. Can you point out the time points/channels you are referring as noise seems to be more subtle and consistent in the figure?

Alternative idea you can try for ICA:

First compute a fixed length of epochs, then find a global rejection parameter using autoreject tool.
(example: Find global rejection threshold — autoreject 0.4.0 documentation).
This will drop the bad segments and then apply ICA on the epochs object. But you have to test this method because if the rejection parameter is too high, you may end up with less data.

I assume you can’t use any filter for your data?

best,
Dip

FC6 channel has heart activities (QRS complex/R- peaks),

I don’t think so, definitely noise, but not heart-related. It’s way too high frequency.

Mathieu

1 Like

I see what you meant. It has the similar shape but yes, I agree that the frequency seems way higher. I missed it.

@hWils What kind of ICA topography would you get for ‘FC6’ channel? Do you have an example? Just curious!

Thanks @dasdiptyajit and @mscheltienne. To me FC6 also looks like heart activities- the frequency seems a lot higher as the figure includes ~300 seconds of data points. Apologies, this wasn’t the clearest plot to show!

@dasdiptyajit, whilst we recorded M1 and M2, our reference was CPz - would you recommend removing M1 and M2 as they do not contain much in the way of brain signals? I want to keep the channels consistent between all subjects, and if there are not contributing useful information, and very noisy in some, I’m wondering if its best to just get rid.

For the subtle noise, I thought F8 looks pretty noisy! The data is filtered with 1hz and 45 Hz.

Thanks for the recommendation of the global rejection parameter - this seems a good shout - I’ll find an example of the ICa topography!

We use a lot ANT amplifiers on my site, referenced to CPz. The mastoids are often noisy with the waveguard EEG cap design thus, we usually don’t use them (we don’t even put gel) and we drop them in all subsequent preprocessing pipeline. Except, if re referencing to the average of M1/M2 is an hard requirement, in which case we recommend a custom-made waveguard cap with dropleads electrodes for M1/M2 which can be used with single-use snap electrodes and offer better signal.
IMO, dropping M1/M2 is fine.

the frequency seems a lot higher as the figure includes ~300 seconds of data points

The figures seems to include 10 seconds (time-axis at the bottom) and the rest of the activity indicates to me that it indeed includes 10 seconds and not 300 seconds. Am I missing something? It’s likely your raw object that contains more data points.

F8 looks very slightly noisy, it’s not that bad. Depending on your future analysis, the best solution to clean it further might be to filter to e.g. (1, 40) Hz or (1, 30) Hz.

Mathieu

Ah yes you are completely right about the fact its 10 seconds @mscheltienne ! I’ve been staring at EEG plots too long aha.

This is really interesting about the mastoids being noisy with waveguard (also the caps I am using with ANT). Thanks for that, useful to know it might be a more general problem that my collection being particularly messy, and that it is okay to drop them.

I couldn’t get ICA for just FC6, so here is for FC6 and M1…
image

And here are two components relating to FC6 and CPz @dasdiptyajit
image

also the caps I am using with ANT

I figured… yes with those caps, the mastoids can be good, but they can also be very bad depending on the head shape. Overall great caps and great system, just bad mastoids :wink:

Don’t fit on a low number of sensors, it doesn’t make a lot of sense. I think what @dasdiptyajit meant is that one component should pick up the noise from FC6.

Fit the ICA with a normal amount of components on your EEG sensors (I recommend ica = ICA(n_components=None, method="picard")) and then plot your topographic maps with ica.plot_components. One of them should show a blob on FC6 and that component will account for the high-frequency noise we see on FC6.

Mathieu

@hWils thanks. Just wondering if there is a typo for topographies related to ‘FC6’ (in two figures? ) First figure topographies seem related to heart activity. I am not so sure about the second figure. But, honestly, I don’t know about the fitting criteria. So, its hard to judge!

In general, I would agree with @mscheltienne. Dropping M1/M2 should be fine if they are really noisy and you don’t have the intention to use them as reference. One thing I would add: using an average reference is typically recommended when you have large no. of electrodes (~64 or more channels). Whole idea is to cover the whole head (or maximum) and average noise is computed across all the electrodes. But with a small no. of EEG electrode (say 32-16 or less), M1/M2 reference electrode may be a better option (considering they don’t pick up strange noise :smile:)

F8 can be a slightly lose electrode/imposed with some motion artifacts?

best,

Aha, yes agreed, ANT systems are great - useful to know about the mastoids.

Does seem to be a component just over FC6! I am average referencing, using 64 channel cap so luckily do not need the M1/2 electrodes for this. Thanks both of your so much for your help. Incredibly useful and very much appreciated to get your expertise

image