name: parameters-random-and-utilities
description: "Use when controlling imgaug stochastic parameters, seeds,
deterministic replay, dtype conversion, sample data, grids, or utility
helpers."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
Parameters, Randomness, and Utilities
Use this sub-skill when the task is about how imgaug samples augmentation parameters, controls reproducibility, handles dtype/range conversion, loads built-in example data, or uses utility functions such as resizing, grids, and display helpers.
What this sub-skill covers
- Parameter shortcuts: scalar values,
(a, b) tuples, lists, and imgaug.parameters.StochasticParameter objects.
- Distribution objects such as
Choice, Uniform, Normal, and Clip.
- Seeds,
RNG, deterministic replay, and deprecated random_state/deterministic API warnings.
- Dtype conversion, clipping, range checks, and compatibility with current NumPy.
- Sample quokka images and annotations from
imgaug.data.
- Utility helpers: resize, draw grids, and headless-safe visualization alternatives.
What it does not cover
Typical triggers
- “How do tuple parameters work in imgaug?”
- “Make this imgaug pipeline reproducible.”
- “Why does imgaug warn about
random_state?”
- “Use the built-in quokka image as a tiny fixture.”
- “Fix dtype clipping or NumPy import errors.”
Fast path
- Read
references/parameters-and-rng.md for stochastic parameters and reproducibility.
- Read
references/data-and-dtype-utilities.md for dtype helpers, resizing, grids, and sample data.
- Run
scripts/smoke_parameters_and_data.py to verify parameter sampling, quokka data, and dtype conversion.
- Read
references/troubleshooting.md for NumPy 2, deprecations, dtype range, and display failures.
Core parameter pattern
Many augmenter parameters accept flexible forms:
import imgaug.augmenters as iaa
import imgaug.parameters as iap
# Shortcut for a uniform blur range.
blur = iaa.GaussianBlur(sigma=(0.0, 3.0))
# Explicit stochastic distribution clipped to a safe range.
param = iap.Clip(iap.Normal(1.0, 0.1), 0.1, 3.0)
blur2 = iaa.GaussianBlur(sigma=param)
Reproducibility pattern
Use a seed on an augmenter or convert a pipeline to deterministic form when the same sampled transform must be replayed.
seq = iaa.Sequential([iaa.Fliplr(0.5), iaa.Add((0, 5))], seed=1)
det = seq.to_deterministic()
out_a = det(images=images)
out_b = det(images=images)
For aligned images and annotations, a single call containing every augmentable remains the safest pattern.
Utility warning signs
AttributeError involving np.sctypes: install numpy<2 for imgaug 0.4.0.
- Unexpected clipping or rounding: inspect dtype helpers and value ranges before conversion.
- Display failure on a server: avoid
ia.imshow; write grids to image files instead.
- Deprecation warnings around
random_state or deterministic: prefer seed, RNG, and to_deterministic() patterns.