ImageForwardTransformation
✖
ImageForwardTransformation
gives an image in which each pixel at position f[{x,y}] corresponds to the position {x,y} in image.
Details and Options



- ImageForwardTransformation[image, f], also known as forward transformation, transforms every pixel at position {x,y} in image to position f[{x,y}] in the output image.
- ImageForwardTransformation[image,f] gives an image of the same size as the original.
- ImageForwardTransformation works with arbitrary 2D images.
- The pixel positions in the original image are assumed to run from 0 to 1 in the horizontal direction and from 0 to the aspect ratio in the vertical direction.
- Possible settings for size are:
-
Automatic automatic image size All same as input image size width explicit width, automatic height {width,height} explicit width and height {width,depth,height} explicit width, depth and height in 3D - For possible width, depth and height specifications, see the reference page for ImageResize.
- For possible size specifications, see the reference page for ImageResize.
- ImageForwardTransformation can take the following options:
-
Background Black background value DataRange Automatic assumed range of and
values in the original image
Method Automatic interpolation method to use PlotRange Automatic range of coordinates to be included in the result of the transformation - Typical settings for DataRange include:
-
Automatic {{0,1},{0,h/w}} in 2D, {{0,1},{0,d/w},{0,h/w}} in 3D Full {{0,w},{0,h}} in 2D, {{0,1},{0,d},{0,h}} in 3D {{left,right},{bottom,top}} explicit coordinate ranges in 2D {{left,right},{front,back},{bottom,top}} explicit coordinate ranges in 3D - The coordinate system of the resulting image is specified by the PlotRange option. Typical settings include:
-
Automatic same as DataRange settings All try to include all of the transformed pixels Full same ranges as the input image {{left,right},…} explicit coordinate ranges - When PlotRange is not Automatic, size is chosen based on the size of the original image and the ratio of PlotRange and DataRange.
- By default, transformed points are interpolated using Method->"Interpolated". Use MethodNone to avoid interpolation.

Examples
open allclose allBasic Examples (1)Summary of the most common use cases
Scope (8)Survey of the scope of standard use cases
Data (3)
Transformation (4)
Use any function for the transformation:

https://wolfram.com/xid/0tqdenl27bqrhy-y5uxf

https://wolfram.com/xid/0tqdenl27bqrhy-d61x1q


https://wolfram.com/xid/0tqdenl27bqrhy-ba20vz


https://wolfram.com/xid/0tqdenl27bqrhy-7rgfnf


https://wolfram.com/xid/0tqdenl27bqrhy-eusbug

Operate explicitly on and
pixel positions:

https://wolfram.com/xid/0tqdenl27bqrhy-2yk8tu

https://wolfram.com/xid/0tqdenl27bqrhy-bfn89b

Operate on the vertical dimension only:

https://wolfram.com/xid/0tqdenl27bqrhy-gpejm

Perform a matrix transformation:

https://wolfram.com/xid/0tqdenl27bqrhy-ehox3b

Use a geometric transform function:

https://wolfram.com/xid/0tqdenl27bqrhy-ie673u

Rotate image around its center using rotation transform:

https://wolfram.com/xid/0tqdenl27bqrhy-bkfq3t

Size (1)
By default, the output image is of the same size as the input image:

https://wolfram.com/xid/0tqdenl27bqrhy-jzi98t

https://wolfram.com/xid/0tqdenl27bqrhy-e2tu9


https://wolfram.com/xid/0tqdenl27bqrhy-h59h6

Specify the size of the resulting image:

https://wolfram.com/xid/0tqdenl27bqrhy-cd02y6

Specify width and height explicitly:

https://wolfram.com/xid/0tqdenl27bqrhy-fz8pl


https://wolfram.com/xid/0tqdenl27bqrhy-czw4x3


https://wolfram.com/xid/0tqdenl27bqrhy-kieyr

Use All to obtain an image of the same size as the original:

https://wolfram.com/xid/0tqdenl27bqrhy-dbn6rs

Options (4)Common values & functionality for each option
Background (1)
DataRange (1)
By default, DataRange->Automatic is used:

https://wolfram.com/xid/0tqdenl27bqrhy-fp93

https://wolfram.com/xid/0tqdenl27bqrhy-bfgcxm

Use DataRange->Full when defining translation in pixel coordinates:

https://wolfram.com/xid/0tqdenl27bqrhy-cfvto8

Specify a custom DataRange:

https://wolfram.com/xid/0tqdenl27bqrhy-bu5hl4

Choose a data range symmetric on the axis to show a vertical reflection:

https://wolfram.com/xid/0tqdenl27bqrhy-b0gt5w

Adjust the plot range to include all image pixels:

https://wolfram.com/xid/0tqdenl27bqrhy-bds8f4

Method (1)
PlotRange (1)
By default, the output image retains the plot range of the input image:

https://wolfram.com/xid/0tqdenl27bqrhy-pg5ca

Use PlotRange->All to view all transformed image pixels:

https://wolfram.com/xid/0tqdenl27bqrhy-gtrdwa

Use explicit plot range values:

https://wolfram.com/xid/0tqdenl27bqrhy-bnfka4

Use pixel coordinates with PlotRangeFull option:

https://wolfram.com/xid/0tqdenl27bqrhy-f5ph3

Applications (3)Sample problems that can be solved with this function
Reverse an unknown geometric transformation by determining the transformation function from a pair of images:

https://wolfram.com/xid/0tqdenl27bqrhy-c90uw5

Apply the transformation to the transformed image:

https://wolfram.com/xid/0tqdenl27bqrhy-ebxyag


https://wolfram.com/xid/0tqdenl27bqrhy-cvz5w5


https://wolfram.com/xid/0tqdenl27bqrhy-g7crup

Properties & Relations (3)Properties of the function, and connections to other functions

https://wolfram.com/xid/0tqdenl27bqrhy-fip0f9

ImageTransformation does the opposite:

https://wolfram.com/xid/0tqdenl27bqrhy-i546ch

Reversing pixel coordinates is an operation that gives the same result for forward and reverse transforms:

https://wolfram.com/xid/0tqdenl27bqrhy-70iwl0


https://wolfram.com/xid/0tqdenl27bqrhy-vm4cr1

Doing a transformation with a function and its inverse gives back the original image with some blurring due to interpolation:

https://wolfram.com/xid/0tqdenl27bqrhy-mzpyba

Neat Examples (3)Surprising or curious use cases
Wolfram Research (2010), ImageForwardTransformation, Wolfram Language function, https://reference.wolfram.com/language/ref/ImageForwardTransformation.html (updated 2021).
Text
Wolfram Research (2010), ImageForwardTransformation, Wolfram Language function, https://reference.wolfram.com/language/ref/ImageForwardTransformation.html (updated 2021).
Wolfram Research (2010), ImageForwardTransformation, Wolfram Language function, https://reference.wolfram.com/language/ref/ImageForwardTransformation.html (updated 2021).
CMS
Wolfram Language. 2010. "ImageForwardTransformation." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/ImageForwardTransformation.html.
Wolfram Language. 2010. "ImageForwardTransformation." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021. https://reference.wolfram.com/language/ref/ImageForwardTransformation.html.
APA
Wolfram Language. (2010). ImageForwardTransformation. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ImageForwardTransformation.html
Wolfram Language. (2010). ImageForwardTransformation. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ImageForwardTransformation.html
BibTeX
@misc{reference.wolfram_2025_imageforwardtransformation, author="Wolfram Research", title="{ImageForwardTransformation}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/ImageForwardTransformation.html}", note=[Accessed: 07-June-2025
]}
BibLaTeX
@online{reference.wolfram_2025_imageforwardtransformation, organization={Wolfram Research}, title={ImageForwardTransformation}, year={2021}, url={https://reference.wolfram.com/language/ref/ImageForwardTransformation.html}, note=[Accessed: 07-June-2025
]}