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

AVL.CreateCylinderMap

Creates a spatial map for transformations from a cylinder surface to a flat rectangle.

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax

C++
C#
 
public static void CreateCylinderMap
(
	AvlNet.ImageFormat inImageFormat,
	AvlNet.Rectangle2D inCylinderRectangle,
	float inCylinderRadiusCorrection,
	AvlNet.Point2D? inOpticalAxis,
	int? inNewWidth,
	int? inNewHeight,
	int inMargin,
	AvlNet.InterpolationMethod inInterpolationMethod,
	AvlNet.CylinderMappingMode inCylinderMappingMode,
	AvlNet.SpatialMap outSpatialMap
)

Parameters

Name Type Range Default Description
inImageFormatAvlNet.ImageFormatInformation about dimensions, depth and pixel type of the image.
inCylinderRectangleAvlNet.Rectangle2DBounding rectangle of the cylinder.
inCylinderRadiusCorrectionfloat<0.0f, INF>0.0fHow many pixels the cylinder radius is larger than the visible circle radius. Default value: 0.0f.
inOpticalAxisAvlNet.Point2D?Coordinates of the camera optical axis (Auto = image center). Default value: atl::NIL.
inNewWidthint?<1, INF>Width of an image created by output spatial map application. Default value: atl::NIL.
inNewHeightint?<1, INF>Height of an image created by output spatial map application. Default value: atl::NIL.
inMarginint<0, INF>0Width of the cylinder extreme points zone excluded from spatial map. Default value: 0.
inInterpolationMethodAvlNet.InterpolationMethodBilinearInterpolation method used in extraction of image pixel values. Default value: Bilinear.
inCylinderMappingModeAvlNet.CylinderMappingModeDetermines which pixels of the mapped cylinder have to be within the given rectangle.
outSpatialMapAvlNet.SpatialMapOutput spatial map.

Description

The filter creates a spatial map that allows to transform a cylinder surface to a flat rectangle. The inCylinderRectangle should be the minimal rectangle that contains the given cylinder. Because of the presence of a camera, the cylinder radius is not equal to but greater than the width of the input rectangle. To compensate the difference, inCylinderRadiusCorrection has to be properly set experimentally. Another important parameter is the inOpticalAxis input that represents the coordinates of the camera optical axis, i.e. it shows which pixel is directly under the camera. It is set to the input image center by default.

Examples

Results of applying RemapImage with a spatial map created with the CreateCylinderMap filter.

Hardware Acceleration

This operation supports automatic parallelization for multicore and multiprocessor systems.

Hardware acceleration settings may be manipulated with Settings class.

Errors

List of possible exceptions:

Error type Description
DomainError Cylinder stripe within rectangle thinner then a single pixel in CreateCylinderMap.
DomainError Empty domain in CreateCylinderMap.
DomainError Mapped image width too large in CreateCylinderMap.
DomainError Margin too large in CreateCylinderMap.

Function Overrides

See also