brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
augmentation-pipelinesUse when building, combining, or debugging imgaug image augmentation pipelines, augmenter families, or deterministic image-only transforms.
Independent GitHub snapshot · Automated classification · Original documentation governs
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.
iaa.Sequential, iaa.SomeOf, iaa.OneOf, iaa.Sometimes, and iaa.WithChannels.imgcorruptlike when installed.to_deterministic().uint8 expectations, and shape preservation when keep_size=True.../augmentables-and-batches/SKILL.md.../parameters-random-and-utilities/SKILL.md.Pool behavior belong to ../multicore-and-diagnostics/SKILL.md.references/pipeline-workflows.md for the minimal image-pipeline recipes.references/augmenter-family-reference.md for family selection and parameter defaults.scripts/generate_augmentation_contact_sheet.py when you need a safe contact sheet or a tiny visual smoke.references/troubleshooting.md if the pipeline gives unexpected shapes, dtypes, or color results.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.
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.
Sequential for ordered pipelines.SomeOf when a bounded subset of augmenters should run.OneOf when exactly one branch should run.Sometimes for probability-gated branches.WithChannels when only selected channels should change.fit_output=False and keep_size=True as safe defaults until a task explicitly needs output resizing.uint8/RGB in mind when the task starts from OpenCV or camera data.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.A good image-pipeline smoke should prove three things:
Use the bundled script to check those properties with tiny arrays before moving to annotation-aware or multicore workflows.