# tfa.image.transform

Applies the given transform(s) to the image(s).

### Used in the notebooks

Used in the tutorials

`images` A tensor of shape (num_images, num_rows, num_columns, num_channels) (NHWC), (num_rows, num_columns, num_channels) (HWC), or (num_rows, num_columns) (HW).
`transforms` Projective transform matrix/matrices. A vector of length 8 or tensor of size N x 8. If one row of transforms is [a0, a1, a2, b0, b1, b2, c0, c1], then it maps the output point `(x, y)` to a transformed input point `(x', y') = ((a0 x + a1 y + a2) / k, (b0 x + b1 y + b2) / k)`, where `k = c0 x + c1 y + 1`. The transforms are inverted compared to the transform mapping input points to output points. Note that gradients are not backpropagated into transformation parameters.
`interpolation` Interpolation mode. Supported values: "nearest", "bilinear".
`fill_mode` Points outside the boundaries of the input are filled according to the given mode (one of `{'constant', 'reflect', 'wrap', 'nearest'}`).

• reflect: `(d c b a | a b c d | d c b a)` The input is extended by reflecting about the edge of the last pixel.
• constant: `(k k k k | a b c d | k k k k)` The input is extended by filling all values beyond the edge with the same constant value k = 0.
• wrap: `(a b c d | a b c d | a b c d)` The input is extended by wrapping around to the opposite edge.
• nearest: `(a a a a | a b c d | d d d d)` The input is extended by the nearest pixel.
`fill_value` a float represents the value to be filled outside the boundaries when `fill_mode` is "constant".
`output_shape` Output dimesion after the transform, [height, width]. If None, output is the same size as input image.
`name` The name of the op.

Image(s) with the same type and shape as `images`, with the given transform(s) applied. Transformed coordinates outside of the input image will be filled with zeros.

`TypeError` If `image` is an invalid type.
`ValueError` If output shape is not 1-D int32 Tensor.

[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }]
[{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]