Supported Operations

Augmentor provides a wide variety of build-in image operations. This page provides an overview of all exported operations organized by their main category. These categories are chosen because they serve some practical purpose. For example Affine Operations allow for a special optimization under the hood when chained together.

Affine Transformations

A sizeable amount of the provided operations fall under the category of affine transformations. As such, they can be described using what is known as an affine map, which are inherently compose-able if chained together. However, utilizing such a affine formulation requires (costly) interpolation, which may not always be needed to achieve the desired effect. For that reason do some of the operations below also provide a special purpose implementation to produce their specified result. Those are usually preferred over the affine formulation if sensible considering the complete pipeline.

flip the input image horizontally or vertically

card-cover-image

rotate image anticlockwise

card-cover-image

shear the input image horizontally or vertically

card-cover-image

Relatively resizing image

card-cover-image

Set the static size of the image

card-cover-image

Scale without resize

card-cover-image

Distortions

Aside from affine transformations, Augmentor also provides functionality for performing a variety of distortions. These types of operations usually provide a much larger distribution of possible output images.

Smoothed random distortion

card-cover-image

Color adjustments

Adjust contrast and brightness of an image

card-cover-image

Blurring

blur the input image using a gaussian kernel

card-cover-image

Resizing and Subsetting

The process of cropping is useful to discard parts of the input image. To provide this functionality lazily, applying a crop introduces a layer of representation called a "view" or SubArray. This is different yet compatible with how affine operations or other special purpose implementations work. This means that chaining a crop with some affine operation is perfectly fine if done sequentially. However, it is generally not advised to combine affine operations with crop operations within an Either block. Doing that would force the Either to trigger the eager computation of its branches in order to preserve type-stability.

Subset image using Crop and CropNative

card-cover-image

Crop centered window to given size

card-cover-image

Crop centered window to fit given aspect ratio

card-cover-image

Misc

a set of commonly used basic operations that wrapped by Augmentor

card-cover-image

a set of helper operations that may be useful when compositing more complex augmentation workflow

card-cover-image

a set of helper opeartions that allow applying any function

card-cover-image