# Augmentation This page outlines the unit test coverage for the `augmentation.py` module, which applies configurable image augmentations to labeled datasets using Albumentations. It ensures the generation of augmented images and updated label JSONs while preserving bounding box structure. --- ## Coverage Overview This suite tests the following components: - `build_augmentation_transform`: Builds the augmentation pipeline from a configuration dictionary. - `augment_images`: Applies augmentations to matched image-label pairs. - `augment_dataset`: Full pipeline integration test using a real image and JSON file. --- ## Fixtures ### `sample_config` Provides a valid augmentation configuration dictionary with all probabilities set to 1.0 to force all transforms to apply. Includes: - Horizontal flip - Brightness/contrast - Hue/saturation - Gaussian blur and noise - Grayscale - Rotation ### `temp_image_and_json` Creates a temporary test image and its corresponding JSON label in a valid format: - Bounding box: `[10, 10, 50, 50]` - Class: `"FireBSI"` - Confidence: `0.9` --- ## Function Tests ### `build_augmentation_transform` - `test_build_augmentation_transform`: Validates that the transform pipeline builds successfully and is callable. --- ### `augment_images` - `test_augment_images_creates_augmented_files`: Verifies that the correct number of augmented images and labels are created based on `num_augmentations`. Also checks that each output JSON contains a valid `predictions` list. --- ### `augment_dataset` - `test_augment_dataset_integration`: Integration test that simulates a full run of the `augment_dataset()` pipeline. It: - Copies the image to an input directory - Creates a valid labeled directory containing its JSON label - Runs the pipeline - Verifies that augmented images and labels are created in the output directory --- ## Summary This page outlines a focused test suite ensuring: - Augmentation configurations are valid and interpretable - Image-label pairs are augmented correctly and written to disk - End-to-end augmentation logic functions as expected in a simulated pipeline environment These tests confirm that the augmentation module integrates safely and predictably with the rest of the AutoML pipeline.