[Mne_analysis] maxfilter for head movement compensation only

Evgenii Kalenkovich e.kalenkovich at gmail.com
Tue May 7 03:02:05 EDT 2019
Search archives:

        External Email - Use Caution        

Hello, dear Eric. Thank you for your reply! It was very helpful.


>>    1. Head position extraction using Electa's MaxFilter
>>       1. Is this step sensitive to noisy/flat channels if I only need
>>       head position?
>>       2. Is it necessary/advised to use -cal and -ctc files for this
>>       purpose?
>>
>> During recordings, the HPI coils emit sinusoids, and these are picked up
> by the MEG channels. From this recording, the amplitudes on each channel
> are estimated. From these amplitudes, coil locations are estimated. So if
> there is some channel that is bad, it could (probably only slightly) bias
> the position estimation step. So better to exclude bad channels even before
> head position estimation if possible.
>
> Regarding fine calibration and cross-talk, I'm not sure if MaxFilter makes
> use of them in the computed magnetic dipole forward model or not. My guess
> is that it does not. (I suppose you could check to see if the positions are
> numerically identical with and without fine calibration and cross-talk to
> check, if you want.) Even if it does use them, the difference will probably
> be minimal.
>

I'll try to run -headpos with/without supplying a list of bad channels and
with/without -cal and -ctc files and see if it leads to differences in the
head position estimation.

>
>>    1. Head movement compensation using mne-python's maxwell_filter
>>    1. Is this step sensitive to noisy/flat channels if I only do
>>       movement compensation?
>>       2. Is it necessary/advised to use the fine calibration and
>>       cross-talk cancellation files for this?
>>       3. What parameters should I supply to maxwell_filter to limit it
>>       to head movement compensation?
>>
>> Currently there is no way to do just movement compensation without also
> maxwell filtering (reducing rank / denoising). In principle it should be
> possible to do this without rank reduction (see this GitHub issue
> <https://github.com/mne-tools/mne-python/issues/6085> if you want to
> track our progress here) but it is not implemented yet, and there will
> probably be a reduction in the resulting signal-to-noise ratio due to
> reconstruction noise.
>

I will skip the head movement compensation entirely for now then and
subscribe to the issue you've mentioned.


>
> I remove bad channels/epochs at a later stage using the autoreject package.
>>
>
> One reproducible option would be to use autoreject or some other automated
> routine to determine bad channels. MaxFilter even has an `autobad` option
> you could try running before the head position estimation step to get a
> list of bad channels. In principle you should be able to combine head
> position estimation -headpos and automatic bad channel detection -autobad,
> but in practice you can encounter bugs this way, so it's safer to separate
> it into two steps.
>

I did try running `autoreject` on the raw data cut into constant-width
segments. Unfortunately, it results in half-to-all the channels being
flagged as bad in most of the epochs. Also, the worst dozen or so channels
were different both from the manually selected bad channels and the
`autoreject`'s results with different settings (I've varied
pre-`autoreject` linear filtering cutoffs, decimation factor, and segment
length).

I haven't tried MaxFilter's `-autobad` yet. Every person telling me how to
use MaxFilter made sure to mention its unreliability so I've never
considered it an option :-) I'll try and see whether the results are far
from what manual inspection yields.


Again, really appreciated your answer.
Evgenii
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20190507/1b26347f/attachment-0001.html 


More information about the Mne_analysis mailing list