def build_parent_parser()

in broadcast-monitoring/scripts/generate-logo-images.py [0:0]


def build_parent_parser():
    parser = argparse.ArgumentParser(add_help=False)
    parser.add_argument('base_dir', help='a directory containing subdirectories of logo images')

    parser.add_argument('--local', action='store_true')

    parser.add_argument(
        '--bucket',
        '--s3-bucket',
        dest='s3_bucket',
        action=env_default('S3_BUCKET'),
        help='S3 bucket name to store results; defualts to env variable when not specified'
    )
    parser.add_argument(
        '--s3-key-prefix', default='images', help='prefix to use when generating keys to store objects'
    )
    parser.add_argument(
        '--count', type=int, default=10, help='number of augmented images to generate per source image'
    )
    parser.add_argument(
        '--filter',
        dest='label_filter',
        nargs='+',
        metavar='label_name',
        help='labels(subdirectory names) under base_dir to filter'
    )
    parser.add_argument('--seed', default=314159, nargs='?', metavar='seed', type=int, help='random seed value')
    parser.add_argument(
        '--rotate',
        default=DEFAULT_IMAGE_ROTATE,
        metavar=('min', 'max'),
        nargs=2,
        type=float,
        help=f'rotation range in degrees default: {DEFAULT_IMAGE_ROTATE}'
    )
    parser.add_argument(
        '--scale',
        default=DEFAULT_IMAGE_SCALE,
        metavar=('min', 'max'),
        nargs=2,
        type=float,
        help=f'a range to scale an image default: {DEFAULT_IMAGE_SCALE}'
    )

    parser.add_argument(
        '--shear',
        default=DEFAULT_IMAGE_SHEAR,
        metavar=('min', 'max'),
        nargs=2,
        type=float,
        help=f'a range to shear an image default: {DEFAULT_IMAGE_SHEAR}'
    )

    parser.add_argument(
        '--opacity',
        default=DEFAULT_OPACITY_RANGE,
        metavar=('min', 'max'),
        nargs=2,
        type=float,
        help=f'an opacity range to set the opacity of an imagea default: {DEFAULT_OPACITY_RANGE}'
    )

    parser.add_argument(
        '--noise',
        default=(0, 0),
        metavar=('min', 'max'),
        nargs=2,
        type=float,
        help=f'gaussian noise to add to the logos default: (0, 0)'
    )

    parser.add_argument(
        '--grayscale',
        default=(0.0, 1.0),
        metavar=('min', 'max'),
        nargs=2,
        type=float,
        help=f'randomly apply the grayscale augmenter default: (0, 0)'
    )

    return parser