Back to Aurora Vision Library website

You are here: Start » Function Reference » Image » Image Spatial Transforms » ImageInversePolarTransform


Header: AVL.h
Namespace: avl
Module: FoundationBasic

Transforms an image from polar or log-polar space to euclidean space.


void avl::ImageInversePolarTransform
	const avl::Image& inImage,
	const avl::Point2D& inCenter,
	avl::PolarSpaceType::Type inInputSpaceType,
	avl::PolarInterpolationMethod::Type inInterpolation,
	avl::Image& outImage


Name Type Default Description
Input value
inImage const Image& Input image
Input value
inCenter const Point2D& Center of the coordinate system in output image
Input value
inInputSpaceType PolarSpaceType::Type Method of transformation
Input value
inInterpolation PolarInterpolationMethod::Type Method of underlying interpolation
Output value
outImage Image& Output image


For input inImage only pixel formats are supported: 1⨯uint8, 3⨯uint8, 1⨯int16, 3⨯int16, 1⨯uint16, 3⨯uint16, 1⨯real, 3⨯real.

Read more about pixel formats in Image documentation.


Reverses ImagePolarTransform using the following transformation:

\[ src(x,y) = dst(\rho, \phi) \]


\[ \rho = m \sqrt{x^2 + y^2} , \phi = \arctan(\frac{y}{x}), \]

for linear-polar space, and

\[ \rho = k \log{\sqrt{x^2+y^2} }, \phi = \arctan(\frac{y}{x}), \]

for log-polar space, which emulates the human "foveal vision".

Parameters \(m\) and \(k\) are chosen so that entire source image could fit into output image.

Transformation does not change image dimensions.


Original image, ImagePolarTransform and ImageInversePolarTransform performed on the sample image with inCenter = (150,150) for log-polar space type.


List of possible exceptions:

Error type Description
DomainError Not supported inImage pixel format in ImageInversePolarTransform. Supported formats: 1xUInt8, 3xUInt8, 1xInt16, 3xInt16, 1xUInt16, 3xUInt16, 1xReal, 3xReal.

See Also