braindecode.augmentation.ChannelsShuffle#

class braindecode.augmentation.ChannelsShuffle(probability, p_shuffle=0.2, random_state=None)[source]#

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_augmentation_params(*batch)[source]#

Return transform parameters.

Parameters:
  • X (tensor.Tensor) – The data.

  • y (tensor.Tensor) – The labels.

Returns:

params – 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.

Return type:

dict

static operation(X, y, p_shuffle, random_state=None)[source]#

Randomly shuffle channels in EEG data matrix.

Part of the CMSAugment policy proposed in [1]

Parameters:
  • X (torch.Tensor) – EEG input example or batch.

  • y (torch.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.