Maxfilter independent gradiometer vs magnetometer processing

:red_question_mark: If you have a question or issue with MNE-Python, please include the following info:

  • MNE version: 1.8.0
  • operating system: Rocky Linux 8.10

:page_facing_up: Please also provide relevant code snippets – ideally a minimal working example (MWE).

We have a study with the goal of quantifying meadian nerve stimulation evoked response source localization accuracy, formally independently between magnetometers versus gradiometers. We used continuous HPI (at non-standard high frequencies ~ 1kHz) with the goal to use head movement compensation in maxfilter. Given this task, we cannot have maxfilter alter the originally recorded magnetometer versus gradiometer amplitudes that maxfilter natively seems to assume. However, when we attempt to run them through maxfilter independently for the two sensor types, we run into a major issue with noise level that is ~2-fold worse than in the original data.

Specifically, we have collected MAG+GRAD (102+204 channels) continuous HPI MEG data with MEGIN Triux system.

We want to use head movement compensation and maxfilter but only use the gradiometers while preprocessing from the data we collected. We use the below steps:

            chpi_amplitudes = mne.chpi.compute_chpi_amplitudes(raw)
            
            # Time-varying HPI coil locations:
            chpi_locs = mne.chpi.compute_chpi_locs(raw.info, chpi_amplitudes)
            # Head positions from the coil locations:
            head_pos = mne.chpi.compute_head_pos(raw.info, chpi_locs, verbose=True)

     raw_chpi=mne.chpi.filter_chpi(raw, include_line=False, verbose=False)

      data_SSS_movecomp = maxwell_filter(raw, origin, coord_frame='head', destination=dest, st_duration = 8, calibration=adjpath +'sss_cal_3159_factory_02122021.dat', cross_talk=adjpath +'ct_sparse_triux2.fif', head_pos=head_pos, verbose=True)

To eliminate magnetometers from the data we used two methods:

  1. we marked all magnetometers as bad in addition to bad channels
  2. we picked ‘grad’ as well as eog,ecg and stim channels before entering the raw into maxfilter.

The baseline noise in the preprocessed data doubles in both these options. We definitely need to use only gradiometers for the data and want to use movement compensation. Is there a way to fix the problem of maxwell_filter doubling the noise when magnetometers are ignored?

Thank you.

Isil