braindecode.augmentation.ChannelsShuffle

class braindecode.augmentation.ChannelsShuffle(probability, p_shuffle=0.2, random_state=None)

Randomly shuffle channels in EEG data matrix.

Part of the CMSAugment policy proposed in [1]

Parameters
probability: float

Float setting the probability of applying the operation.

p_shuffle: float | None, optional

Float between 0 and 1 setting the probability of including the channel in the set of permuted channels. Defaults to 0.2.

random_state: int | numpy.random.Generator, optional

Seed to be used to instantiate numpy random number generator instance. Used to decide whether or not to transform given the probability argument, to sample which channels to shuffle and to carry the shuffle. Defaults to None.

References

1

Saeed, A., Grangier, D., Pietquin, O., & Zeghidour, N. (2020). Learning from Heterogeneous EEG Signals with Differentiable Channel Reordering. arXiv preprint arXiv:2010.13694.

Methods

get_params(*batch)

Return transform parameters.

Parameters
Xtensor.Tensor

The data.

ytensor.Tensor

The labels.

Returns
paramsdict

Contains

  • p_shufflefloat

    Float between 0 and 1 setting the probability of including the channel in the set of permuted channels.

  • random_statenumpy.random.Generator

    The generator to use.

static operation(X, y, p_shuffle, random_state=None)

Randomly shuffle channels in EEG data matrix.

Part of the CMSAugment policy proposed in [1]

Parameters
Xtorch.Tensor

EEG input example or batch.

ytorch.Tensor

EEG labels for the example or batch.

p_shuffle: float | None

Float between 0 and 1 setting the probability of including the channel in the set of permutted channels.

random_state: int | numpy.random.Generator, optional

Seed to be used to instantiate numpy random number generator instance. Used to sample which channels to shuffle and to carry the shuffle. Defaults to None.

Returns
torch.Tensor

Transformed inputs.

torch.Tensor

Transformed labels.

References

1

Saeed, A., Grangier, D., Pietquin, O., & Zeghidour, N. (2020). Learning from Heterogeneous EEG Signals with Differentiable Channel Reordering. arXiv preprint arXiv:2010.13694.