Operator Reference

polar_trans_imagepolar_trans_imagePolarTransImagePolarTransImagepolar_trans_image (Operator)

polar_trans_imagepolar_trans_imagePolarTransImagePolarTransImagepolar_trans_image — Transform an image to polar coordinates

Warning

polar_trans_imagepolar_trans_imagePolarTransImagePolarTransImagepolar_trans_image is obsolete and is only provided for reasons of backward compatibility. New applications should use the operator polar_trans_image_extpolar_trans_image_extPolarTransImageExtPolarTransImageExtpolar_trans_image_ext instead.

Signature

polar_trans_image(ImageXY : ImagePolar : Row, Column, Width, Height : )

Herror polar_trans_image(const Hobject ImageXY, Hobject* ImagePolar, const Hlong Row, const Hlong Column, const Hlong Width, const Hlong Height)

Herror T_polar_trans_image(const Hobject ImageXY, Hobject* ImagePolar, const Htuple Row, const Htuple Column, const Htuple Width, const Htuple Height)

void PolarTransImage(const HObject& ImageXY, HObject* ImagePolar, const HTuple& Row, const HTuple& Column, const HTuple& Width, const HTuple& Height)

HImage HImage::PolarTransImage(Hlong Row, Hlong Column, Hlong Width, Hlong Height) const

static void HOperatorSet.PolarTransImage(HObject imageXY, out HObject imagePolar, HTuple row, HTuple column, HTuple width, HTuple height)

HImage HImage.PolarTransImage(int row, int column, int width, int height)

def polar_trans_image(image_xy: HObject, row: int, column: int, width: int, height: int) -> HObject

Description

polar_trans_imagepolar_trans_imagePolarTransImagePolarTransImagepolar_trans_image transforms an image in Cartesian coordinates to an image in polar coordinates. The size of the resulting image is selected with WidthWidthWidthwidthwidth and HeightHeightHeightheightheight. WidthWidthWidthwidthwidth determines the angular resolution, while HeightHeightHeightheightheight determines the resolution of the radius. RowRowRowrowrow and ColumnColumnColumncolumncolumn determine the center of the polar coordinate system in the original image ImageXYImageXYImageXYimageXYimage_xy. This point is mapped to the upper row of ImagePolarImagePolarImagePolarimagePolarimage_polar.

A point (x',y') in the result image corresponds to the point (x,y) in the original image in the following manner:

polar_trans_imagepolar_trans_imagePolarTransImagePolarTransImagepolar_trans_image can be executed on an OpenCL device if the input image does not exceed the maximum size of image objects of the selected device. Due to numerical reasons, there can be slight differences in the output compared to the execution on the CPU.

Further Information

For an explanation of the different 2D coordinate systems used in HALCON, see the introduction of chapter Transformations / 2D Transformations.

Execution Information

  • Supports OpenCL compute devices.
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Automatically parallelized on tuple level.
  • Automatically parallelized on channel level.

Parameters

ImageXYImageXYImageXYimageXYimage_xy (input_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject (byte* / int2* / uint2* / real*) *allowed for compute devices

Input image in Cartesian coordinates.

ImagePolarImagePolarImagePolarimagePolarimage_polar (output_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject * (byte / int2 / uint2 / real)

Result image in polar coordinates.

RowRowRowrowrow (input_control)  point.y HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Row coordinate of the center of the coordinate system.

Default: 100

Suggested values: 0, 10, 100, 200

Value range: 0 ≤ Row Row Row row row ≤ 512

Minimum increment: 1

Recommended increment: 1

ColumnColumnColumncolumncolumn (input_control)  point.x HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Column coordinate of the center of the coordinate system.

Default: 100

Suggested values: 0, 10, 100, 200

Value range: 0 ≤ Column Column Column column column ≤ 512

Minimum increment: 1

Recommended increment: 1

WidthWidthWidthwidthwidth (input_control)  extent.x HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Width of the result image.

Default: 314

Suggested values: 100, 200, 157, 314, 512

Value range: 2 ≤ Width Width Width width width ≤ 512

Minimum increment: 1

Recommended increment: 10

HeightHeightHeightheightheight (input_control)  extent.y HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Height of the result image.

Default: 200

Suggested values: 100, 128, 256, 512

Value range: 2 ≤ Height Height Height height height ≤ 512

Minimum increment: 1

Recommended increment: 10

Example (HDevelop)

read_image(Image,'monkey')
dev_display (Image)
polar_trans_image(Image,PolarImage,100,100,314,200)
dev_display (PolarImage)

Example (C)

read_image(&Image,"monkey");
disp_image(Image,WindowHandle);
polar_trans_image(Image,&PolarImage,100,100,314,200);
disp_image(PolarImage,WindowHandle);

Example (HDevelop)

read_image(Image,'monkey')
dev_display (Image)
polar_trans_image(Image,PolarImage,100,100,314,200)
dev_display (PolarImage)

Example (HDevelop)

read_image(Image,'monkey')
dev_display (Image)
polar_trans_image(Image,PolarImage,100,100,314,200)
dev_display (PolarImage)

Module

Foundation