albumentations.augmentations.dropout.xy_masking
Apply horizontal or vertical masking strips to simulate occlusion. Useful for spectrograms (spectral/frequency masking).
Members
- classXYMasking
XYMaskingclass
XYMasking(
num_masks_x: tuple[int, int] | int = 0,
num_masks_y: tuple[int, int] | int = 0,
mask_x_length: tuple[int, int] | int = 0,
mask_y_length: tuple[int, int] | int = 0,
fill: tuple[float, ...] | float | random | random_uniform | inpaint_telea | inpaint_ns = 0,
fill_mask: tuple[float, ...] | float | None,
p: float = 0.5
)Apply horizontal or vertical masking strips to simulate occlusion. Useful for spectrograms (spectral/frequency masking). Useful for training with varied visibility conditions; spectral and frequency masking can improve model robustness (e.g. SpecAugment-style). At least one of `max_x_length` or `max_y_length` must be specified, dictating the mask's maximum size along each axis.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
| num_masks_x | One of:
| 0 | Number or range of horizontal regions to mask. Defaults to 0. |
| num_masks_y | One of:
| 0 | Number or range of vertical regions to mask. Defaults to 0. |
| mask_x_length | One of:
| 0 | Specifies the length of the masks along the X (horizontal) axis. If an integer is provided, it sets a fixed mask length. If a tuple of two integers (min, max) is provided, the mask length is randomly chosen within this range for each mask. This allows for variable-length masks in the horizontal direction. |
| mask_y_length | One of:
| 0 | Specifies the height of the masks along the Y (vertical) axis. Similar to `mask_x_length`, an integer sets a fixed mask height, while a tuple (min, max) allows for variable-height masks, chosen randomly within the specified range for each mask. This flexibility facilitates creating masks of various sizes in the vertical direction. |
| fill | One of:
| 0 | Value for the dropped pixels. Can be: - int or float: all channels are filled with this value - tuple: tuple of values for each channel - 'random': each pixel is filled with random values - 'random_uniform': each hole is filled with a single random color - 'inpaint_telea': uses OpenCV Telea inpainting method - 'inpaint_ns': uses OpenCV Navier-Stokes inpainting method Default: 0 |
| fill_mask | One of:
| - | Fill value for dropout regions in the mask. If None, mask regions corresponding to image dropouts are unchanged. Default: None |
| p | float | 0.5 | Probability of applying the transform. Defaults to 0.5. |
Notes
Either `max_x_length` or `max_y_length` or both must be defined.