mne.io.Raw#

class mne.io.Raw(fname, allow_maxshield=False, preload=False, on_split_missing='raise', verbose=None)[source]#

Raw data in FIF format.

Parameters:
fnamestr | file-like

The raw filename to load. For files that have automatically been split, the split part will be automatically loaded. Filenames not ending with raw.fif, raw_sss.fif, raw_tsss.fif, _meg.fif, _eeg.fif, or _ieeg.fif (with or without an optional additional .gz extension) will generate a warning. If a file-like object is provided, preloading must be used.

Changed in version 0.18: Support for file-like objects.

allow_maxshieldbool | str (default False)

If True, allow loading of data that has been recorded with internal active compensation (MaxShield). Data recorded with MaxShield should generally not be loaded directly, but should first be processed using SSS/tSSS to remove the compensation signals that may also affect brain activity. Can also be “yes” to load without eliciting a warning.

preloadbool or str (default False)

Preload data into memory for data manipulation and faster indexing. If True, the data will be preloaded into memory (fast, requires large amount of memory). If preload is a string, preload is the file name of a memory-mapped file which is used to store the data on the hard drive (slower, requires less memory).

on_split_missingstr

Can be 'raise' (default) to raise an error, 'warn' to emit a warning, or 'ignore' to ignore when split file is missing.

New in version 0.22.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Attributes:
infomne.Info

The mne.Info object with information about the sensors and methods of measurement.

ch_nameslist of str

Channel names.

n_timesint

Number of time points.

timesndarray

Time points.

preloadbool

Indicates whether raw data are in memory.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Methods

__contains__(ch_type)

Check channel type membership.

__getitem__(item)

Get raw data and times.

__len__()

Return the number of time points.

add_channels(add_list[, force_update_info])

Append new channels to the instance.

add_events(events[, stim_channel, replace])

Add events to stim channel.

add_proj(projs[, remove_existing, verbose])

Add SSP projection vectors.

add_reference_channels(ref_channels)

Add reference channels to data that consists of all zeros.

anonymize([daysback, keep_his, verbose])

Anonymize measurement information in place.

append(raws[, preload])

Concatenate raw instances as if they were continuous.

apply_function(fun[, picks, dtype, n_jobs, ...])

Apply a function to a subset of channels.

apply_gradient_compensation(grade[, verbose])

Apply CTF gradient compensation.

apply_hilbert([picks, envelope, n_jobs, ...])

Compute analytic signal or envelope for a subset of channels.

apply_proj([verbose])

Apply the signal space projection (SSP) operators to the data.

close()

Clean up the object.

copy()

Return copy of Raw instance.

crop([tmin, tmax, include_tmax, verbose])

Crop raw data file.

crop_by_annotations([annotations, verbose])

Get crops of raw data file for selected annotations.

decimate(decim[, offset, verbose])

Decimate the time-series data.

del_proj([idx])

Remove SSP projection vector.

describe([data_frame])

Describe channels (name, type, descriptive statistics).

drop_channels(ch_names)

Drop channel(s).

export(fname[, fmt, physical_range, ...])

Export Raw to external formats.

filter(l_freq, h_freq[, picks, ...])

Filter a subset of channels.

fix_mag_coil_types()

Fix Elekta magnetometer coil types.

get_channel_types([picks, unique, only_data_chs])

Get a list of channel type for each channel.

get_data([picks, start, stop, ...])

Get data in the given range.

get_montage()

Get a DigMontage from instance.

interpolate_bads([reset_bads, mode, origin, ...])

Interpolate bad MEG and EEG channels.

load_bad_channels([bad_file, force, verbose])

Mark channels as bad from a text file.

load_data([verbose])

Load raw data.

notch_filter(freqs[, picks, filter_length, ...])

Notch filter a subset of channels.

pick(picks[, exclude, verbose])

Pick a subset of channels.

pick_channels(ch_names[, ordered, verbose])

Pick some channels.

pick_types([meg, eeg, stim, eog, ecg, emg, ...])

Pick some channels by type and names.

plot([events, duration, start, n_channels, ...])

Plot raw data.

plot_projs_topomap([ch_type, cmap, sensors, ...])

Plot SSP vector.

plot_psd([fmin, fmax, tmin, tmax, proj, ...])

Plot the power spectral density across channels.

plot_psd_topo([tmin, tmax, fmin, fmax, ...])

Plot channel-wise frequency spectra as topography.

plot_sensors([kind, ch_type, title, ...])

Plot sensor positions.

rename_channels(mapping[, allow_duplicates, ...])

Rename channels.

reorder_channels(ch_names)

Reorder channels.

resample(sfreq[, npad, window, stim_picks, ...])

Resample all channels.

save(fname[, picks, tmin, tmax, ...])

Save raw data to file.

savgol_filter(h_freq[, verbose])

Filter the data using Savitzky-Golay polynomial method.

set_annotations(annotations[, emit_warning, ...])

Setter for annotations.

set_channel_types(mapping[, verbose])

Define the sensor type of channels.

set_eeg_reference([ref_channels, ...])

Specify which reference to use for EEG data.

set_meas_date(meas_date)

Set the measurement start date.

set_montage(montage[, match_case, ...])

Set EEG/sEEG/ECoG/DBS/fNIRS channel positions and digitization points.

shift_time(tshift[, relative])

Shift time scale in epoched or evoked data.

time_as_index(times[, use_rounding, origin])

Convert time to indices.

to_data_frame([picks, index, scalings, ...])

Export data in tabular structure as a pandas DataFrame.

__contains__(ch_type)[source]#

Check channel type membership.

Parameters:
ch_typestr

Channel type to check for. Can be e.g. ‘meg’, ‘eeg’, ‘stim’, etc.

Returns:
inbool

Whether or not the instance contains the given channel type.

Examples

Channel type membership can be tested as:

>>> 'meg' in inst  
True
>>> 'seeg' in inst  
False
__getitem__(item)[source]#

Get raw data and times.

Parameters:
itemtuple or array-like

See below for use cases.

Returns:
datandarray, shape (n_channels, n_times)

The raw data.

timesndarray, shape (n_times,)

The times associated with the data.

Examples

Generally raw data is accessed as:

>>> data, times = raw[picks, time_slice]  

To get all data, you can thus do either of:

>>> data, times = raw[:]  

Which will be equivalent to:

>>> data, times = raw[:, :]  

To get only the good MEG data from 10-20 seconds, you could do:

>>> picks = mne.pick_types(raw.info, meg=True, exclude='bads')  
>>> t_idx = raw.time_as_index([10., 20.])  
>>> data, times = raw[picks, t_idx[0]:t_idx[1]]  
__len__()[source]#

Return the number of time points.

Returns:
lenint

The number of time points.

Examples

This can be used as:

>>> len(raw)  
1000
property acqparser#

The AcqParserFIF for the measurement info.

See also

mne.AcqParserFIF
add_channels(add_list, force_update_info=False)[source]#

Append new channels to the instance.

Parameters:
add_listlist

A list of objects to append to self. Must contain all the same type as the current object.

force_update_infobool

If True, force the info for objects to be appended to match the values in self. This should generally only be used when adding stim channels for which important metadata won’t be overwritten.

New in version 0.12.

Returns:
instinstance of Raw, Epochs, or Evoked

The modified instance.

See also

drop_channels

Notes

If self is a Raw instance that has been preloaded into a numpy.memmap instance, the memmap will be resized.

Examples using add_channels:

Find MEG reference channel artifacts

Find MEG reference channel artifacts

Find MEG reference channel artifacts
add_events(events, stim_channel=None, replace=False)[source]#

Add events to stim channel.

Parameters:
eventsndarray, shape (n_events, 3)

Events to add. The first column specifies the sample number of each event, the second column is ignored, and the third column provides the event value. If events already exist in the Raw instance at the given sample numbers, the event values will be added together.

stim_channelstr | None

Name of the stim channel to add to. If None, the config variable ‘MNE_STIM_CHANNEL’ is used. If this is not found, it will default to ‘STI 014’.

replacebool

If True the old events on the stim channel are removed before adding the new ones.

Notes

Data must be preloaded in order to add events.

Examples using add_events:

Show EOG artifact timing

Show EOG artifact timing

Show EOG artifact timing
add_proj(projs, remove_existing=False, verbose=None)[source]#

Add SSP projection vectors.

Parameters:
projslist

List with projection vectors.

remove_existingbool

Remove the projection vectors currently in the file.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
selfinstance of Raw | Epochs | Evoked

The data container.

Examples using add_proj:

The Raw data structure: continuous data

The Raw data structure: continuous data

The Raw data structure: continuous data
Background on projectors and projections

Background on projectors and projections

Background on projectors and projections
Repairing artifacts with SSP

Repairing artifacts with SSP

Repairing artifacts with SSP
Divide continuous data into equally-spaced epochs

Divide continuous data into equally-spaced epochs

Divide continuous data into equally-spaced epochs
Computing a covariance matrix

Computing a covariance matrix

Computing a covariance matrix
Generate simulated evoked data

Generate simulated evoked data

Generate simulated evoked data
Temporal whitening with AR model

Temporal whitening with AR model

Temporal whitening with AR model
add_reference_channels(ref_channels)[source]#

Add reference channels to data that consists of all zeros.

Adds reference channels to data that were not included during recording. This is useful when you need to re-reference your data to different channels. These added channels will consist of all zeros.

Parameters:
ref_channelsstr | list of str

Name of the electrode(s) which served as the reference in the recording. If a name is provided, a corresponding channel is added and its data is set to 0. This is useful for later re-referencing.

Returns:
instinstance of Raw | Epochs | Evoked

The modified instance.

property annotations#

Annotations for marking segments of data.

anonymize(daysback=None, keep_his=False, verbose=None)[source]#

Anonymize measurement information in place.

Parameters:
daysbackint | None

Number of days to subtract from all dates. If None (default), the acquisition date, info['meas_date'], will be set to January 1ˢᵗ, 2000. This parameter is ignored if info['meas_date'] is None (i.e., no acquisition date has been set).

keep_hisbool

If True, his_id of subject_info will not be overwritten. Defaults to False.

Warning

This could mean that info is not fully anonymized. Use with caution.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
instinstance of Raw | Epochs | Evoked

The modified instance.

Notes

Removes potentially identifying information if it exists in info. Specifically for each of the following we use:

  • meas_date, file_id, meas_id

    A default value, or as specified by daysback.

  • subject_info

    Default values, except for ‘birthday’ which is adjusted to maintain the subject age.

  • experimenter, proj_name, description

    Default strings.

  • utc_offset

    None.

  • proj_id

    Zeros.

  • proc_history

    Dates use the meas_date logic, and experimenter a default string.

  • helium_info, device_info

    Dates use the meas_date logic, meta info uses defaults.

If info['meas_date'] is None, it will remain None during processing the above fields.

Operates in place.

New in version 0.13.0.

append(raws, preload=None)[source]#

Concatenate raw instances as if they were continuous.

Note

Boundaries of the raw files are annotated bad. If you wish to use the data as continuous recording, you can remove the boundary annotations after concatenation (see mne.Annotations.delete()).

Parameters:
rawslist, or Raw instance

List of Raw instances to concatenate to the current instance (in order), or a single raw instance to concatenate.

preloadbool, str, or None (default None)

Preload data into memory for data manipulation and faster indexing. If True, the data will be preloaded into memory (fast, requires large amount of memory). If preload is a string, preload is the file name of a memory-mapped file which is used to store the data on the hard drive (slower, requires less memory). If preload is None, preload=True or False is inferred using the preload status of the instances passed in.

Examples using append:

The Raw data structure: continuous data

The Raw data structure: continuous data

The Raw data structure: continuous data
apply_function(fun, picks=None, dtype=None, n_jobs=None, channel_wise=True, verbose=None, **kwargs)[source]#

Apply a function to a subset of channels.

The function fun is applied to the channels defined in picks. The raw object’s data is modified in-place. If the function returns a different data type (e.g. numpy.complex128) it must be specified using the dtype parameter, which causes the data type of all the data to change (even if the function is only applied to channels in picks). The object has to have the data loaded e.g. with preload=True or self.load_data().

Note

If n_jobs > 1, more memory is required as len(picks) * n_times additional time points need to be temporarily stored in memory.

Note

If the data type changes (dtype != None), more memory is required since the original and the converted data needs to be stored in memory.

Parameters:
funcallable()

A function to be applied to the channels. The first argument of fun has to be a timeseries (numpy.ndarray). The function must operate on an array of shape (n_times,) if channel_wise=True and (len(picks), n_times) otherwise. The function must return an ndarray shaped like its input.

picksstr | list | slice | None

Channels to include. Slices and lists of integers will be interpreted as channel indices. In lists, channel type strings (e.g., ['meg', 'eeg']) will pick channels of those types, channel name strings (e.g., ['MEG0111', 'MEG2623'] will pick the given channels. Can also be the string values “all” to pick all channels, or “data” to pick data channels. None (default) will pick all data channels (excluding reference MEG channels). Note that channels in info['bads'] will be included if their names or indices are explicitly provided.

dtypenumpy.dtype

Data type to use after applying the function. If None (default) the data type is not modified.

n_jobsint | None

The number of jobs to run in parallel. If -1, it is set to the number of CPU cores. Requires the joblib package. None (default) is a marker for ‘unset’ that will be interpreted as n_jobs=1 (sequential execution) unless the call is performed under a joblib.parallel_backend() context manager that sets another value for n_jobs.

channel_wisebool

Whether to apply the function to each channel individually. If False, the function will be applied to all channels at once. Default True.

New in version 0.18.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

**kwargsdict

Additional keyword arguments to pass to fun.

Returns:
selfinstance of Raw

The raw object with transformed data.

apply_gradient_compensation(grade, verbose=None)[source]#

Apply CTF gradient compensation.

Warning

The compensation matrices are stored with single precision, so repeatedly switching between different of compensation (e.g., 0->1->3->2) can increase numerical noise, especially if data are saved to disk in between changing grades. It is thus best to only use a single gradient compensation level in final analyses.

Parameters:
gradeint

CTF gradient compensation level.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
rawinstance of Raw

The modified Raw instance. Works in-place.

Examples using apply_gradient_compensation:

Importing data from MEG devices

Importing data from MEG devices

Importing data from MEG devices
apply_hilbert(picks=None, envelope=False, n_jobs=None, n_fft='auto', *, verbose=None)[source]#

Compute analytic signal or envelope for a subset of channels.

Parameters:
picksstr | list | slice | None

Channels to include. Slices and lists of integers will be interpreted as channel indices. In lists, channel type strings (e.g., ['meg', 'eeg']) will pick channels of those types, channel name strings (e.g., ['MEG0111', 'MEG2623'] will pick the given channels. Can also be the string values “all” to pick all channels, or “data” to pick data channels. None (default) will pick all data channels (excluding reference MEG channels). Note that channels in info['bads'] will be included if their names or indices are explicitly provided.

envelopebool

Compute the envelope signal of each channel. Default False. See Notes.

n_jobsint | None

The number of jobs to run in parallel. If -1, it is set to the number of CPU cores. Requires the joblib package. None (default) is a marker for ‘unset’ that will be interpreted as n_jobs=1 (sequential execution) unless the call is performed under a joblib.parallel_backend() context manager that sets another value for n_jobs.

n_fftint | None | str

Points to use in the FFT for Hilbert transformation. The signal will be padded with zeros before computing Hilbert, then cut back to original length. If None, n == self.n_times. If ‘auto’, the next highest fast FFT length will be use.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
selfinstance of Raw, Epochs, or Evoked

The raw object with transformed data.

Notes

Parameters

If envelope=False, the analytic signal for the channels defined in picks is computed and the data of the Raw object is converted to a complex representation (the analytic signal is complex valued).

If envelope=True, the absolute value of the analytic signal for the channels defined in picks is computed, resulting in the envelope signal.

If envelope=False, more memory is required since the original raw data as well as the analytic signal have temporarily to be stored in memory. If n_jobs > 1, more memory is required as len(picks) * n_times additional time points need to be temporaily stored in memory.

Also note that the n_fft parameter will allow you to pad the signal with zeros before performing the Hilbert transform. This padding is cut off, but it may result in a slightly different result (particularly around the edges). Use at your own risk.

Analytic signal

The analytic signal “x_a(t)” of “x(t)” is:

x_a = F^{-1}(F(x) 2U) = x + i y

where “F” is the Fourier transform, “U” the unit step function, and “y” the Hilbert transform of “x”. One usage of the analytic signal is the computation of the envelope signal, which is given by “e(t) = abs(x_a(t))”. Due to the linearity of Hilbert transform and the MNE inverse solution, the enevlope in source space can be obtained by computing the analytic signal in sensor space, applying the MNE inverse, and computing the envelope in source space.

Examples using apply_hilbert:

Modifying data in-place

Modifying data in-place

Modifying data in-place
apply_proj(verbose=None)[source]#

Apply the signal space projection (SSP) operators to the data.

Parameters:
verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
selfinstance of Raw | Epochs | Evoked

The instance.

Notes

Once the projectors have been applied, they can no longer be removed. It is usually not recommended to apply the projectors at too early stages, as they are applied automatically later on (e.g. when computing inverse solutions). Hint: using the copy method individual projection vectors can be tested without affecting the original data. With evoked data, consider the following example:

projs_a = mne.read_proj('proj_a.fif')
projs_b = mne.read_proj('proj_b.fif')
# add the first, copy, apply and see ...
evoked.add_proj(a).copy().apply_proj().plot()
# add the second, copy, apply and see ...
evoked.add_proj(b).copy().apply_proj().plot()
# drop the first and see again
evoked.copy().del_proj(0).apply_proj().plot()
evoked.apply_proj()  # finally keep both

Examples using apply_proj:

Background on projectors and projections

Background on projectors and projections

Background on projectors and projections
Divide continuous data into equally-spaced epochs

Divide continuous data into equally-spaced epochs

Divide continuous data into equally-spaced epochs
property ch_names#

Channel names.

close()[source]#

Clean up the object.

Does nothing for objects that close their file descriptors. Things like RawFIF will override this method.

property compensation_grade#

The current gradient compensation grade.

copy()[source]#

Return copy of Raw instance.

Returns:
instinstance of Raw

A copy of the instance.

Examples using copy:

Modifying data in-place

Modifying data in-place

Modifying data in-place
Parsing events from raw data

Parsing events from raw data

Parsing events from raw data
The Raw data structure: continuous data

The Raw data structure: continuous data

The Raw data structure: continuous data
Annotating continuous data

Annotating continuous data

Annotating continuous data
Built-in plotting methods for Raw objects

Built-in plotting methods for Raw objects

Built-in plotting methods for Raw objects
Handling bad channels

Handling bad channels

Handling bad channels
Filtering and resampling data

Filtering and resampling data

Filtering and resampling data
Background on projectors and projections

Background on projectors and projections

Background on projectors and projections
Setting the EEG reference

Setting the EEG reference

Setting the EEG reference
Signal-space separation (SSS) and Maxwell filtering

Signal-space separation (SSS) and Maxwell filtering

Signal-space separation (SSS) and Maxwell filtering
Regression-based baseline correction

Regression-based baseline correction

Regression-based baseline correction
Find MEG reference channel artifacts

Find MEG reference channel artifacts

Find MEG reference channel artifacts
Plot sensor denoising using oversampled temporal projection

Plot sensor denoising using oversampled temporal projection

Plot sensor denoising using oversampled temporal projection
Make figures more publication ready

Make figures more publication ready

Make figures more publication ready
crop(tmin=0.0, tmax=None, include_tmax=True, *, verbose=None)[source]#

Crop raw data file.

Limit the data from the raw file to go between specific times. Note that the new tmin is assumed to be t=0 for all subsequently called functions (e.g., time_as_index(), or Epochs). New first_samp and last_samp are set accordingly.

Thus function operates in-place on the instance. Use mne.io.Raw.copy() if operation on a copy is desired.

Parameters:
tminfloat

Start time of the raw data to use in seconds (must be >= 0).

tmaxfloat

End time of the raw data to use in seconds (cannot exceed data duration).

include_tmaxbool

If True (default), include tmax. If False, exclude tmax (similar to how Python indexing typically works).

New in version 0.19.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
rawinstance of Raw

The cropped raw object, modified in-place.

Examples using crop:

Modifying data in-place

Modifying data in-place

Modifying data in-place
Parsing events from raw data

Parsing events from raw data

Parsing events from raw data
The Raw data structure: continuous data

The Raw data structure: continuous data

The Raw data structure: continuous data
Working with events

Working with events

Working with events
Annotating continuous data

Annotating continuous data

Annotating continuous data
Built-in plotting methods for Raw objects

Built-in plotting methods for Raw objects

Built-in plotting methods for Raw objects
Overview of artifact detection

Overview of artifact detection

Overview of artifact detection
Handling bad channels

Handling bad channels

Handling bad channels
Filtering and resampling data

Filtering and resampling data

Filtering and resampling data
Background on projectors and projections

Background on projectors and projections

Background on projectors and projections
Setting the EEG reference

Setting the EEG reference

Setting the EEG reference
Extracting and visualizing subject head movement

Extracting and visualizing subject head movement

Extracting and visualizing subject head movement
Signal-space separation (SSS) and Maxwell filtering

Signal-space separation (SSS) and Maxwell filtering

Signal-space separation (SSS) and Maxwell filtering
The Epochs data structure: discontinuous data

The Epochs data structure: discontinuous data

The Epochs data structure: discontinuous data
Divide continuous data into equally-spaced epochs

Divide continuous data into equally-spaced epochs

Divide continuous data into equally-spaced epochs
EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)
Frequency and time-frequency sensor analysis

Frequency and time-frequency sensor analysis

Frequency and time-frequency sensor analysis
Plot sensor denoising using oversampled temporal projection

Plot sensor denoising using oversampled temporal projection

Plot sensor denoising using oversampled temporal projection
crop_by_annotations(annotations=None, *, verbose=None)[source]#

Get crops of raw data file for selected annotations.

Parameters:
annotationsinstance of Annotations | None

The annotations to use for cropping the raw file. If None, the annotations from the instance are used.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
rawslist

The cropped raw objects.

decimate(decim, offset=0, verbose=None)[source]#

Decimate the time-series data.

Parameters:
decimint

Factor by which to subsample the data.

Warning

Low-pass filtering is not performed, this simply selects every Nth sample (where N is the value passed to decim), i.e., it compresses the signal (see Notes). If the data are not properly filtered, aliasing artifacts may occur.

offsetint

Apply an offset to where the decimation starts relative to the sample corresponding to t=0. The offset is in samples at the current sampling rate.

New in version 0.12.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
instMNE-object

The decimated object.

Notes

For historical reasons, decim / “decimation” refers to simply subselecting samples from a given signal. This contrasts with the broader signal processing literature, where decimation is defined as (quoting [1], p. 172; which cites [2]):

“… a general system for downsampling by a factor of M is the one shown in Figure 4.23. Such a system is called a decimator, and downsampling by lowpass filtering followed by compression [i.e, subselecting samples] has been termed decimation (Crochiere and Rabiner, 1983).”

Hence “decimation” in MNE is what is considered “compression” in the signal processing community.

Decimation can be done multiple times. For example, inst.decimate(2).decimate(2) will be the same as inst.decimate(4).

If decim is 1, this method does not copy the underlying data.

New in version 0.10.0.

References

del_proj(idx='all')[source]#

Remove SSP projection vector.

Note

The projection vector can only be removed if it is inactive (has not been applied to the data).

Parameters:
idxint | list of int | str

Index of the projector to remove. Can also be “all” (default) to remove all projectors.

Returns:
selfinstance of Raw | Epochs | Evoked

The instance.

Examples using del_proj:

Overview of artifact detection

Overview of artifact detection

Overview of artifact detection
Background on projectors and projections

Background on projectors and projections

Background on projectors and projections
Repairing artifacts with SSP

Repairing artifacts with SSP

Repairing artifacts with SSP
Setting the EEG reference

Setting the EEG reference

Setting the EEG reference
describe(data_frame=False)[source]#

Describe channels (name, type, descriptive statistics).

Parameters:
data_framebool

If True, return results in a pandas.DataFrame. If False, only print results. Columns ‘ch’, ‘type’, and ‘unit’ indicate channel index, channel type, and unit of the remaining five columns. These columns are ‘min’ (minimum), ‘Q1’ (first quartile or 25% percentile), ‘median’, ‘Q3’ (third quartile or 75% percentile), and ‘max’ (maximum).

Returns:
resultNone | pandas.DataFrame

If data_frame=False, returns None. If data_frame=True, returns results in a pandas.DataFrame (requires pandas).

drop_channels(ch_names)[source]#

Drop channel(s).

Parameters:
ch_namesiterable or str

Iterable (e.g. list) of channel name(s) or channel name to remove.

Returns:
instinstance of Raw, Epochs, or Evoked

The modified instance.

Notes

New in version 0.9.0.

Examples using drop_channels:

The Raw data structure: continuous data

The Raw data structure: continuous data

The Raw data structure: continuous data
export(fname, fmt='auto', physical_range='auto', add_ch_type=False, *, overwrite=False, verbose=None)[source]#

Export Raw to external formats.

Supported formats:

Warning

Since we are exporting to external formats, there’s no guarantee that all the info will be preserved in the external format. See Notes for details.

Parameters:
fnamestr

Name of the output file.

fmt‘auto’ | ‘brainvision’ | ‘edf’ | ‘eeglab’

Format of the export. Defaults to 'auto', which will infer the format from the filename extension. See supported formats above for more information.

physical_rangestr | tuple

The physical range of the data. If ‘auto’ (default), then it will infer the physical min and max from the data itself, taking the minimum and maximum values per channel type. If it is a 2-tuple of minimum and maximum limit, then those physical ranges will be used. Only used for exporting EDF files.

add_ch_typebool

Whether to incorporate the channel type into the signal label (e.g. whether to store channel “Fz” as “EEG Fz”). Only used for EDF format. Default is False.

overwritebool

If True (default False), overwrite the destination file if it exists.

New in version 0.24.1.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Notes

New in version 0.24.

Export to external format may not preserve all the information from the instance. To save in native MNE format (.fif) without information loss, use mne.io.Raw.save() instead. Export does not apply projector(s). Unapplied projector(s) will be lost. Consider applying projector(s) before exporting with mne.io.Raw.apply_proj().

For EEGLAB exports, channel locations are expanded to full EEGLAB format. For more details see eeglabio.utils.cart_to_eeglab().

For EDF exports, only channels measured in Volts are allowed; in MNE-Python this means channel types ‘eeg’, ‘ecog’, ‘seeg’, ‘emg’, ‘eog’, ‘ecg’, ‘dbs’, ‘bio’, and ‘misc’. ‘stim’ channels are dropped. Although this function supports storing channel types in the signal label (e.g. EEG Fz or MISC E), other software may not support this (optional) feature of the EDF standard.

If add_ch_type is True, then channel types are written based on what they are currently set in MNE-Python. One should double check that all their channels are set correctly. You can call raw.set_channel_types to set channel types.

In addition, EDF does not support storing a montage. You will need to store the montage separately and call raw.set_montage().

property filenames#

The filenames used.

filter(l_freq, h_freq, picks=None, filter_length='auto', l_trans_bandwidth='auto', h_trans_bandwidth='auto', n_jobs=None, method='fir', iir_params=None, phase='zero', fir_window='hamming', fir_design='firwin', skip_by_annotation=('edge', 'bad_acq_skip'), pad='reflect_limited', verbose=None)[source]#

Filter a subset of channels.

Parameters:
l_freqfloat | None

For FIR filters, the lower pass-band edge; for IIR filters, the lower cutoff frequency. If None the data are only low-passed.

h_freqfloat | None

For FIR filters, the upper pass-band edge; for IIR filters, the upper cutoff frequency. If None the data are only high-passed.

picksstr | list | slice | None

Channels to include. Slices and lists of integers will be interpreted as channel indices. In lists, channel type strings (e.g., ['meg', 'eeg']) will pick channels of those types, channel name strings (e.g., ['MEG0111', 'MEG2623'] will pick the given channels. Can also be the string values “all” to pick all channels, or “data” to pick data channels. None (default) will pick all data channels. Note that channels in info['bads'] will be included if their names or indices are explicitly provided.

filter_lengthstr | int

Length of the FIR filter to use (if applicable):

  • ‘auto’ (default): The filter length is chosen based on the size of the transition regions (6.6 times the reciprocal of the shortest transition band for fir_window=’hamming’ and fir_design=”firwin2”, and half that for “firwin”).

  • str: A human-readable time in units of “s” or “ms” (e.g., “10s” or “5500ms”) will be converted to that number of samples if phase="zero", or the shortest power-of-two length at least that duration for phase="zero-double".

  • int: Specified length in samples. For fir_design=”firwin”, this should not be used.

l_trans_bandwidthfloat | str

Width of the transition band at the low cut-off frequency in Hz (high pass or cutoff 1 in bandpass). Can be “auto” (default) to use a multiple of l_freq:

min(max(l_freq * 0.25, 2), l_freq)

Only used for method='fir'.

h_trans_bandwidthfloat | str

Width of the transition band at the high cut-off frequency in Hz (low pass or cutoff 2 in bandpass). Can be “auto” (default in 0.14) to use a multiple of h_freq:

min(max(h_freq * 0.25, 2.), info['sfreq'] / 2. - h_freq)

Only used for method='fir'.

n_jobsint | str

Number of jobs to run in parallel. Can be ‘cuda’ if cupy is installed properly and method=’fir’.

methodstr

‘fir’ will use overlap-add FIR filtering, ‘iir’ will use IIR forward-backward filtering (via filtfilt).

iir_paramsdict | None

Dictionary of parameters to use for IIR filtering. If iir_params is None and method=”iir”, 4th order Butterworth will be used. For more information, see mne.filter.construct_iir_filter().

phasestr

Phase of the filter, only used if method='fir'. Symmetric linear-phase FIR filters are constructed, and if phase='zero' (default), the delay of this filter is compensated for, making it non-causal. If phase='zero-double', then this filter is applied twice, once forward, and once backward (also making it non-causal). If 'minimum', then a minimum-phase filter will be constricted and applied, which is causal but has weaker stop-band suppression.

New in version 0.13.

fir_windowstr

The window to use in FIR design, can be “hamming” (default), “hann” (default in 0.13), or “blackman”.

New in version 0.15.

fir_designstr

Can be “firwin” (default) to use scipy.signal.firwin(), or “firwin2” to use scipy.signal.firwin2(). “firwin” uses a time-domain design technique that generally gives improved attenuation using fewer samples than “firwin2”.

New in version 0.15.

skip_by_annotationstr | list of str

If a string (or list of str), any annotation segment that begins with the given string will not be included in filtering, and segments on either side of the given excluded annotated segment will be filtered separately (i.e., as independent signals). The default (('edge', 'bad_acq_skip') will separately filter any segments that were concatenated by mne.concatenate_raws() or mne.io.Raw.append(), or separated during acquisition. To disable, provide an empty list. Only used if inst is raw.

New in version 0.16..

padstr

The type of padding to use. Supports all numpy.pad() mode options. Can also be "reflect_limited", which pads with a reflected version of each vector mirrored on the first and last values of the vector, followed by zeros.

Only used for method='fir'.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
instinstance of Epochs, Evoked, or Raw

The filtered data.

Notes

Applies a zero-phase low-pass, high-pass, band-pass, or band-stop filter to the channels selected by picks. The data are modified inplace.

The object has to have the data loaded e.g. with preload=True or self.load_data().

l_freq and h_freq are the frequencies below which and above which, respectively, to filter out of the data. Thus the uses are:

  • l_freq < h_freq: band-pass filter

  • l_freq > h_freq: band-stop filter

  • l_freq is not None and h_freq is None: high-pass filter

  • l_freq is None and h_freq is not None: low-pass filter

self.info['lowpass'] and self.info['highpass'] are only updated with picks=None.

Note

If n_jobs > 1, more memory is required as len(picks) * n_times additional time points need to be temporaily stored in memory.

For more information, see the tutorials Background information on filtering and Filtering and resampling data and mne.filter.create_filter().

New in version 0.15.

Examples using filter:

Working with CTF data: the Brainstorm auditory dataset

Working with CTF data: the Brainstorm auditory dataset

Working with CTF data: the Brainstorm auditory dataset
Background information on filtering

Background information on filtering

Background information on filtering
Repairing artifacts with ICA

Repairing artifacts with ICA

Repairing artifacts with ICA
Signal-space separation (SSS) and Maxwell filtering

Signal-space separation (SSS) and Maxwell filtering

Signal-space separation (SSS) and Maxwell filtering
Auto-generating Epochs metadata

Auto-generating Epochs metadata

Auto-generating Epochs metadata
EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)
Spatiotemporal permutation F-test on full sensor data

Spatiotemporal permutation F-test on full sensor data

Spatiotemporal permutation F-test on full sensor data
Compare the different ICA algorithms in MNE

Compare the different ICA algorithms in MNE

Compare the different ICA algorithms in MNE
Plot sensor denoising using oversampled temporal projection

Plot sensor denoising using oversampled temporal projection

Plot sensor denoising using oversampled temporal projection
XDAWN Denoising

XDAWN Denoising

XDAWN Denoising
How to convert 3D electrode positions to a 2D image

How to convert 3D electrode positions to a 2D image

How to convert 3D electrode positions to a 2D image
Whitening evoked data with a noise covariance

Whitening evoked data with a noise covariance

Whitening evoked data with a noise covariance
Plot custom topographies for MEG sensors

Plot custom topographies for MEG sensors

Plot custom topographies for MEG sensors
Regression on continuous data (rER[P/F])

Regression on continuous data (rER[P/F])

Regression on continuous data (rER[P/F])
Decoding source space data

Decoding source space data

Decoding source space data
Decoding sensor space data with generalization across time and conditions

Decoding sensor space data with generalization across time and conditions

Decoding sensor space data with generalization across time and conditions
Analysis of evoked response using ICA and PCA reduction techniques

Analysis of evoked response using ICA and PCA reduction techniques

Analysis of evoked response using ICA and PCA reduction techniques
XDAWN Decoding From EEG data

XDAWN Decoding From EEG data

XDAWN Decoding From EEG data
Compute effect-matched-spatial filtering (EMS)

Compute effect-matched-spatial filtering (EMS)

Compute effect-matched-spatial filtering (EMS)
property first_samp#

The first data sample.

See first_samp.

property first_time#

The first time point (including first_samp but not meas_date).

fix_mag_coil_types()[source]#

Fix Elekta magnetometer coil types.

Returns:
rawinstance of Raw

The raw object. Operates in place.

Notes

This function changes magnetometer coil types 3022 (T1: SQ20483N) and 3023 (T2: SQ20483-A) to 3024 (T3: SQ20950N) in the channel definition records in the info structure.

Neuromag Vectorview systems can contain magnetometers with two different coil sizes (3022 and 3023 vs. 3024). The systems incorporating coils of type 3024 were introduced last and are used at the majority of MEG sites. At some sites with 3024 magnetometers, the data files have still defined the magnetometers to be of type 3022 to ensure compatibility with older versions of Neuromag software. In the MNE software as well as in the present version of Neuromag software coil type 3024 is fully supported. Therefore, it is now safe to upgrade the data files to use the true coil type.

Note

The effect of the difference between the coil sizes on the current estimates computed by the MNE software is very small. Therefore the use of mne_fix_mag_coil_types is not mandatory.

get_channel_types(picks=None, unique=False, only_data_chs=False)[source]#

Get a list of channel type for each channel.

Parameters:
picksstr | list | slice | None

Channels to include. Slices and lists of integers will be interpreted as channel indices. In lists, channel type strings (e.g., ['meg', 'eeg']) will pick channels of those types, channel name strings (e.g., ['MEG0111', 'MEG2623'] will pick the given channels. Can also be the string values “all” to pick all channels, or “data” to pick data channels. None (default) will pick all channels. Note that channels in info['bads'] will be included if their names or indices are explicitly provided.

uniquebool

Whether to return only unique channel types. Default is False.

only_data_chsbool

Whether to ignore non-data channels. Default is False.

Returns:
channel_typeslist

The channel types.

Examples using get_channel_types:

The Info data structure

The Info data structure

The Info data structure
get_data(picks=None, start=0, stop=None, reject_by_annotation=None, return_times=False, units=None, *, tmin=None, tmax=None, verbose=None)[source]#

Get data in the given range.

Parameters:
picksstr | list | slice | None

Channels to include. Slices and lists of integers will be interpreted as channel indices. In lists, channel type strings (e.g., ['meg', 'eeg']) will pick channels of those types, channel name strings (e.g., ['MEG0111', 'MEG2623'] will pick the given channels. Can also be the string values “all” to pick all channels, or “data” to pick data channels. None (default) will pick all channels. Note that channels in info['bads'] will be included if their names or indices are explicitly provided.

startint

The first sample to include. Defaults to 0.

stopint | None

End sample (first not to include). If None (default), the end of the data is used.

reject_by_annotationNone | ‘omit’ | ‘NaN’

Whether to reject by annotation. If None (default), no rejection is done. If ‘omit’, segments annotated with description starting with ‘bad’ are omitted. If ‘NaN’, the bad samples are filled with NaNs.

return_timesbool

Whether to return times as well. Defaults to False.

unitsstr | dict | None

Specify the unit(s) that the data should be returned in. If None (default), the data is returned in the channel-type-specific default units, which are SI units (see Internal representation (units) and data channels). If a string, must be a sub-multiple of SI units that will be used to scale the data from all channels of the type associated with that unit. This only works if the data contains one channel type that has a unit (unitless channel types are left unchanged). For example if there are only EEG and STIM channels, units='uV' will scale EEG channels to micro-Volts while STIM channels will be unchanged. Finally, if a dictionary is provided, keys must be channel types, and values must be units to scale the data of that channel type to. For example dict(grad='fT/cm', mag='fT') will scale the corresponding types accordingly, but all other channel types will remain in their channel-type-specific default unit.

tminint | float | None

Start time of data to get in seconds. The tmin parameter is ignored if the start parameter is bigger than 0.

New in version 0.24.0.

tmaxint | float | None

End time of data to get in seconds. The tmax parameter is ignored if the stop parameter is defined.

New in version 0.24.0.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
datandarray, shape (n_channels, n_times)

Copy of the data in the given range.

timesndarray, shape (n_times,)

Times associated with the data samples. Only returned if return_times=True.

Notes

New in version 0.14.0.

Examples using get_data:

Modifying data in-place

Modifying data in-place

Modifying data in-place
The Raw data structure: continuous data

The Raw data structure: continuous data

The Raw data structure: continuous data
Filtering and resampling data

Filtering and resampling data

Filtering and resampling data
Make figures more publication ready

Make figures more publication ready

Make figures more publication ready
get_montage()[source]#

Get a DigMontage from instance.

Returns:
montageNone | str | DigMontage

A montage containing channel positions. If a string or DigMontage is specified, the existing channel information will be updated with the channel positions from the montage. Valid strings are the names of the built-in montages that ship with MNE-Python; you can list those via mne.channels.get_builtin_montages(). If None (default), the channel positions will be removed from the Info.

Examples using get_montage:

Locating intracranial electrode contacts

Locating intracranial electrode contacts

Locating intracranial electrode contacts
How to convert 3D electrode positions to a 2D image

How to convert 3D electrode positions to a 2D image

How to convert 3D electrode positions to a 2D image
interpolate_bads(reset_bads=True, mode='accurate', origin='auto', method=None, exclude=(), verbose=None)[source]#

Interpolate bad MEG and EEG channels.

Operates in place.

Parameters:
reset_badsbool

If True, remove the bads from info.

modestr

Either 'accurate' or 'fast', determines the quality of the Legendre polynomial expansion used for interpolation of channels using the minimum-norm method.

originarray-like, shape (3,) | str

Origin of the sphere in the head coordinate frame and in meters. Can be 'auto' (default), which means a head-digitization-based origin fit.

New in version 0.17.

methoddict

Method to use for each channel type. Currently only the key “eeg” has multiple options:

  • "spline" (default)

    Use spherical spline interpolation.

  • "MNE"

    Use minimum-norm projection to a sphere and back. This is the method used for MEG channels.

The value for “meg” is “MNE”, and the value for “fnirs” is “nearest”. The default (None) is thus an alias for:

method=dict(meg="MNE", eeg="spline", fnirs="nearest")

New in version 0.21.

excludelist | tuple

The channels to exclude from interpolation. If excluded a bad channel will stay in bads.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
instinstance of Raw, Epochs, or Evoked

The modified instance.

Notes

New in version 0.9.0.

Examples using interpolate_bads:

Handling bad channels

Handling bad channels

Handling bad channels
property last_samp#

The last data sample.

load_bad_channels(bad_file=None, force=False, verbose=None)[source]#

Mark channels as bad from a text file.

This function operates mostly in the style of the C function mne_mark_bad_channels. Each line in the text file will be interpreted as a name of a bad channel.

Parameters:
bad_filepath-like | None

File name of the text file containing bad channels. If None (default), bad channels are cleared, but this is more easily done directly with raw.info['bads'] = [].

forcebool

Whether or not to force bad channel marking (of those that exist) if channels are not found, instead of raising an error. Defaults to False.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

load_data(verbose=None)[source]#

Load raw data.

Parameters:
verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
rawinstance of Raw

The raw object with data.

Notes

This function will load raw data if it was not already preloaded. If data were already preloaded, it will do nothing.

New in version 0.10.0.

Examples using load_data:

The Raw data structure: continuous data

The Raw data structure: continuous data

The Raw data structure: continuous data
Repairing artifacts with SSP

Repairing artifacts with SSP

Repairing artifacts with SSP
How to convert 3D electrode positions to a 2D image

How to convert 3D electrode positions to a 2D image

How to convert 3D electrode positions to a 2D image
Compute evoked ERS source power using DICS, LCMV beamformer, and dSPM

Compute evoked ERS source power using DICS, LCMV beamformer, and dSPM

Compute evoked ERS source power using DICS, LCMV beamformer, and dSPM
property n_times#

Number of time points.

notch_filter(freqs, picks=None, filter_length='auto', notch_widths=None, trans_bandwidth=1.0, n_jobs=None, method='fir', iir_params=None, mt_bandwidth=None, p_value=0.05, phase='zero', fir_window='hamming', fir_design='firwin', pad='reflect_limited', verbose=None)[source]#

Notch filter a subset of channels.

Parameters:
freqsfloat | array of float | None

Specific frequencies to filter out from data, e.g., np.arange(60, 241, 60) in the US or np.arange(50, 251, 50) in Europe. None can only be used with the mode 'spectrum_fit', where an F test is used to find sinusoidal components.

picksstr | list | slice | None

Channels to include. Slices and lists of integers will be interpreted as channel indices. In lists, channel type strings (e.g., ['meg', 'eeg']) will pick channels of those types, channel name strings (e.g., ['MEG0111', 'MEG2623'] will pick the given channels. Can also be the string values “all” to pick all channels, or “data” to pick data channels. None (default) will pick all data channels. Note that channels in info['bads'] will be included if their names or indices are explicitly provided.

filter_lengthstr | int

Length of the FIR filter to use (if applicable):

  • ‘auto’ (default): The filter length is chosen based on the size of the transition regions (6.6 times the reciprocal of the shortest transition band for fir_window=’hamming’ and fir_design=”firwin2”, and half that for “firwin”).

  • str: A human-readable time in units of “s” or “ms” (e.g., “10s” or “5500ms”) will be converted to that number of samples if phase="zero", or the shortest power-of-two length at least that duration for phase="zero-double".

  • int: Specified length in samples. For fir_design=”firwin”, this should not be used.

When method=='spectrum_fit', this sets the effective window duration over which fits are computed. See mne.filter.create_filter() for options. Longer window lengths will give more stable frequency estimates, but require (potentially much) more processing and are not able to adapt as well to non-stationarities.

The default in 0.21 is None, but this will change to '10s' in 0.22.

notch_widthsfloat | array of float | None

Width of each stop band (centred at each freq in freqs) in Hz. If None, freqs / 200 is used.

trans_bandwidthfloat

Width of the transition band in Hz. Only used for method='fir'.

n_jobsint | str

Number of jobs to run in parallel. Can be ‘cuda’ if cupy is installed properly and method=’fir’.

methodstr

‘fir’ will use overlap-add FIR filtering, ‘iir’ will use IIR forward-backward filtering (via filtfilt).

iir_paramsdict | None

Dictionary of parameters to use for IIR filtering. If iir_params is None and method=”iir”, 4th order Butterworth will be used. For more information, see mne.filter.construct_iir_filter().

mt_bandwidthfloat | None

The bandwidth of the multitaper windowing function in Hz. Only used in ‘spectrum_fit’ mode.

p_valuefloat

P-value to use in F-test thresholding to determine significant sinusoidal components to remove when method='spectrum_fit' and freqs=None. Note that this will be Bonferroni corrected for the number of frequencies, so large p-values may be justified.

phasestr

Phase of the filter, only used if method='fir'. Symmetric linear-phase FIR filters are constructed, and if phase='zero' (default), the delay of this filter is compensated for, making it non-causal. If phase='zero-double', then this filter is applied twice, once forward, and once backward (also making it non-causal). If 'minimum', then a minimum-phase filter will be constricted and applied, which is causal but has weaker stop-band suppression.

New in version 0.13.

fir_windowstr

The window to use in FIR design, can be “hamming” (default), “hann” (default in 0.13), or “blackman”.

New in version 0.15.

fir_designstr

Can be “firwin” (default) to use scipy.signal.firwin(), or “firwin2” to use scipy.signal.firwin2(). “firwin” uses a time-domain design technique that generally gives improved attenuation using fewer samples than “firwin2”.

New in version 0.15.

padstr

The type of padding to use. Supports all numpy.pad() mode options. Can also be "reflect_limited", which pads with a reflected version of each vector mirrored on the first and last values of the vector, followed by zeros.

Only used for method='fir'. The default is 'reflect_limited'.

New in version 0.15.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
rawinstance of Raw

The raw instance with filtered data.

Notes

Applies a zero-phase notch filter to the channels selected by “picks”. By default the data of the Raw object is modified inplace.

The Raw object has to have the data loaded e.g. with preload=True or self.load_data().

Note

If n_jobs > 1, more memory is required as len(picks) * n_times additional time points need to be temporaily stored in memory.

For details, see mne.filter.notch_filter().

Examples using notch_filter:

Working with CTF data: the Brainstorm auditory dataset

Working with CTF data: the Brainstorm auditory dataset

Working with CTF data: the Brainstorm auditory dataset
Filtering and resampling data

Filtering and resampling data

Filtering and resampling data
Signal-space separation (SSS) and Maxwell filtering

Signal-space separation (SSS) and Maxwell filtering

Signal-space separation (SSS) and Maxwell filtering
pick(picks, exclude=(), *, verbose=None)[source]#

Pick a subset of channels.

Parameters:
picksstr | list | slice | None

Channels to include. Slices and lists of integers will be interpreted as channel indices. In lists, channel type strings (e.g., ['meg', 'eeg']) will pick channels of those types, channel name strings (e.g., ['MEG0111', 'MEG2623'] will pick the given channels. Can also be the string values “all” to pick all channels, or “data” to pick data channels. None (default) will pick all channels. Note that channels in info['bads'] will be included if their names or indices are explicitly provided.

excludelist | str

Set of channels to exclude, only used when picking based on types (e.g., exclude=”bads” when picks=”meg”).

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

New in version 0.24.0.

Returns:
instinstance of Raw, Epochs, or Evoked

The modified instance.

Examples using pick:

Modifying data in-place

Modifying data in-place

Modifying data in-place
Setting the EEG reference

Setting the EEG reference

Setting the EEG reference
Signal-space separation (SSS) and Maxwell filtering

Signal-space separation (SSS) and Maxwell filtering

Signal-space separation (SSS) and Maxwell filtering
EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)
pick_channels(ch_names, ordered=False, *, verbose=None)[source]#

Pick some channels.

Parameters:
ch_nameslist

The list of channels to select.

orderedbool

If True (default False), ensure that the order of the channels in the modified instance matches the order of ch_names.

New in version 0.20.0.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

New in version 1.1.

Returns:
instinstance of Raw, Epochs, or Evoked

The modified instance.

Notes

The channel names given are assumed to be a set, i.e. the order does not matter. The original order of the channels is preserved. You can use reorder_channels to set channel order if necessary.

New in version 0.9.0.

Examples using pick_channels:

The Raw data structure: continuous data

The Raw data structure: continuous data

The Raw data structure: continuous data
How to convert 3D electrode positions to a 2D image

How to convert 3D electrode positions to a 2D image

How to convert 3D electrode positions to a 2D image
pick_types(meg=False, eeg=False, stim=False, eog=False, ecg=False, emg=False, ref_meg='auto', misc=False, resp=False, chpi=False, exci=False, ias=False, syst=False, seeg=False, dipole=False, gof=False, bio=False, ecog=False, fnirs=False, csd=False, dbs=False, include=(), exclude='bads', selection=None, verbose=None)[source]#

Pick some channels by type and names.

Parameters:
megbool | str

If True include MEG channels. If string it can be ‘mag’, ‘grad’, ‘planar1’ or ‘planar2’ to select only magnetometers, all gradiometers, or a specific type of gradiometer.

eegbool

If True include EEG channels.

stimbool

If True include stimulus channels.

eogbool

If True include EOG channels.

ecgbool

If True include ECG channels.

emgbool

If True include EMG channels.

ref_megbool | str

If True include CTF / 4D reference channels. If ‘auto’, reference channels are included if compensations are present and meg is not False. Can also be the string options for the meg parameter.

miscbool

If True include miscellaneous analog channels.

respbool

If True include respiratory channels.

chpibool

If True include continuous HPI coil channels.

excibool

Flux excitation channel used to be a stimulus channel.

iasbool

Internal Active Shielding data (maybe on Triux only).

systbool

System status channel information (on Triux systems only).

seegbool

Stereotactic EEG channels.

dipolebool

Dipole time course channels.

gofbool

Dipole goodness of fit channels.

biobool

Bio channels.

ecogbool

Electrocorticography channels.

fnirsbool | str

Functional near-infrared spectroscopy channels. If True include all fNIRS channels. If False (default) include none. If string it can be ‘hbo’ (to include channels measuring oxyhemoglobin) or ‘hbr’ (to include channels measuring deoxyhemoglobin).

csdbool

EEG-CSD channels.

dbsbool

Deep brain stimulation channels.

includelist of str

List of additional channels to include. If empty do not include any.

excludelist of str | str

List of channels to exclude. If ‘bads’ (default), exclude channels in info['bads'].

selectionlist of str

Restrict sensor channels (MEG, EEG) to this list of channel names.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
instinstance of Raw, Epochs, or Evoked

The modified instance.

See also

pick_channels

Notes

New in version 0.9.0.

Examples using pick_types:

Getting started with mne.Report

Getting started with mne.Report

Getting started with mne.Report
The Raw data structure: continuous data

The Raw data structure: continuous data

The Raw data structure: continuous data
Handling bad channels

Handling bad channels

Handling bad channels
Repairing artifacts with ICA

Repairing artifacts with ICA

Repairing artifacts with ICA
Regression-based baseline correction

Regression-based baseline correction

Regression-based baseline correction
EEG source localization given electrode locations on an MRI

EEG source localization given electrode locations on an MRI

EEG source localization given electrode locations on an MRI
Transform EEG data using current source density (CSD)

Transform EEG data using current source density (CSD)

Transform EEG data using current source density (CSD)
Make figures more publication ready

Make figures more publication ready

Make figures more publication ready
Regression on continuous data (rER[P/F])

Regression on continuous data (rER[P/F])

Regression on continuous data (rER[P/F])
Computing source timecourses with an XFit-like multi-dipole model

Computing source timecourses with an XFit-like multi-dipole model

Computing source timecourses with an XFit-like multi-dipole model
plot(events=None, duration=10.0, start=0.0, n_channels=20, bgcolor='w', color=None, bad_color='lightgray', event_color='cyan', scalings=None, remove_dc=True, order=None, show_options=False, title=None, show=True, block=False, highpass=None, lowpass=None, filtorder=4, clipping=1.5, show_first_samp=False, proj=True, group_by='type', butterfly=False, decim='auto', noise_cov=None, event_id=None, show_scrollbars=True, show_scalebars=True, time_format='float', precompute=None, use_opengl=None, *, theme=None, overview_mode=None, verbose=None)[source]#

Plot raw data.

Parameters:
eventsarray | None

Events to show with vertical bars.

durationfloat

Time window (s) to plot. The lesser of this value and the duration of the raw file will be used.

startfloat

Initial time to show (can be changed dynamically once plotted). If show_first_samp is True, then it is taken relative to raw.first_samp.

n_channelsint

Number of channels to plot at once. Defaults to 20. The lesser of n_channels and len(raw.ch_names) will be shown. Has no effect if order is ‘position’, ‘selection’ or ‘butterfly’.

bgcolorcolor object

Color of the background.

colordict | color object | None

Color for the data traces. If None, defaults to:

dict(mag='darkblue', grad='b', eeg='k', eog='k', ecg='m',
     emg='k', ref_meg='steelblue', misc='k', stim='k',
     resp='k', chpi='k')
bad_colorcolor object

Color to make bad channels.

event_colorcolor object | dict | None

Color(s) to use for events. To show all events in the same color, pass any matplotlib-compatible color. To color events differently, pass a dict that maps event names or integer event numbers to colors (must include entries for all events, or include a “fallback” entry with key -1). If None, colors are chosen from the current Matplotlib color cycle. Defaults to 'cyan'.

scalings‘auto’ | dict | None

Scaling factors for the traces. If a dictionary where any value is 'auto', the scaling factor is set to match the 99.5th percentile of the respective data. If 'auto', all scalings (for all channel types) are set to 'auto'. If any values are 'auto' and the data is not preloaded, a subset up to 100 MB will be loaded. If None, defaults to:

dict(mag=1e-12, grad=4e-11, eeg=20e-6, eog=150e-6, ecg=5e-4,
     emg=1e-3, ref_meg=1e-12, misc=1e-3, stim=1,
     resp=1, chpi=1e-4, whitened=1e2)

Note

A particular scaling value s corresponds to half of the visualized signal range around zero (i.e. from 0 to +s or from 0 to -s). For example, the default scaling of 20e-6 (20µV) for EEG signals means that the visualized range will be 40 µV (20 µV in the positive direction and 20 µV in the negative direction).

remove_dcbool

If True remove DC component when plotting data.

orderarray of int | None

Order in which to plot data. If the array is shorter than the number of channels, only the given channels are plotted. If None (default), all channels are plotted. If group_by is 'position' or 'selection', the order parameter is used only for selecting the channels to be plotted.

show_optionsbool

If True, a dialog for options related to projection is shown.

titlestr | None

The title of the window. If None, and either the filename of the raw object or ‘<unknown>’ will be displayed as title.

showbool

Show figure if True.

blockbool

Whether to halt program execution until the figure is closed. Useful for setting bad channels on the fly by clicking on a line. May not work on all systems / platforms. (Only Qt) If you run from a script, this needs to be True or a Qt-eventloop needs to be started somewhere else in the script (e.g. if you want to implement the browser inside another Qt-Application).

highpassfloat | None

Highpass to apply when displaying data.

lowpassfloat | None

Lowpass to apply when displaying data. If highpass > lowpass, a bandstop rather than bandpass filter will be applied.

filtorderint

Filtering order. 0 will use FIR filtering with MNE defaults. Other values will construct an IIR filter of the given order and apply it with filtfilt() (making the effective order twice filtorder). Filtering may produce some edge artifacts (at the left and right edges) of the signals during display.

Changed in version 0.18: Support for filtorder=0 to use FIR filtering.

clippingstr | float | None

If None, channels are allowed to exceed their designated bounds in the plot. If “clamp”, then values are clamped to the appropriate range for display, creating step-like artifacts. If “transparent”, then excessive values are not shown, creating gaps in the traces. If float, clipping occurs for values beyond the clipping multiple of their dedicated range, so clipping=1. is an alias for clipping='transparent'.

Changed in version 0.21: Support for float, and default changed from None to 1.5.

show_first_sampbool

If True, show time axis relative to the raw.first_samp.

projbool

Whether to apply projectors prior to plotting (default is True). Individual projectors can be enabled/disabled interactively (see Notes). This argument only affects the plot; use raw.apply_proj() to modify the data stored in the Raw object.

group_bystr

How to group channels. 'type' groups by channel type, 'original' plots in the order of ch_names, 'selection' uses Elekta’s channel groupings (only works for Neuromag data), 'position' groups the channels by the positions of the sensors. 'selection' and 'position' modes allow custom selections by using a lasso selector on the topomap. In butterfly mode, 'type' and 'original' group the channels by type, whereas 'selection' and 'position' use regional grouping. 'type' and 'original' modes are ignored when order is not None. Defaults to 'type'.

butterflybool

Whether to start in butterfly mode. Defaults to False.

decimint | ‘auto’

Amount to decimate the data during display for speed purposes. You should only decimate if the data are sufficiently low-passed, otherwise aliasing can occur. The ‘auto’ mode (default) uses the decimation that results in a sampling rate least three times larger than min(info['lowpass'], lowpass) (e.g., a 40 Hz lowpass will result in at least a 120 Hz displayed sample rate).

noise_covinstance of Covariance | str | None

Noise covariance used to whiten the data while plotting. Whitened data channels are scaled by scalings['whitened'], and their channel names are shown in italic. Can be a string to load a covariance from disk. See also mne.Evoked.plot_white() for additional inspection of noise covariance properties when whitening evoked data. For data processed with SSS, the effective dependence between magnetometers and gradiometers may introduce differences in scaling, consider using mne.Evoked.plot_white().

New in version 0.16.0.

event_iddict | None

Event IDs used to show at event markers (default None shows the event numbers).

New in version 0.16.0.

show_scrollbarsbool

Whether to show scrollbars when the plot is initialized. Can be toggled after initialization by pressing z (“zen mode”) while the plot window is focused. Default is True.

New in version 0.19.0.

show_scalebarsbool

Whether to show scale bars when the plot is initialized. Can be toggled after initialization by pressing s while the plot window is focused. Default is True.

New in version 0.20.0.

time_format‘float’ | ‘clock’

Style of time labels on the horizontal axis. If 'float', labels will be number of seconds from the start of the recording. If 'clock', labels will show “clock time” (hours/minutes/seconds) inferred from raw.info['meas_date']. Default is 'float'.

New in version 0.24.

precomputebool | str

Whether to load all data (not just the visible portion) into RAM and apply preprocessing (e.g., projectors) to the full data array in a separate processor thread, instead of window-by-window during scrolling. The default None uses the MNE_BROWSER_PRECOMPUTE variable, which defaults to 'auto'. 'auto' compares available RAM space to the expected size of the precomputed data, and precomputes only if enough RAM is available. This is only used with the Qt backend.

New in version 0.24.

Changed in version 1.0: Support for the MNE_BROWSER_PRECOMPUTE config variable.

use_openglbool | None

Whether to use OpenGL when rendering the plot (requires pyopengl). May increase performance, but effect is dependent on system CPU and graphics hardware. Only works if using the Qt backend. Default is None, which will use False unless the user configuration variable MNE_BROWSER_USE_OPENGL is set to 'true', see mne.set_config().

New in version 0.24.

themestr | path-like

Can be “auto”, “light”, or “dark” or a path-like to a custom stylesheet. For Dark-Mode and automatic Dark-Mode-Detection, qdarkstyle and darkdetect, respectively, are required. If None (default), the config option MNE_BROWSER_THEME will be used, defaulting to “auto” if it’s not found. Only supported by the 'qt' backend.

New in version 1.0.

overview_modestr | None

Can be “channels”, “empty”, or “hidden” to set the overview bar mode for the 'qt' backend. If None (default), the config option MNE_BROWSER_OVERVIEW_MODE will be used, defaulting to “channels” if it’s not found.

New in version 1.1.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
figmatplotlib.figure.Figure | mne_qt_browser.figure.MNEQtBrowser

Browser instance.

Notes

The arrow keys (up/down/left/right) can typically be used to navigate between channels and time ranges, but this depends on the backend matplotlib is configured to use (e.g., mpl.use(‘TkAgg’) should work). The left/right arrows will scroll by 25% of duration, whereas shift+left/shift+right will scroll by 100% of duration. The scaling can be adjusted with - and + (or =) keys. The viewport dimensions can be adjusted with page up/page down and home/end keys. Full screen mode can be toggled with the F11 key, and scrollbars can be hidden/shown by pressing ‘z’. Right-click a channel label to view its location. To mark or un-mark a channel as bad, click on a channel label or a channel trace. The changes will be reflected immediately in the raw object’s raw.info['bads'] entry.

If projectors are present, a button labelled “Prj” in the lower right corner of the plot window opens a secondary control window, which allows enabling/disabling specific projectors individually. This provides a means of interactively observing how each projector would affect the raw data if it were applied.

Annotation mode is toggled by pressing ‘a’, butterfly mode by pressing ‘b’, and whitening mode (when noise_cov is not None) by pressing ‘w’. By default, the channel means are removed when remove_dc is set to True. This flag can be toggled by pressing ‘d’.

Note

For the Qt backend to run in IPython with block=False you must run the magic command %gui qt5 first.

Note

To report issues with the qt-backend, please use the issues of mne-qt-browser.

Examples using plot:

Overview of MEG/EEG analysis with MNE-Python

Overview of MEG/EEG analysis with MNE-Python

Overview of MEG/EEG analysis with MNE-Python
Modifying data in-place

Modifying data in-place

Modifying data in-place
Parsing events from raw data

Parsing events from raw data

Parsing events from raw data
Getting started with mne.Report

Getting started with mne.Report

Getting started with mne.Report
Working with events

Working with events

Working with events
Annotating continuous data

Annotating continuous data

Annotating continuous data
Built-in plotting methods for Raw objects

Built-in plotting methods for Raw objects

Built-in plotting methods for Raw objects
Overview of artifact detection

Overview of artifact detection

Overview of artifact detection
Handling bad channels

Handling bad channels

Handling bad channels
Rejecting bad data spans and breaks

Rejecting bad data spans and breaks

Rejecting bad data spans and breaks
Filtering and resampling data

Filtering and resampling data

Filtering and resampling data
Background on projectors and projections

Background on projectors and projections

Background on projectors and projections
Repairing artifacts with SSP

Repairing artifacts with SSP

Repairing artifacts with SSP
Setting the EEG reference

Setting the EEG reference

Setting the EEG reference
Auto-generating Epochs metadata

Auto-generating Epochs metadata

Auto-generating Epochs metadata
EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)
Plotting whitened data

Plotting whitened data

Plotting whitened data
Brainstorm Elekta phantom dataset tutorial

Brainstorm Elekta phantom dataset tutorial

Brainstorm Elekta phantom dataset tutorial
Transform EEG data using current source density (CSD)

Transform EEG data using current source density (CSD)

Transform EEG data using current source density (CSD)
Find MEG reference channel artifacts

Find MEG reference channel artifacts

Find MEG reference channel artifacts
Maxwell filter data with movement compensation

Maxwell filter data with movement compensation

Maxwell filter data with movement compensation
Plot sensor denoising using oversampled temporal projection

Plot sensor denoising using oversampled temporal projection

Plot sensor denoising using oversampled temporal projection
plot_projs_topomap(ch_type=None, cmap=None, sensors=True, colorbar=False, res=64, size=1, show=True, outlines='head', contours=6, image_interp='cubic', axes=None, vlim=(None, None), sphere=None, extrapolate='auto', border='mean')[source]#

Plot SSP vector.

Parameters:
ch_type‘mag’ | ‘grad’ | ‘planar1’ | ‘planar2’ | ‘eeg’ | None | list

The channel type to plot. For ‘grad’, the gradiometers are collec- ted in pairs and the RMS for each pair is plotted. If None (default), it will return all channel types present. If a list of ch_types is provided, it will return multiple figures.

cmapmatplotlib colormap | (colormap, bool) | ‘interactive’ | None

Colormap to use. If tuple, the first value indicates the colormap to use and the second value is a boolean defining interactivity. In interactive mode (only works if colorbar=True) the colors are adjustable by clicking and dragging the colorbar with left and right mouse button. Left mouse button moves the scale up and down and right mouse button adjusts the range. Hitting space bar resets the range. Up and down arrows can be used to change the colormap. If None (default), ‘Reds’ is used for all positive data, otherwise defaults to ‘RdBu_r’. If ‘interactive’, translates to (None, True).

sensorsbool | str

Add markers for sensor locations to the plot. Accepts matplotlib plot format string (e.g., ‘r+’ for red plusses). If True, a circle will be used (via .add_artist). Defaults to True.

colorbarbool

Plot a colorbar.

resint

The resolution of the topomap image (n pixels along each side).

sizescalar

Side length of the topomaps in inches (only applies when plotting multiple topomaps at a time).

showbool

Show figure if True.

outlines‘head’ | ‘skirt’ | dict | None

The outlines to be drawn. If ‘head’, the default head scheme will be drawn. If ‘skirt’ the head scheme will be drawn, but sensors are allowed to be plotted outside of the head circle. If dict, each key refers to a tuple of x and y positions, the values in ‘mask_pos’ will serve as image mask. Alternatively, a matplotlib patch object can be passed for advanced masking options, either directly or as a function that returns patches (required for multi-axis plots). If None, nothing will be drawn. Defaults to ‘head’.

contoursint | array of float

The number of contour lines to draw. If 0, no contours will be drawn. When an integer, matplotlib ticker locator is used to find suitable values for the contour thresholds (may sometimes be inaccurate, use array for accuracy). If an array, the values represent the levels for the contours. Defaults to 6.

image_interpstr

The image interpolation to be used. Options are 'cubic' (default) to use scipy.interpolate.CloughTocher2DInterpolator, 'nearest' to use scipy.spatial.Voronoi or 'linear' to use scipy.interpolate.LinearNDInterpolator.

axesinstance of Axes | list | None

The axes to plot to. If list, the list must be a list of Axes of the same length as the number of projectors. If instance of Axes, there must be only one projector. Defaults to None.

vlimtuple of length 2 | ‘joint’

Colormap limits to use. If tuple, specifies the lower and upper bounds of the colormap (in that order); providing None for either of these will set the corresponding boundary at the min/max of the data (separately for each projector). The keyword value 'joint' will compute the colormap limits jointly across all provided projectors of the same channel type, using the min/max of the projector data. If vlim is 'joint', info must not be None. Defaults to (None, None).

spherefloat | array-like | instance of ConductorModel | None | ‘auto’ | ‘eeglab’

The sphere parameters to use for the head outline. Can be array-like of shape (4,) to give the X/Y/Z origin and radius in meters, or a single float to give just the radius (origin assumed 0, 0, 0). Can also be an instance of a spherical ConductorModel to use the origin and radius from that object. If 'auto' the sphere is fit to digitization points. If 'eeglab' the head circle is defined by EEG electrodes 'Fpz', 'Oz', 'T7', and 'T8' (if 'Fpz' is not present, it will be approximated from the coordinates of 'Oz'). None (the default) is equivalent to 'auto' when enough extra digitization points are available, and (0, 0, 0, 0.095) otherwise. Currently the head radius does not affect plotting.

New in version 0.20.

Changed in version 1.1: Added 'eeglab' option.

image_interpstr

The image interpolation to be used. Options are 'cubic' (default) to use scipy.interpolate.CloughTocher2DInterpolator, 'nearest' to use scipy.spatial.Voronoi or 'linear' to use scipy.interpolate.LinearNDInterpolator.

extrapolatestr

Options:

  • 'box'

    Extrapolate to four points placed to form a square encompassing all data points, where each side of the square is three times the range of the data in the respective dimension.

  • 'local' (default for MEG sensors)

    Extrapolate only to nearby points (approximately to points closer than median inter-electrode distance). This will also set the mask to be polygonal based on the convex hull of the sensors.

  • 'head' (default for non-MEG sensors)

    Extrapolate out to the edges of the clipping circle. This will be on the head circle when the sensors are contained within the head circle, but it can extend beyond the head when sensors are plotted outside the head circle.

Changed in version 0.21:

  • The default was changed to 'local' for MEG sensors.

  • 'local' was changed to use a convex hull mask

  • 'head' was changed to extrapolate out to the clipping circle.

New in version 0.20.

borderfloat | ‘mean’

Value to extrapolate to on the topomap borders. If 'mean' (default), then each extrapolated point has the average value of its neighbours.

New in version 0.20.

Returns:
figinstance of Figure

Figure distributing one image per channel across sensor topography.

Examples using plot_projs_topomap:

Built-in plotting methods for Raw objects

Built-in plotting methods for Raw objects

Built-in plotting methods for Raw objects
plot_psd(fmin=0, fmax=inf, tmin=None, tmax=None, proj=False, n_fft=None, n_overlap=0, reject_by_annotation=True, picks=None, ax=None, color='black', xscale='linear', area_mode='std', area_alpha=0.33, dB=True, estimate='auto', show=True, n_jobs=None, average=False, line_alpha=None, spatial_colors=True, sphere=None, window='hamming', exclude='bads', verbose=None)[source]#

Plot the power spectral density across channels.

Different channel types are drawn in sub-plots. When the data have been processed with a bandpass, lowpass or highpass filter, dashed lines (╎) indicate the boundaries of the filter. The line noise frequency is also indicated with a dashed line (⋮).

Parameters:
fminfloat

Start frequency to consider.

fmaxfloat

End frequency to consider.

tminfloat | None

Start time to consider.

tmaxfloat | None

End time to consider.

projbool

Apply projection.

n_fftint | None

Number of points to use in Welch FFT calculations. Default is None, which uses the minimum of 2048 and the number of time points.

n_overlapint

The number of points of overlap between blocks. The default value is 0 (no overlap).

reject_by_annotationbool

Whether to omit bad segments from the data before fitting. If True (default), annotated segments whose description begins with 'bad' are omitted. If False, no rejection based on annotations is performed.

Has no effect if inst is not a mne.io.Raw object.

picksstr | list | slice | None

Channels to include. Slices and lists of integers will be interpreted as channel indices. In lists, channel type strings (e.g., ['meg', 'eeg']) will pick channels of those types, channel name strings (e.g., ['MEG0111', 'MEG2623'] will pick the given channels. Can also be the string values “all” to pick all channels, or “data” to pick data channels. None (default) will pick good data channels. Note that channels in info['bads'] will be included if their names or indices are explicitly provide Cannot be None if ax is supplied.If both picks and ax are None separate subplots will be created for each standard channel type (mag, grad, and eeg).

axinstance of Axes | None

Axes to plot into. If None, axes will be created.

colorstr | tuple

A matplotlib-compatible color to use. Has no effect when spatial_colors=True.

xscalestr

Can be ‘linear’ (default) or ‘log’.

area_modestr | None

Mode for plotting area. If ‘std’, the mean +/- 1 STD (across channels) will be plotted. If ‘range’, the min and max (across channels) will be plotted. Bad channels will be excluded from these calculations. If None, no area will be plotted. If average=False, no area is plotted.

area_alphafloat

Alpha for the area.

dBbool

Plot Power Spectral Density (PSD), in units (amplitude**2/Hz (dB)) if dB=True, and estimate='power' or estimate='auto'. Plot PSD in units (amplitude**2/Hz) if dB=False and, estimate='power'. Plot Amplitude Spectral Density (ASD), in units (amplitude/sqrt(Hz)), if dB=False and estimate='amplitude' or estimate='auto'. Plot ASD, in units (amplitude/sqrt(Hz) (db)), if dB=True and estimate='amplitude'.

estimatestr, {‘auto’, ‘power’, ‘amplitude’}

Can be “power” for power spectral density (PSD), “amplitude” for amplitude spectrum density (ASD), or “auto” (default), which uses “power” when dB is True and “amplitude” otherwise.

showbool

Show the figure if True.

n_jobsint | None

The number of jobs to run in parallel. If -1, it is set to the number of CPU cores. Requires the joblib package. None (default) is a marker for ‘unset’ that will be interpreted as n_jobs=1 (sequential execution) unless the call is performed under a joblib.parallel_backend() context manager that sets another value for n_jobs.

averagebool

If False, the PSDs of all channels is displayed. No averaging is done and parameters area_mode and area_alpha are ignored. When False, it is possible to paint an area (hold left mouse button and drag) to plot a topomap.

line_alphafloat | None

Alpha for the PSD line. Can be None (default) to use 1.0 when average=True and 0.1 when average=False.

spatial_colorsbool

Whether to use spatial colors. Only used when average=False.

spherefloat | array-like | instance of ConductorModel | None | ‘auto’ | ‘eeglab’

The sphere parameters to use for the head outline. Can be array-like of shape (4,) to give the X/Y/Z origin and radius in meters, or a single float to give just the radius (origin assumed 0, 0, 0). Can also be an instance of a spherical ConductorModel to use the origin and radius from that object. If 'auto' the sphere is fit to digitization points. If 'eeglab' the head circle is defined by EEG electrodes 'Fpz', 'Oz', 'T7', and 'T8' (if 'Fpz' is not present, it will be approximated from the coordinates of 'Oz'). None (the default) is equivalent to 'auto' when enough extra digitization points are available, and (0, 0, 0, 0.095) otherwise. Currently the head radius does not affect plotting.

New in version 0.20.

Changed in version 1.1: Added 'eeglab' option.

windowstr | float | tuple

Windowing function to use. See scipy.signal.get_window().

New in version 0.22.0.

excludelist of str | ‘bads’

Channels names to exclude from being shown. If ‘bads’, the bad channels are excluded. Pass an empty list to plot all channels (including channels marked “bad”, if any).

New in version 0.24.0.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
figinstance of Figure

Figure with frequency spectra of the data channels.

Examples using plot_psd:

Built-in plotting methods for Raw objects

Built-in plotting methods for Raw objects

Built-in plotting methods for Raw objects
Overview of artifact detection

Overview of artifact detection

Overview of artifact detection
Rejecting bad data spans and breaks

Rejecting bad data spans and breaks

Rejecting bad data spans and breaks
Filtering and resampling data

Filtering and resampling data

Filtering and resampling data
Repairing artifacts with SSP

Repairing artifacts with SSP

Repairing artifacts with SSP
Extracting and visualizing subject head movement

Extracting and visualizing subject head movement

Extracting and visualizing subject head movement
Brainstorm Elekta phantom dataset tutorial

Brainstorm Elekta phantom dataset tutorial

Brainstorm Elekta phantom dataset tutorial
Transform EEG data using current source density (CSD)

Transform EEG data using current source density (CSD)

Transform EEG data using current source density (CSD)
Find MEG reference channel artifacts

Find MEG reference channel artifacts

Find MEG reference channel artifacts
Show noise levels from empty room data

Show noise levels from empty room data

Show noise levels from empty room data
plot_psd_topo(tmin=0.0, tmax=None, fmin=0, fmax=100, proj=False, n_fft=2048, n_overlap=0, layout=None, color='w', fig_facecolor='k', axis_facecolor='k', dB=True, show=True, block=False, n_jobs=None, axes=None, verbose=None)[source]#

Plot channel-wise frequency spectra as topography.

Parameters:
tminfloat

Start time for calculations. Defaults to zero.

tmaxfloat | None

End time for calculations. If None (default), the end of data is used.

fminfloat

Start frequency to consider. Defaults to zero.

fmaxfloat

End frequency to consider. Defaults to 100.

projbool

Apply projection. Defaults to False.

n_fftint

Number of points to use in Welch FFT calculations. Defaults to 2048.

n_overlapint

The number of points of overlap between blocks. Defaults to 0 (no overlap).

layoutinstance of Layout | None

Layout instance specifying sensor positions (does not need to be specified for Neuromag data). If None (default), the correct layout is inferred from the data.

colorstr | tuple

A matplotlib-compatible color to use for the curves. Defaults to white.

fig_facecolorstr | tuple

A matplotlib-compatible color to use for the figure background. Defaults to black.

axis_facecolorstr | tuple

A matplotlib-compatible color to use for the axis background. Defaults to black.

dBbool

If True, transform data to decibels. Defaults to True.

showbool

Show figure if True. Defaults to True.

blockbool

Whether to halt program execution until the figure is closed. May not work on all systems / platforms. Defaults to False.

n_jobsint | None

The number of jobs to run in parallel. If -1, it is set to the number of CPU cores. Requires the joblib package. None (default) is a marker for ‘unset’ that will be interpreted as n_jobs=1 (sequential execution) unless the call is performed under a joblib.parallel_backend() context manager that sets another value for n_jobs.

axesinstance of matplotlib Axes | None

Axes to plot into. If None, axes will be created.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
figinstance of matplotlib.figure.Figure

Figure distributing one image per channel across sensor topography.

Examples using plot_psd_topo:

Built-in plotting methods for Raw objects

Built-in plotting methods for Raw objects

Built-in plotting methods for Raw objects
plot_sensors(kind='topomap', ch_type=None, title=None, show_names=False, ch_groups=None, to_sphere=True, axes=None, block=False, show=True, sphere=None, verbose=None)[source]#

Plot sensor positions.

Parameters:
kindstr

Whether to plot the sensors as 3d, topomap or as an interactive sensor selection dialog. Available options ‘topomap’, ‘3d’, ‘select’. If ‘select’, a set of channels can be selected interactively by using lasso selector or clicking while holding control key. The selected channels are returned along with the figure instance. Defaults to ‘topomap’.

ch_typeNone | str

The channel type to plot. Available options ‘mag’, ‘grad’, ‘eeg’, ‘seeg’, ‘dbs’, ‘ecog’, ‘all’. If 'all', all the available mag, grad, eeg, seeg, dbs, and ecog channels are plotted. If None (default), then channels are chosen in the order given above.

titlestr | None

Title for the figure. If None (default), equals to 'Sensor positions (%s)' % ch_type.

show_namesbool | array of str

Whether to display all channel names. If an array, only the channel names in the array are shown. Defaults to False.

ch_groups‘position’ | array of shape (n_ch_groups, n_picks) | None

Channel groups for coloring the sensors. If None (default), default coloring scheme is used. If ‘position’, the sensors are divided into 8 regions. See order kwarg of mne.viz.plot_raw(). If array, the channels are divided by picks given in the array.

New in version 0.13.0.

to_spherebool

Whether to project the 3d locations to a sphere. When False, the sensor array appears similar as to looking downwards straight above the subject’s head. Has no effect when kind=’3d’. Defaults to True.

New in version 0.14.0.

axesinstance of Axes | instance of Axes3D | None

Axes to draw the sensors to. If kind='3d', axes must be an instance of Axes3D. If None (default), a new axes will be created.

New in version 0.13.0.

blockbool

Whether to halt program execution until the figure is closed. Defaults to False.

New in version 0.13.0.

showbool

Show figure if True. Defaults to True.

spherefloat | array-like | instance of ConductorModel | None | ‘auto’ | ‘eeglab’

The sphere parameters to use for the head outline. Can be array-like of shape (4,) to give the X/Y/Z origin and radius in meters, or a single float to give just the radius (origin assumed 0, 0, 0). Can also be an instance of a spherical ConductorModel to use the origin and radius from that object. If 'auto' the sphere is fit to digitization points. If 'eeglab' the head circle is defined by EEG electrodes 'Fpz', 'Oz', 'T7', and 'T8' (if 'Fpz' is not present, it will be approximated from the coordinates of 'Oz'). None (the default) is equivalent to 'auto' when enough extra digitization points are available, and (0, 0, 0, 0.095) otherwise. Currently the head radius does not affect plotting.

New in version 0.20.

Changed in version 1.1: Added 'eeglab' option.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
figinstance of Figure

Figure containing the sensor topography.

selectionlist

A list of selected channels. Only returned if kind=='select'.

Notes

This function plots the sensor locations from the info structure using matplotlib. For drawing the sensors using PyVista see mne.viz.plot_alignment().

New in version 0.12.0.

Examples using plot_sensors:

Working with sensor locations

Working with sensor locations

Working with sensor locations
Built-in plotting methods for Raw objects

Built-in plotting methods for Raw objects

Built-in plotting methods for Raw objects
EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)
EEG source localization given electrode locations on an MRI

EEG source localization given electrode locations on an MRI

EEG source localization given electrode locations on an MRI
property proj#

Whether or not projections are active.

rename_channels(mapping, allow_duplicates=False, verbose=None)[source]#

Rename channels.

Parameters:
mappingdict | callable()

A dictionary mapping the old channel to a new channel name e.g. {‘EEG061’ : ‘EEG161’}. Can also be a callable function that takes and returns a string.

Changed in version 0.10.0: Support for a callable function.

allow_duplicatesbool

If True (default False), allow duplicates, which will automatically be renamed with -N at the end.

New in version 0.22.0.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
instinstance of Raw | Epochs | Evoked

The instance (modified in place).

Changed in version 0.20: Return the instance.

Notes

New in version 0.9.0.

Examples using rename_channels:

The Raw data structure: continuous data

The Raw data structure: continuous data

The Raw data structure: continuous data
EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)
Find MEG reference channel artifacts

Find MEG reference channel artifacts

Find MEG reference channel artifacts
reorder_channels(ch_names)[source]#

Reorder channels.

Parameters:
ch_nameslist

The desired channel order.

Returns:
instinstance of Raw, Epochs, or Evoked

The modified instance.

Notes

Channel names must be unique. Channels that are not in ch_names are dropped.

New in version 0.16.0.

Examples using reorder_channels:

The Raw data structure: continuous data

The Raw data structure: continuous data

The Raw data structure: continuous data
resample(sfreq, npad='auto', window='boxcar', stim_picks=None, n_jobs=None, events=None, pad='reflect_limited', verbose=None)[source]#

Resample all channels.

If appropriate, an anti-aliasing filter is applied before resampling. See Resampling and decimating data for more information.

Warning

The intended purpose of this function is primarily to speed up computations (e.g., projection calculation) when precise timing of events is not required, as downsampling raw data effectively jitters trigger timings. It is generally recommended not to epoch downsampled data, but instead epoch and then downsample, as epoching downsampled data jitters triggers. For more, see this illustrative gist.

If resampling the continuous data is desired, it is recommended to construct events using the original data. The event onsets can be jointly resampled with the raw data using the ‘events’ parameter (a resampled copy is returned).

Parameters:
sfreqfloat

New sample rate to use.

npadint | str

Amount to pad the start and end of the data. Can also be “auto” to use a padding that will result in a power-of-two size (can be much faster).

windowstr | tuple

Frequency-domain window to use in resampling. See scipy.signal.resample().

stim_pickslist of int | None

Stim channels. These channels are simply subsampled or supersampled (without applying any filtering). This reduces resampling artifacts in stim channels, but may lead to missing triggers. If None, stim channels are automatically chosen using mne.pick_types().

n_jobsint | str

Number of jobs to run in parallel. Can be ‘cuda’ if cupy is installed properly.

events2D array, shape (n_events, 3) | None

An optional event matrix. When specified, the onsets of the events are resampled jointly with the data. NB: The input events are not modified, but a new array is returned with the raw instead.

padstr

The type of padding to use. Supports all numpy.pad() mode options. Can also be "reflect_limited", which pads with a reflected version of each vector mirrored on the first and last values of the vector, followed by zeros. The default is 'reflect_limited'.

New in version 0.15.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
rawinstance of Raw

The resampled version of the raw object.

eventsarray, shape (n_events, 3) | None

If events are jointly resampled, these are returned with the raw.

Notes

For some data, it may be more accurate to use npad=0 to reduce artifacts. This is dataset dependent – check your data!

For optimum performance and to make use of n_jobs > 1, the raw object has to have the data loaded e.g. with preload=True or self.load_data(), but this increases memory requirements. The resulting raw object will have the data loaded into memory.

save(fname, picks=None, tmin=0, tmax=None, buffer_size_sec=None, drop_small_buffer=False, proj=False, fmt='single', overwrite=False, split_size='2GB', split_naming='neuromag', verbose=None)[source]#

Save raw data to file.

Parameters:
fnamestr

File name of the new dataset. This has to be a new filename unless data have been preloaded. Filenames should end with raw.fif (common raw data), raw_sss.fif (Maxwell-filtered continuous data), raw_tsss.fif (temporally signal-space-separated data), _meg.fif (common MEG data), _eeg.fif (common EEG data), or _ieeg.fif (common intracranial EEG data). You may also append an additional .gz suffix to enable gzip compression.

picksstr | list | slice | None

Channels to include. Slices and lists of integers will be interpreted as channel indices. In lists, channel type strings (e.g., ['meg', 'eeg']) will pick channels of those types, channel name strings (e.g., ['MEG0111', 'MEG2623'] will pick the given channels. Can also be the string values “all” to pick all channels, or “data” to pick data channels. None (default) will pick all channels. Note that channels in info['bads'] will be included if their names or indices are explicitly provided.

tminfloat

Start time of the raw data to use in seconds (must be >= 0).

tmaxfloat

End time of the raw data to use in seconds (cannot exceed data duration).

buffer_size_secfloat | None

Size of data chunks in seconds. If None (default), the buffer size of the original file is used.

drop_small_bufferbool

Drop or not the last buffer. It is required by maxfilter (SSS) that only accepts raw files with buffers of the same size.

projbool

If True the data is saved with the projections applied (active).

Note

If apply_proj() was used to apply the projections, the projectons will be active even if proj is False.

fmt‘single’ | ‘double’ | ‘int’ | ‘short’

Format to use to save raw data. Valid options are ‘double’, ‘single’, ‘int’, and ‘short’ for 64- or 32-bit float, or 32- or 16-bit integers, respectively. It is strongly recommended to use ‘single’, as this is backward-compatible, and is standard for maintaining precision. Note that using ‘short’ or ‘int’ may result in loss of precision, complex data cannot be saved as ‘short’, and neither complex data types nor real data stored as ‘double’ can be loaded with the MNE command-line tools. See raw.orig_format to determine the format the original data were stored in.

overwritebool

If True (default False), overwrite the destination file if it exists. To overwrite original file (the same one that was loaded), data must be preloaded upon reading.

split_sizestr | int

Large raw files are automatically split into multiple pieces. This parameter specifies the maximum size of each piece. If the parameter is an integer, it specifies the size in Bytes. It is also possible to pass a human-readable string, e.g., 100MB.

Note

Due to FIFF file limitations, the maximum split size is 2GB.

split_naming‘neuromag’ | ‘bids’

When splitting files, append a filename partition with the appropriate naming schema: for 'neuromag', a split file fname.fif will be named fname.fif, fname-1.fif, fname-2.fif etc.; while for 'bids', it will be named fname_split-01.fif, fname_split-02.fif, etc.

New in version 0.17.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Notes

If Raw is a concatenation of several raw files, be warned that only the measurement information from the first raw file is stored. This likely means that certain operations with external tools may not work properly on a saved concatenated file (e.g., probably some or all forms of SSS). It is recommended not to concatenate and then save raw files for this reason.

Samples annotated BAD_ACQ_SKIP are not stored in order to optimize memory. Whatever values, they will be loaded as 0s when reading file.

Examples using save:

The Raw data structure: continuous data

The Raw data structure: continuous data

The Raw data structure: continuous data
savgol_filter(h_freq, verbose=None)[source]#

Filter the data using Savitzky-Golay polynomial method.

Parameters:
h_freqfloat

Approximate high cut-off frequency in Hz. Note that this is not an exact cutoff, since Savitzky-Golay filtering [3] is done using polynomial fits instead of FIR/IIR filtering. This parameter is thus used to determine the length of the window over which a 5th-order polynomial smoothing is used.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
instinstance of Epochs or Evoked

The object with the filtering applied.

Notes

For Savitzky-Golay low-pass approximation, see:

New in version 0.9.0.

References

Examples

>>> import mne
>>> from os import path as op
>>> evoked_fname = op.join(mne.datasets.sample.data_path(), 'MEG', 'sample', 'sample_audvis-ave.fif')  
>>> evoked = mne.read_evokeds(evoked_fname, baseline=(None, 0))[0]  
>>> evoked.savgol_filter(10.)  # low-pass at around 10 Hz 
>>> evoked.plot()  
set_annotations(annotations, emit_warning=True, on_missing='raise', *, verbose=None)[source]#

Setter for annotations.

This setter checks if they are inside the data range.

Parameters:
annotationsinstance of mne.Annotations | None

Annotations to set. If None, the annotations is defined but empty.

emit_warningbool

Whether to emit warnings when cropping or omitting annotations. The default is True.

on_missing‘raise’ | ‘warn’ | ‘ignore’

Can be 'raise' (default) to raise an error, 'warn' to emit a warning, or 'ignore' to ignore when entries in ch_names are not present in the raw instance.

New in version 0.23.0.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
selfinstance of Raw

The raw object with annotations.

Examples using set_annotations:

Parsing events from raw data

Parsing events from raw data

Parsing events from raw data
Annotating continuous data

Annotating continuous data

Annotating continuous data
Rejecting bad data spans and breaks

Rejecting bad data spans and breaks

Rejecting bad data spans and breaks
set_channel_types(mapping, verbose=None)[source]#

Define the sensor type of channels.

Parameters:
mappingdict

A dictionary mapping a channel to a sensor type (str), e.g., {'EEG061': 'eog'}.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
instinstance of Raw | Epochs | Evoked

The instance (modified in place).

Changed in version 0.20: Return the instance.

Notes

The following sensor types are accepted:

ecg, eeg, emg, eog, exci, ias, misc, resp, seeg, dbs, stim, syst, ecog, hbo, hbr, fnirs_cw_amplitude, fnirs_fd_ac_amplitude, fnirs_fd_phase, fnirs_od

New in version 0.9.0.

Examples using set_channel_types:

The Raw data structure: continuous data

The Raw data structure: continuous data

The Raw data structure: continuous data
EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)
set_eeg_reference(ref_channels='average', projection=False, ch_type='auto', forward=None, verbose=None)[source]#

Specify which reference to use for EEG data.

Use this function to explicitly specify the desired reference for EEG. This can be either an existing electrode or a new virtual channel. This function will re-reference the data according to the desired reference.

Parameters:
ref_channelslist of str | str

Can be:

  • The name(s) of the channel(s) used to construct the reference.

  • 'average' to apply an average reference (default)

  • 'REST' to use the Reference Electrode Standardization Technique infinity reference [4].

  • An empty list, in which case MNE will not attempt any re-referencing of the data

projectionbool

If ref_channels='average' this argument specifies if the average reference should be computed as a projection (True) or not (False; default). If projection=True, the average reference is added as a projection and is not applied to the data (it can be applied afterwards with the apply_proj method). If projection=False, the average reference is directly applied to the data. If ref_channels is not 'average', projection must be set to False (the default in this case).

ch_typelist of str | str

The name of the channel type to apply the reference to. Valid channel types are 'auto', 'eeg', 'ecog', 'seeg', 'dbs'. If 'auto', the first channel type of eeg, ecog, seeg or dbs that is found (in that order) will be selected.

New in version 0.19.

forwardinstance of Forward | None

Forward solution to use. Only used with ref_channels='REST'.

New in version 0.21.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
instinstance of Raw | Epochs | Evoked

Data with EEG channels re-referenced. If ref_channels='average' and projection=True a projection will be added instead of directly re-referencing the data.

See also

mne.set_bipolar_reference

Convenience function for creating bipolar references.

Notes

Some common referencing schemes and the corresponding value for the ref_channels parameter:

  • Average reference:

    A new virtual reference electrode is created by averaging the current EEG signal by setting ref_channels='average'. Bad EEG channels are automatically excluded if they are properly set in info['bads'].

  • A single electrode:

    Set ref_channels to a list containing the name of the channel that will act as the new reference, for example ref_channels=['Cz'].

  • The mean of multiple electrodes:

    A new virtual reference electrode is created by computing the average of the current EEG signal recorded from two or more selected channels. Set ref_channels to a list of channel names, indicating which channels to use. For example, to apply an average mastoid reference, when using the 10-20 naming scheme, set ref_channels=['M1', 'M2'].

  • REST

    The given EEG electrodes are referenced to a point at infinity using the lead fields in forward, which helps standardize the signals.

  1. If a reference is requested that is not the average reference, this function removes any pre-existing average reference projections.

  2. During source localization, the EEG signal should have an average reference.

  3. In order to apply a reference, the data must be preloaded. This is not necessary if ref_channels='average' and projection=True.

  4. For an average or REST reference, bad EEG channels are automatically excluded if they are properly set in info['bads'].

New in version 0.9.0.

References

Examples using set_eeg_reference:

Setting the EEG reference

Setting the EEG reference

Setting the EEG reference
Computing a covariance matrix

Computing a covariance matrix

Computing a covariance matrix
EEG source localization given electrode locations on an MRI

EEG source localization given electrode locations on an MRI

EEG source localization given electrode locations on an MRI
Corrupt known signal with point spread

Corrupt known signal with point spread

Corrupt known signal with point spread
Generate simulated raw data

Generate simulated raw data

Generate simulated raw data
Transform EEG data using current source density (CSD)

Transform EEG data using current source density (CSD)

Transform EEG data using current source density (CSD)
Compute sLORETA inverse solution on raw data

Compute sLORETA inverse solution on raw data

Compute sLORETA inverse solution on raw data
set_meas_date(meas_date)[source]#

Set the measurement start date.

Parameters:
meas_datedatetime | float | tuple | None

The new measurement date. If datetime object, it must be timezone-aware and in UTC. A tuple of (seconds, microseconds) or float (alias for (meas_date, 0)) can also be passed and a datetime object will be automatically created. If None, will remove the time reference.

Returns:
instinstance of Raw | Epochs | Evoked

The modified raw instance. Operates in place.

Notes

If you want to remove all time references in the file, call mne.io.anonymize_info(inst.info) after calling inst.set_meas_date(None).

New in version 0.20.

set_montage(montage, match_case=True, match_alias=False, on_missing='raise', verbose=None)[source]#

Set EEG/sEEG/ECoG/DBS/fNIRS channel positions and digitization points.

Parameters:
montageNone | str | DigMontage

A montage containing channel positions. If a string or DigMontage is specified, the existing channel information will be updated with the channel positions from the montage. Valid strings are the names of the built-in montages that ship with MNE-Python; you can list those via mne.channels.get_builtin_montages(). If None (default), the channel positions will be removed from the Info.

match_casebool

If True (default), channel name matching will be case sensitive.

New in version 0.20.

match_aliasbool | dict

Whether to use a lookup table to match unrecognized channel location names to their known aliases. If True, uses the mapping in mne.io.constants.CHANNEL_LOC_ALIASES. If a dict is passed, it will be used instead, and should map from non-standard channel names to names in the specified montage. Default is False.

New in version 0.23.

on_missing‘raise’ | ‘warn’ | ‘ignore’

Can be 'raise' (default) to raise an error, 'warn' to emit a warning, or 'ignore' to ignore when channels have missing coordinates.

New in version 0.20.1.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
instinstance of Raw | Epochs | Evoked

The instance, modified in-place.

Notes

Warning

Only EEG/sEEG/ECoG/DBS/fNIRS channels can have their positions set using a montage. Other channel types (e.g., MEG channels) should have their positions defined properly using their data reading functions.

Examples using set_montage:

Working with sensor locations

Working with sensor locations

Working with sensor locations
Importing data from EEG devices

Importing data from EEG devices

Importing data from EEG devices
EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)
EEG source localization given electrode locations on an MRI

EEG source localization given electrode locations on an MRI

EEG source localization given electrode locations on an MRI
Locating intracranial electrode contacts

Locating intracranial electrode contacts

Locating intracranial electrode contacts
shift_time(tshift, relative=True)[source]#

Shift time scale in epoched or evoked data.

Parameters:
tshiftfloat

The (absolute or relative) time shift in seconds. If relative is True, positive tshift increases the time value associated with each sample, while negative tshift decreases it.

relativebool

If True, increase or decrease time values by tshift seconds. Otherwise, shift the time values such that the time of the first sample equals tshift.

Returns:
epochsMNE-object

The modified instance.

Notes

This method allows you to shift the time values associated with each data sample by an arbitrary amount. It does not resample the signal or change the data values in any way.

time_as_index(times, use_rounding=False, origin=None)[source]#

Convert time to indices.

Parameters:
timeslist-like | float | int

List of numbers or a number representing points in time.

use_roundingbool

If True, use rounding (instead of truncation) when converting times to indices. This can help avoid non-unique indices.

origindatetime | float | int | None

Time reference for times. If None, times are assumed to be relative to first_samp.

New in version 0.17.0.

Returns:
indexndarray

Indices relative to first_samp corresponding to the times supplied.

Examples using time_as_index:

The Raw data structure: continuous data

The Raw data structure: continuous data

The Raw data structure: continuous data
Compute sLORETA inverse solution on raw data

Compute sLORETA inverse solution on raw data

Compute sLORETA inverse solution on raw data
property times#

Time points.

property tmax#

Last time point.

property tmin#

First time point.

to_data_frame(picks=None, index=None, scalings=None, copy=True, start=None, stop=None, long_format=False, time_format=None, *, verbose=None)[source]#

Export data in tabular structure as a pandas DataFrame.

Channels are converted to columns in the DataFrame. By default, an additional column “time” is added, unless index is not None (in which case time values form the DataFrame’s index).

Parameters:
picksstr | list | slice | None

Channels to include. Slices and lists of integers will be interpreted as channel indices. In lists, channel type strings (e.g., ['meg', 'eeg']) will pick channels of those types, channel name strings (e.g., ['MEG0111', 'MEG2623'] will pick the given channels. Can also be the string values “all” to pick all channels, or “data” to pick data channels. None (default) will pick all channels. Note that channels in info['bads'] will be included if their names or indices are explicitly provided.

index‘time’ | None

Kind of index to use for the DataFrame. If None, a sequential integer index (pandas.RangeIndex) will be used. If 'time', a pandas.Float64Index, pandas.Int64Index, pandas.DatetimeIndex, or pandas.TimedeltaIndex will be used (depending on the value of time_format). Defaults to None.

scalingsdict | None

Scaling factor applied to the channels picked. If None, defaults to dict(eeg=1e6, mag=1e15, grad=1e13) — i.e., converts EEG to µV, magnetometers to fT, and gradiometers to fT/cm.

copybool

If True, data will be copied. Otherwise data may be modified in place. Defaults to True.

startint | None

Starting sample index for creating the DataFrame from a temporal span of the Raw object. None (the default) uses the first sample.

stopint | None

Ending sample index for creating the DataFrame from a temporal span of the Raw object. None (the default) uses the last sample.

long_formatbool

If True, the DataFrame is returned in long format where each row is one observation of the signal at a unique combination of time point and channel. For convenience, a ch_type column is added to facilitate subsetting the resulting DataFrame. Defaults to False.

time_formatstr | None

Desired time format. If None, no conversion is applied, and time values remain as float values in seconds. If 'ms', time values will be rounded to the nearest millisecond and converted to integers. If 'timedelta', time values will be converted to pandas.Timedelta values. If 'datetime', time values will be converted to pandas.Timestamp values, relative to raw.info['meas_date'] and offset by raw.first_samp. Default is None.

New in version 0.20.

verbosebool | str | int | None

Control verbosity of the logging output. If None, use the default verbosity level. See the logging documentation and mne.verbose() for details. Should only be passed as a keyword argument.

Returns:
dfinstance of pandas.DataFrame

A dataframe suitable for usage with other statistical/plotting/analysis packages.

Examples using to_data_frame:

The Raw data structure: continuous data

The Raw data structure: continuous data

The Raw data structure: continuous data

Examples using mne.io.Raw#

Overview of MEG/EEG analysis with MNE-Python

Overview of MEG/EEG analysis with MNE-Python

Overview of MEG/EEG analysis with MNE-Python
Modifying data in-place

Modifying data in-place

Modifying data in-place
Parsing events from raw data

Parsing events from raw data

Parsing events from raw data
The Info data structure

The Info data structure

The Info data structure
Working with sensor locations

Working with sensor locations

Working with sensor locations
Getting started with mne.Report

Getting started with mne.Report

Getting started with mne.Report
Importing data from MEG devices

Importing data from MEG devices

Importing data from MEG devices
Importing data from EEG devices

Importing data from EEG devices

Importing data from EEG devices
Importing data from fNIRS devices

Importing data from fNIRS devices

Importing data from fNIRS devices
Working with CTF data: the Brainstorm auditory dataset

Working with CTF data: the Brainstorm auditory dataset

Working with CTF data: the Brainstorm auditory dataset
The Raw data structure: continuous data

The Raw data structure: continuous data

The Raw data structure: continuous data
Working with events

Working with events

Working with events
Annotating continuous data

Annotating continuous data

Annotating continuous data
Built-in plotting methods for Raw objects

Built-in plotting methods for Raw objects

Built-in plotting methods for Raw objects
Overview of artifact detection

Overview of artifact detection

Overview of artifact detection
Handling bad channels

Handling bad channels

Handling bad channels
Rejecting bad data spans and breaks

Rejecting bad data spans and breaks

Rejecting bad data spans and breaks
Background information on filtering

Background information on filtering

Background information on filtering
Filtering and resampling data

Filtering and resampling data

Filtering and resampling data
Repairing artifacts with ICA

Repairing artifacts with ICA

Repairing artifacts with ICA
Background on projectors and projections

Background on projectors and projections

Background on projectors and projections
Repairing artifacts with SSP

Repairing artifacts with SSP

Repairing artifacts with SSP
Setting the EEG reference

Setting the EEG reference

Setting the EEG reference
Extracting and visualizing subject head movement

Extracting and visualizing subject head movement

Extracting and visualizing subject head movement
Signal-space separation (SSS) and Maxwell filtering

Signal-space separation (SSS) and Maxwell filtering

Signal-space separation (SSS) and Maxwell filtering
The Epochs data structure: discontinuous data

The Epochs data structure: discontinuous data

The Epochs data structure: discontinuous data
Regression-based baseline correction

Regression-based baseline correction

Regression-based baseline correction
Auto-generating Epochs metadata

Auto-generating Epochs metadata

Auto-generating Epochs metadata
Divide continuous data into equally-spaced epochs

Divide continuous data into equally-spaced epochs

Divide continuous data into equally-spaced epochs
The Evoked data structure: evoked/averaged data

The Evoked data structure: evoked/averaged data

The Evoked data structure: evoked/averaged data
EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)

EEG analysis - Event-Related Potentials (ERPs)
Plotting whitened data

Plotting whitened data

Plotting whitened data
Frequency and time-frequency sensor analysis

Frequency and time-frequency sensor analysis

Frequency and time-frequency sensor analysis
Source alignment and coordinate frames

Source alignment and coordinate frames

Source alignment and coordinate frames
Computing a covariance matrix

Computing a covariance matrix

Computing a covariance matrix
EEG source localization given electrode locations on an MRI

EEG source localization given electrode locations on an MRI

EEG source localization given electrode locations on an MRI
Brainstorm Elekta phantom dataset tutorial

Brainstorm Elekta phantom dataset tutorial

Brainstorm Elekta phantom dataset tutorial
Non-parametric 1 sample cluster statistic on single trial power

Non-parametric 1 sample cluster statistic on single trial power

Non-parametric 1 sample cluster statistic on single trial power
Non-parametric between conditions cluster statistic on single trial power

Non-parametric between conditions cluster statistic on single trial power

Non-parametric between conditions cluster statistic on single trial power
Mass-univariate twoway repeated measures ANOVA on single trial power

Mass-univariate twoway repeated measures ANOVA on single trial power

Mass-univariate twoway repeated measures ANOVA on single trial power
Spatiotemporal permutation F-test on full sensor data

Spatiotemporal permutation F-test on full sensor data

Spatiotemporal permutation F-test on full sensor data
Permutation t-test on source data with spatio-temporal clustering

Permutation t-test on source data with spatio-temporal clustering

Permutation t-test on source data with spatio-temporal clustering
Repeated measures ANOVA on source data with spatio-temporal clustering

Repeated measures ANOVA on source data with spatio-temporal clustering

Repeated measures ANOVA on source data with spatio-temporal clustering
Locating intracranial electrode contacts

Locating intracranial electrode contacts

Locating intracranial electrode contacts
Working with sEEG data

Working with sEEG data

Working with sEEG data
Sleep stage classification from polysomnography (PSG) data

Sleep stage classification from polysomnography (PSG) data

Sleep stage classification from polysomnography (PSG) data
Corrupt known signal with point spread

Corrupt known signal with point spread

Corrupt known signal with point spread
Getting averaging info from .fif files

Getting averaging info from .fif files

Getting averaging info from .fif files
Generate simulated evoked data

Generate simulated evoked data

Generate simulated evoked data
Generate simulated raw data

Generate simulated raw data

Generate simulated raw data
Cortical Signal Suppression (CSS) for removal of cortical signals

Cortical Signal Suppression (CSS) for removal of cortical signals

Cortical Signal Suppression (CSS) for removal of cortical signals
Define target events based on time lag, plot evoked response

Define target events based on time lag, plot evoked response

Define target events based on time lag, plot evoked response
Transform EEG data using current source density (CSD)

Transform EEG data using current source density (CSD)

Transform EEG data using current source density (CSD)
Show EOG artifact timing

Show EOG artifact timing

Show EOG artifact timing
Find MEG reference channel artifacts

Find MEG reference channel artifacts

Find MEG reference channel artifacts
Compare the different ICA algorithms in MNE

Compare the different ICA algorithms in MNE

Compare the different ICA algorithms in MNE
Maxwell filter data with movement compensation

Maxwell filter data with movement compensation

Maxwell filter data with movement compensation
Plot sensor denoising using oversampled temporal projection

Plot sensor denoising using oversampled temporal projection

Plot sensor denoising using oversampled temporal projection
XDAWN Denoising

XDAWN Denoising

XDAWN Denoising
How to convert 3D electrode positions to a 2D image

How to convert 3D electrode positions to a 2D image

How to convert 3D electrode positions to a 2D image
Visualize channel over epochs as an image

Visualize channel over epochs as an image

Visualize channel over epochs as an image
Plotting EEG sensors on the scalp

Plotting EEG sensors on the scalp

Plotting EEG sensors on the scalp
Whitening evoked data with a noise covariance

Whitening evoked data with a noise covariance

Whitening evoked data with a noise covariance
Make figures more publication ready

Make figures more publication ready

Make figures more publication ready
Show noise levels from empty room data

Show noise levels from empty room data

Show noise levels from empty room data
Compare evoked responses for different conditions

Compare evoked responses for different conditions

Compare evoked responses for different conditions
Plot custom topographies for MEG sensors

Plot custom topographies for MEG sensors

Plot custom topographies for MEG sensors
Compute a cross-spectral density (CSD) matrix

Compute a cross-spectral density (CSD) matrix

Compute a cross-spectral density (CSD) matrix
Compute Power Spectral Density of inverse solution from single epochs

Compute Power Spectral Density of inverse solution from single epochs

Compute Power Spectral Density of inverse solution from single epochs
Compute power and phase lock in label of the source space

Compute power and phase lock in label of the source space

Compute power and phase lock in label of the source space
Compute source power spectral density (PSD) in a label

Compute source power spectral density (PSD) in a label

Compute source power spectral density (PSD) in a label
Compute induced power in the source space with dSPM

Compute induced power in the source space with dSPM

Compute induced power in the source space with dSPM
Temporal whitening with AR model

Temporal whitening with AR model

Temporal whitening with AR model
Permutation F-test on sensor data with 1D cluster level

Permutation F-test on sensor data with 1D cluster level

Permutation F-test on sensor data with 1D cluster level
FDR correction on T-test on sensor data

FDR correction on T-test on sensor data

FDR correction on T-test on sensor data
Regression on continuous data (rER[P/F])

Regression on continuous data (rER[P/F])

Regression on continuous data (rER[P/F])
Permutation T-test on sensor data

Permutation T-test on sensor data

Permutation T-test on sensor data
Decoding source space data

Decoding source space data

Decoding source space data
Decoding sensor space data with generalization across time and conditions

Decoding sensor space data with generalization across time and conditions

Decoding sensor space data with generalization across time and conditions
Analysis of evoked response using ICA and PCA reduction techniques

Analysis of evoked response using ICA and PCA reduction techniques

Analysis of evoked response using ICA and PCA reduction techniques
XDAWN Decoding From EEG data

XDAWN Decoding From EEG data

XDAWN Decoding From EEG data
Compute effect-matched-spatial filtering (EMS)

Compute effect-matched-spatial filtering (EMS)

Compute effect-matched-spatial filtering (EMS)
Compute MNE-dSPM inverse solution on single epochs

Compute MNE-dSPM inverse solution on single epochs

Compute MNE-dSPM inverse solution on single epochs
Compute sLORETA inverse solution on raw data

Compute sLORETA inverse solution on raw data

Compute sLORETA inverse solution on raw data
Compute evoked ERS source power using DICS, LCMV beamformer, and dSPM

Compute evoked ERS source power using DICS, LCMV beamformer, and dSPM

Compute evoked ERS source power using DICS, LCMV beamformer, and dSPM
Computing source timecourses with an XFit-like multi-dipole model

Computing source timecourses with an XFit-like multi-dipole model

Computing source timecourses with an XFit-like multi-dipole model