mne.preprocessing.compute_fine_calibration#
- mne.preprocessing.compute_fine_calibration(raw, n_imbalance=3, t_window=10.0, ext_order=2, origin=(0.0, 0.0, 0.0), cross_talk=None, calibration=None, *, angle_limit=5.0, err_limit=5.0, verbose=None)[source]#
Compute fine calibration from empty-room data.
- Parameters:
- rawinstance of
Raw
The raw data to use. Should be from an empty-room recording, and all channels should be good.
- n_imbalance
int
Can be 1 or 3 (default), indicating the number of gradiometer imbalance components. Only used if gradiometers are present.
- t_window
float
Time window to use for surface normal rotation in seconds. Default is 10.
- ext_order
int
Order of external component of spherical expansion. Default is 2, which is lower than the default (3) for
mne.preprocessing.maxwell_filter()
because it tends to yield more stable parameter estimates.- originarray_like, shape (3,) |
str
Origin of internal and external multipolar moment space in meters. The default is
'auto'
, which means(0., 0., 0.)
whencoord_frame='meg'
, and a head-digitization-based origin fit usingfit_sphere_to_headshape()
whencoord_frame='head'
. If automatic fitting fails (e.g., due to having too few digitization points), consider separately calling the fitting function with different options or specifying the origin manually.- cross_talk
str
|None
Path to the FIF file with cross-talk correction information.
- calibration
dict
|None
Dictionary with existing calibration. If provided, the magnetometer imbalances and adjusted normals will be used and only the gradiometer imbalances will be estimated (see step 2 in Notes below).
- angle_limit
float
The maximum permitted angle in degrees between the original and adjusted magnetometer normals. If the angle is exceeded, the segment is treated as an outlier and discarded.
New in v1.9.
- err_limit
float
The maximum error (in percent) for each channel in order for a segment to be used.
New in v1.9.
- verbosebool |
str
|int
|None
Control verbosity of the logging output. If
None
, use the default verbosity level. See the logging documentation andmne.verbose()
for details. Should only be passed as a keyword argument.
- rawinstance of
- Returns:
See also
Notes
This algorithm proceeds in two steps, both optimizing the fit between the data and a reconstruction of the data based only on an external multipole expansion:
Estimate magnetometer normal directions and scale factors. All coils (mag and matching grad) are rotated by the adjusted normal direction.
Estimate gradiometer imbalance factors. These add point magnetometers in just the gradiometer difference direction or in all three directions (depending on
n_imbalance
).
Magnetometer normal and coefficient estimation (1) is typically the most time consuming step. Gradiometer imbalance parameters (2) can be iteratively reestimated (for example, first using
n_imbalance=1
then subsequentlyn_imbalance=3
) by passing the previouscalibration
output to thecalibration
input in the second call.MaxFilter processes at most 120 seconds of data, so consider cropping your raw instance prior to processing. It also checks to make sure that there were some minimal usable
count
number of segments (default 5) that were included in the estimate.New in v0.21.