"Use when building, combining, or debugging imgaug image
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill augmentation-pipelines --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Augmentation Pipelines?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-augmentation-pipelines)More formats (shields.io, HTML) on the badges page.
---
name: augmentation-pipelines
description: "Use when building, combining, or debugging imgaug image
augmentation pipelines, augmenter families, or deterministic image-only
transforms."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# Augmentation Pipelines
Use this sub-skill when the task is about **image augmentation pipelines** in imgaug: choosing augmenter families, composing them with `Sequential`/`SomeOf`/`OneOf`/`Sometimes`, applying transforms deterministically, or debugging image-only augmentation behavior.
## What this sub-skill covers
- Pipeline composition with `iaa.Sequential`, `iaa.SomeOf`, `iaa.OneOf`, `iaa.Sometimes`, and `iaa.WithChannels`.
- Image-only use of common augmenter families: affine/geometric, crop/pad/resize, blur, arithmetic/noise, color, contrast, blend/overlay, segmentation/superpixels, weather, PIL-like effects, and `imgcorruptlike` when installed.
- Deterministic pipeline reuse with `to_deterministic()`.
- Basic image input/output conventions: NHWC arrays, RGB order, `uint8` expectations, and shape preservation when `keep_size=True`.
- Safe visualization and contact-sheet generation via bundled helpers.
## What it does not cover
- Annotation object construction and batch normalization details belong to [`../augmentables-and-batches/SKILL.md`](../augmentables-and-batches/SKILL.md).
- Random seed, stochastic parameter, dtype, and sample-data details belong to [`../parameters-random-and-utilities/SKILL.md`](../parameters-random-and-utilities/SKILL.md).
- Background multiprocessing and `Pool` behavior belong to [`../multicore-and-diagnostics/SKILL.md`](../multicore-and-diagnostics/SKILL.md).
## Typical triggers
- “How do I build an imgaug pipeline with flips, affine, blur, and color jitter?”
- “Why did my augmentation change the image shape?”
- “How do I apply the same sampled transform twice?”
- “Which augmenter should I use for cropping, padding, weather, or superpixels?”
## Fast path
1. Read [`references/pipeline-workflows.md`](references/pipeline-workflows.md) for the minimal image-pipeline recipes.
2. Read [`references/augmenter-family-reference.md`](references/augmenter-family-reference.md) for family selection and parameter defaults.
3. Run [`scripts/generate_augmentation_contact_sheet.py`](scripts/generate_augmentation_contact_sheet.py) when you need a safe contact sheet or a tiny visual smoke.
4. Read [`references/troubleshooting.md`](references/troubleshooting.md) if the pipeline gives unexpected shapes, dtypes, or color results.
## Core usage pattern
Image pipelines usually take `numpy.ndarray` input of shape `(N, H, W, C)` or a list of `(H, W, C)` arrays. Most examples assume RGB `uint8` images.
```python
import numpy as np
import imgaug.augmenters as iaa
images = np.zeros((4, 64, 64, 3), dtype=np.uint8)
seq = iaa.Sequential([
iaa.Fliplr(0.5),
iaa.Affine(rotate=(-10, 10), translate_px={"x": (-2, 2)}),
iaa.GaussianBlur(sigma=(0.0, 1.0)),
])
images_aug = seq(images=images)
```
Use `to_deterministic()` when you need the same sampled transform in separate calls. Prefer a single call containing all aligned data whenever the task also includes annotations.
## Common pipeline decisions
- Use `Sequential` for ordered pipelines.
- Use `SomeOf` when a bounded subset of augmenters should run.
- Use `OneOf` when exactly one branch should run.
- Use `Sometimes` for probability-gated branches.
- Use `WithChannels` when only selected channels should change.
- Use `fit_output=False` and `keep_size=True` as safe defaults until a task explicitly needs output resizing.
- Keep `uint8`/RGB in mind when the task starts from OpenCV or camera data.
## Handy families and when to reach for them
- `Affine`, `PerspectiveTransform`, `ElasticTransformation`, `Jigsaw`: geometric distortions.
- `Crop`, `Pad`, `CropAndPad`, `Resize`, `KeepSizeByResize`: size and framing.
- `GaussianBlur`, `AverageBlur`, `MedianBlur`, `MotionBlur`, `BilateralBlur`, `MeanShiftBlur`: smoothing/blur.
- `Add`, `Multiply`, `Dropout`, `CoarseDropout`, `Invert`, `Solarize`, `JpegCompression`: arithmetic/noise/compression.
- `WithHueAndSaturation`, `ChangeColorspace`, `Grayscale`, `Posterize`, `KMeansColorQuantization`, `UniformColorQuantization`: color and palette changes.
- `LinearContrast`, `GammaContrast`, `HistogramEqualization`, `CLAHE`: contrast shaping.
- `BlendAlpha`, `SimplexNoiseAlpha`, `FrequencyNoiseAlpha`: masked blending and partial effects.
- `Superpixels`, `Voronoi`, `Snowflakes`, `Rain`, `Fog`, `Clouds`, `FastSnowyLandscape`: segmentation-like and weather effects.
## Validation mindset
A good image-pipeline smoke should prove three things:
1. The output image array keeps the expected shape and dtype.
2. The pipeline actually changes pixels when it should.
3. A deterministic replay produces identical results.
Use the bundled script to check those properties with tiny arrays before moving to annotation-aware or multicore workflows.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!