mne.Covariance¶

class mne.Covariance(data, names, bads, projs, nfree, eig=None, eigvec=None, method=None, loglik=None)[source]

Noise covariance matrix.

Warning

This class should not be instantiated directly, but instead should be created using a covariance reading or computation function.

Parameters
dataarray_like

The data.

names

Channel names.

projslist

Projection vectors.

nfreeint

Degrees of freedom.

eig

Eigenvalues.

eigvec

Eigenvectors.

method

The method used to compute the covariance.

loglikfloat

The log likelihood.

Attributes

 data Numpy array of Noise covariance matrix. ch_names Channel names. nfree Number of degrees of freedom.
 dim (int) The number of channels n_channels.

Methods

 __add__(self, cov) Add Covariance taking into account number of degrees of freedom. __contains__(self, key, /) True if the dictionary has the specified key, else False. x.__getitem__(y) <==> x[y] __iter__(self, /) Implement iter(self). __len__(self, /) Return len(self). as_diag(self) Set covariance to be processed as being diagonal. copy(self) Copy the Covariance object. fromkeys(iterable[, value]) Create a new dictionary with keys from iterable and values set to value. get(self, key[, default]) Return the value for key if key is in the dictionary, else default. plot(self, info[, exclude, colorbar, proj, …]) Plot Covariance data. If key is not found, d is returned if given, otherwise KeyError is raised 2-tuple; but raise KeyError if D is empty. save(self, fname) Save covariance matrix in a FIF file. setdefault(self, key[, default]) Insert key with a value of default if key is not in the dictionary. If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
__add__(self, cov)[source]

Add Covariance taking into account number of degrees of freedom.

__contains__(self, key, /)

True if the dictionary has the specified key, else False.

__getitem__()

x.__getitem__(y) <==> x[y]

__iter__(self, /)

Implement iter(self).

__len__(self, /)

Return len(self).

as_diag(self)[source]

Set covariance to be processed as being diagonal.

Returns
covdict

The covariance.

Notes

This function allows creation of inverse operators equivalent to using the old “–diagnoise” mne option.

ch_names

Channel names.

clear()
copy(self)[source]

Copy the Covariance object.

Returns
covinstance of Covariance

The copied object.

data

Numpy array of Noise covariance matrix.

fromkeys(iterable, value=None, /)

Create a new dictionary with keys from iterable and values set to value.

get(self, key, default=None, /)

Return the value for key if key is in the dictionary, else default.

items()
keys()
nfree

Number of degrees of freedom.

plot(self, info, exclude=[], colorbar=True, proj=False, show_svd=True, show=True, verbose=None)[source]

Plot Covariance data.

Parameters
info: dict

Measurement info.

exclude

List of channels to exclude. If empty do not exclude any channel. If ‘bads’, exclude info[‘bads’].

colorbarbool

Show colorbar or not.

projbool

Apply projections or not.

show_svdbool

Plot also singular values of the noise covariance for each sensor type. We show square roots ie. standard deviations.

showbool

Show figure if True.

verbose

If not None, override default verbose level (see mne.verbose() and Logging documentation for more).

Returns
fig_covinstance of matplotlib.figure.Figure

The covariance plot.

fig_svdinstance of matplotlib.figure.Figure | None

The SVD spectra plot of the covariance.

pop()

If key is not found, d is returned if given, otherwise KeyError is raised

popitem()

2-tuple; but raise KeyError if D is empty.

save(self, fname)[source]

Save covariance matrix in a FIF file.

Parameters
fnamestr

Output filename.

setdefault(self, key, default=None, /)

Insert key with a value of default if key is not in the dictionary.

Return the value for key if key is in the dictionary, else default.

update()

If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]

values()