CogPolarUnwrap GetOutputPointFromInputPoint Method Cognex VisionPro 9.25 SR1
Maps a point in the selected space of the input image to a point in the root space of the output image. Every input point maps to multiple output points. The output plane is periodical in the x direction. 'Revolution' indicates the period.

Namespace: Cognex.VisionPro.ImageProcessing
Assembly: Cognex.VisionPro.ImageProcessing (in Cognex.VisionPro.ImageProcessing.dll) Version: 93.1.0.0
Syntax

public void GetOutputPointFromInputPoint(
	ICogImage inputImage,
	ICogRegion annularRegion,
	double inputPointX,
	double inputPointY,
	out double outputPointX,
	out double outputPointY,
	int revolution
)

Parameters

inputImage
Type: Cognex.VisionPro ICogImage

The input image. Corresponds to the InputImage property.

annularRegion
Type: Cognex.VisionPro ICogRegion

The input region. Corresponds to the Region property.

inputPointX
Type: System Double

The x-coordinate of the point to map.

inputPointY
Type: System Double

The y-coordinate of the point to map.

outputPointX
Type: System Double 

The x-coordinate of the mapped point.

outputPointY
Type: System Double 

The y-coordinate of the mapped point.

revolution
Type: System Int32

If you have specified an unwrap greater than one revolution, you must supply the number of whole revolutions.

Exceptions

ExceptionCondition
NullReferenceException

outputPointX or outputPointY was NULL. (C++ only)

CogIPPolarUnwrapInvalidMapPointException

The InputPoint is the center of the annularRegion.

CogOperatorNoInputImageException

inputImage is NULL.

CogImageBadTypeException

inputImage is not an 8-bit image.

CogImageNoPixelsException

inputImage is not allocated.

CogIPPolarUnwrapNullRegionException

annularRegion is NULL.

CogIPPolarUnwrapInvalidRegionException

annularRegion is neither a CogCircularAnnulusSection nor a CogEllipticalAnnulusSection.

CogTransformNotLinearException

The transform from the selected space of the annularRegion to the pixel space of inputImage is not linear.

CogIPPolarUnwrapRegionClippedException

Some of the sampling points require data that is outside the inputImage.

CogImageBadSelectedSpaceNameException

The selected space name of inputImage is not a valid name.

CogImageBadSelectedSpaceNameException

The selected space name of inputImage does not exist within inputImage's space tree.

CogImageBadSelectedSpaceNameException

The selected space name of inputImage is not unique within inputImage's space tree.

CogOperatorInvalidRegionException

The selected space name of annularRegion is not a valid name.

CogOperatorInvalidRegionException

The selected space name of annularRegion does not exist within inputImage's space tree.

CogOperatorInvalidRegionException

The selected space name of annularRegion is not unique within inputImage's space tree.

CogIPPolarUnwrapSamplingXOverflowException

The resulting number of samples in the x-direction is greater than 32767.

CogIPPolarUnwrapSamplingYOverflowException

The resulting number of samples in the y-direction is greater than 32767.

Remarks

Maps a point in the selected space of the input image to the corresponding point in the root space of the output image.

This function maps the points based on the input parameters you supply to the function, not the parameters that you used to configure the object. You can perform a mapping that corresponds to the current state of the object by supplying the object properties as parameters to this function, as shown in the example.

If you specify a AngleSpan greater than 360°, then a possible ambiguity exists when mapping input points to output points. Specifically, a given point in the input annulus region might be mapped to two (or more)points in the output image. The revolution parameter allows you to resolve this ambiguity, as shown in the following figure:

Examples

Imports Cognex.VisionPro
Imports Cognex.VisionPro.ImageProcessing

Dim UnwrapTool As New CogPolarUnwrapTool

Dim xIn As Double
Dim yIn As Double
Dim xOut As Double
Dim yOut As Double

UnwrapTool.RunParams.GetOutputPointFromInputPoint (_
    UnwrapTool.InputImage, _
    UnwrapTool.Region, _
    xIn, yIn, _
    xOut, yOut, 0)
using Cognex.VisionPro;
using Cognex.VisionPro.ImageProcessing;

CogPolarUnwrapTool UnwrapTool = new CogPolarUnwrapTool();
double xIn, yIn, xOut, yOut;

UnwrapTool.RunParams.GetOutputPointFromInputPoint (UnwrapTool.InputImage,
    UnwrapTool.Region,
    xIn, yIn, 
    out xOut, out yOut,
    0);
See Also