RandomWindowWarp¶
- class torcheeg.transforms.RandomWindowWarp(window_size: int = 12, warp_size: int = 24, series_dim: int = -1, p: float = 0.5, apply_to_baseline: bool = False)[source][source]¶
Apply the window warping with a given probability, where a part of time series data is warpped by speeding it up or down.
transform = RandomWindowWarp() transform(eeg=torch.randn(32, 128))['eeg'].shape >>> (32, 128) transform = RandomWindowWarp(window_size=24, warp_size=48) transform(eeg=torch.randn(1, 32, 128))['eeg'].shape >>> (1, 32, 128) transform = RandomWindowWarp(p=1.0, series_dim=0) transform(eeg=torch.randn(128, 9, 9))['eeg'].shape >>> (128, 9, 9)
- Parameters:
window_size (int) – Randomly pick a window of size window_size on the time series to transform. (default:
-1
)warp_size (int) – The size of the window after the warp. If warp_size is larger than window_size, it means slowing down, and if warp_size is smaller than window_size, it means speeding up. (default:
24
)series_dim (int) – Dimension of the time series in the input tensor. (default:
-1
)p (float) – Probability of applying random mask on EEG signal samples. Should be between 0.0 and 1.0, where 0.0 means no mask is applied to every sample and 1.0 means that masks are applied to every sample. (default:
0.5
)apply_to_baseline – (bool): Whether to act on the baseline signal at the same time, if the baseline is passed in when calling. (default:
False
)
- __call__(*args, eeg: Tensor, baseline: Tensor | None = None, **kwargs) Dict[str, Tensor] [source][source]¶
- Parameters:
eeg (torch.Tensor) – The input EEG signal.
baseline (torch.Tensor, optional) – The corresponding baseline signal, if apply_to_baseline is set to True and baseline is passed, the baseline signal will be transformed with the same way as the experimental signal.
- Returns:
The output EEG signal after applying a random window warping.
- Return type:
torch.Tensor