mne.preprocessing.
maxwell_filter
(raw, origin='auto', int_order=8, ext_order=3, calibration=None, cross_talk=None, st_duration=None, st_correlation=0.98, coord_frame='head', destination=None, regularize='in', ignore_ref=False, bad_condition='error', head_pos=None, st_fixed=True, st_only=False, mag_scale=100.0, verbose=None)¶Apply Maxwell filter to data using multipole moments
Warning
Automatic bad channel detection is not currently implemented. It is critical to mark bad channels before running Maxwell filtering, so data should be inspected and marked accordingly prior to running this algorithm.
Warning
Not all features of Elekta MaxFilter™ are currently implemented (see Notes). Maxwell filtering in mne-python is not designed for clinical use.
Parameters: | raw : instance of mne.io.Raw
origin : array-like, shape (3,) | str
int_order : int
ext_order : int
calibration : str | None
cross_talk : str | None
st_duration : float | None
st_correlation : float
coord_frame : str
destination : str | array-like, shape (3,) | None
regularize : str | None
ignore_ref : bool
bad_condition : str
head_pos : array | None
st_fixed : bool
st_only : bool
mag_scale : float | str
verbose : bool, str, int, or None
|
---|---|
Returns: | raw_sss : instance of mne.io.Raw
|
Notes
New in version 0.11.
Some of this code was adapted and relicensed (with BSD form) with permission from Jussi Nurminen. These algorithms are based on work from [R29] and [R30].
Compared to Elekta’s MaxFilter™ software, our Maxwell filtering algorithm currently provides the following features:
- Bad channel reconstruction
- Cross-talk cancellation
- Fine calibration correction
- tSSS
- Coordinate frame translation
- Regularization of internal components using information theory
- Raw movement compensation (using head positions estimated by MaxFilter)
- cHPI subtraction (see
mne.chpi.filter_chpi()
)
The following features are not yet implemented:
- Not certified for clinical use
- Automatic bad channel detection
- Head position estimation
Our algorithm has the following enhancements:
- Double floating point precision
- Handling of 3D (in addition to 1D) fine calibration files
- Automated processing of split (-1.fif) and concatenated files
- Epoch-based movement compensation as described in [R29] through
mne.epochs.average_movements()
- Experimental processing of data from (un-compensated) non-Elekta systems
Use of Maxwell filtering routines with non-Elekta systems is currently experimental. Worse results for non-Elekta systems are expected due to (at least):
- Missing fine-calibration and cross-talk cancellation data for other systems.
- Processing with reference sensors has not been vetted.
- Regularization of components may not work well for all systems.
- Coil integration has not been optimized using Abramowitz/Stegun definitions.
Note
Various Maxwell filtering algorithm components are covered by patents owned by Elekta Oy, Helsinki, Finland. These patents include, but may not be limited to:
- US2006031038 (Signal Space Separation)
- US6876196 (Head position determination)
- WO2005067789 (DC fields)
- WO2005078467 (MaxShield)
- WO2006114473 (Temporal Signal Space Separation)
These patents likely preclude the use of Maxwell filtering code in commercial applications. Consult a lawyer if necessary.
References
[R29] | (1, 2, 3) Taulu S. and Kajola M. “Presentation of electromagnetic multichannel data: The signal space separation method,” Journal of Applied Physics, vol. 97, pp. 124905 1-10, 2005. |
[R30] | (1, 2) Taulu S. and Simola J. “Spatiotemporal signal space separation method for rejecting nearby interference in MEG measurements,” Physics in Medicine and Biology, vol. 51, pp. 1759-1768, 2006. |
mne.preprocessing.maxwell_filter
¶