# Class: AffineTransformAugmenter

## AffineTransformAugmenter(opts, keepSizeopt)

Applies affine transformations to images.

## Constructor

#### new AffineTransformAugmenter(opts, keepSizeopt)

##### Parameters:

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---

`opts`

Object

options

###### Properties

Name | Type | Attributes | Default | Description
--- | --- | --- | --- | ---
`translatePercent` | ArrayXY | <optional> | [0,0] | translates
`scale` | ArrayXY | <optional> | [1,1] | scale percent
`rotate` | NumberArgument | <optional> | 0 | degrees of rotation
`shear` | NumberArgument | <optional> | 0 | degrees of shear

`keepSize` | BooleanArgument | <optional> | false | If true, the output image plane size will be fitted to the distorted image size, i.e. images rotated by 45deg will not be partially outside of the image plane. WARNING : not implemented yet
`opts.borderValue` | ColorArgument | <optional> | [0,0,0] | if borderType is "constant" this is used as border pixel values
`opts.borderType` | BorderTypeArgument | <optional> | "constant" | "constant", "replicate", "transparent"

Source:
  - affine-transform.js, line 46

##### Examples

    // Simple usage, Affine transform with scale change
    ia.affine({scale: 1.2});

    // Affine transform with rotation of 90° and random scale between 100% and 150%
    ia.affine({scale: h.number(1, 1.5), rotate: 90});