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

AVL.ImageInversePolarTransform

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

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax

C++
C#
 
public static void ImageInversePolarTransform
(
	AvlNet.Image inImage,
	AvlNet.Point2D inCenter,
	AvlNet.PolarSpaceType inInputSpaceType,
	AvlNet.PolarInterpolationMethod inInterpolation,
	AvlNet.Image outImage
)

Parameters

Name Type Range Default Description
inImageAvlNet.ImageInput image.
inCenterAvlNet.Point2DCenter of the coordinate system in output image.
inInputSpaceTypeAvlNet.PolarSpaceTypeMethod of transformation.
inInterpolationAvlNet.PolarInterpolationMethodMethod of underlying interpolation.
outImageAvlNet.ImageOutput image.

Description

Reverses ImagePolarTransform using the following transformation:

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

where

\[ \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.

Examples

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

Errors

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