braindecode.preprocessing.OversampledTemporalProjection#
- class braindecode.preprocessing.OversampledTemporalProjection(duration=10.0, picks=None, verbose=None)[source]#
Braindecode preprocessor wrapper for
oversampled_temporal_projection().Denoise MEG channels using leave-one-out temporal projection.
- Parameters:
- rawinstance of Raw
Raw data to denoise.
- durationfloat | str
The window duration (in seconds; default 10.) to use. Can also be “min” to use as short a window as possible.
- picksstr | array-like | 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 ininfo['bads']will be included if their names or indices are explicitly provided.- verbosebool | str | int | None
Control verbosity of the logging output. If
None, use the default verbosity level. See the logging documentation andmne.verbose()for details. Should only be passed as a keyword argument.
- Returns:
- raw_cleaninstance of Raw
The cleaned data.
Notes
This algorithm is computationally expensive, and can be several times slower than realtime for conventional M/EEG datasets. It uses a leave-one-out procedure with parallel temporal projection to remove individual sensor noise under the assumption that sampled fields (e.g., MEG and EEG) are oversampled by the sensor array [1].
OTP can improve sensor noise levels (especially under visual inspection) and repair some bad channels. This noise reduction is known to interact with
tSSSsuch that increasing thest_correlationvalue will likely be necessary.Channels marked as bad will not be used to reconstruct good channels, but good channels will be used to process the bad channels. Depending on the type of noise present in the bad channels, this might make them usable again.
Use of this algorithm is covered by a provisional patent.
Added in version 0.16.
Methods
- fn(duration=10.0, picks=None, verbose=None)[source]#
Denoise MEG channels using leave-one-out temporal projection.
- Parameters:
raw (instance of Raw) – Raw data to denoise.
duration (float | str) – The window duration (in seconds; default 10.) to use. Can also be “min” to use as short a window as possible.
picks (str | array-like | 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 ininfo['bads']will be included if their names or indices are explicitly provided.verbose (bool | str | int | None) – Control verbosity of the logging output. If
None, use the default verbosity level. See the logging documentation andmne.verbose()for details. Should only be passed as a keyword argument.
- Returns:
raw_clean – The cleaned data.
- Return type:
instance of Raw
Notes
This algorithm is computationally expensive, and can be several times slower than realtime for conventional M/EEG datasets. It uses a leave-one-out procedure with parallel temporal projection to remove individual sensor noise under the assumption that sampled fields (e.g., MEG and EEG) are oversampled by the sensor array [1].
OTP can improve sensor noise levels (especially under visual inspection) and repair some bad channels. This noise reduction is known to interact with
tSSSsuch that increasing thest_correlationvalue will likely be necessary.Channels marked as bad will not be used to reconstruct good channels, but good channels will be used to process the bad channels. Depending on the type of noise present in the bad channels, this might make them usable again.
Use of this algorithm is covered by a provisional patent.
Added in version 0.16.
References