Cog3DCircleFitterUsing2DPoints Execute Method Cognex VisionPro 9.21
Fits a 3D circle from 2D point sets and a set of camera calibrations. Each 2D point set must have been extracted from different cameras or views. The 2D point sets from the different cameras or views do not need to correspond, but they must lie on the same 3D circle.

Namespace: Cognex.VisionPro3D
Assembly: Cognex.VisionPro3D (in Cognex.VisionPro3D.dll) Version: 83.0.0.0
Syntax

public List<Cog3DCircleFitterUsing2DPointsResult> Execute(
	List<Cog3DCameraCalibration> raw2DFromPhys3Ds,
	List<Cog3DVect2Collection> pointsRaw2D
)

Parameters

raw2DFromPhys3Ds
Type: System.Collections.Generic List Cog3DCameraCalibration 
The camera calibrations used during the extraction of the 2D points. The size of this list defines the number of cameras or views used.
pointsRaw2D
Type: System.Collections.Generic List Cog3DVect2Collection 
The List of 2D point collections, one collection per camera or view. The size of the list must be equal to the number of cameras/views.

Return Value

Type: List Cog3DCircleFitterUsing2DPointsResult 
A List containing 1 or 2 Cog3DCircleFitterUsing2DPointsResult objects (see Remarks section). Each result object contains the fitted 3D circle and 2D/3D residuals.
Exceptions

ExceptionCondition
ArgumentNullException If any input argument is null.
ArgumentException If one of the following is true:
  • The number of camera calibrations is less than 1.
  • The number of camera calibrations does not match the number of 2D point collections.
  • FitMode is Cog3DCircleFitterUsing2DPointsFitModeConstant.LeastSquaresUseSpecifiedRadius and Radius is 0.
  • FitMode is Cog3DCircleFitterUsing2DPointsFitModeConstant.LeastSquaresComputeRadius and only one camera calibration is provided.
  • None of the individual collections of 2D points contain five or more points.
  • If any of the camera calibrations have telecentric lens distortion.
Cog3DException If a 3D circle cannot be fitted.
Remarks

This Execute method may return at most two results. It returns a single result if there is one unambiguous 3D circle which induces the minimum sum squared image error. It returns two different 3D circles if there are two different 3D circles which induce similar sum squared image errors (For an explanation of why there are at most 2 different circles that match the image data, refer to the Forsyth et al paper "Invariant Descriptors for 3D Object Recognition" which appeared in IEEE PAMI, Vol. 13, No. 10, October 1991, pages 971 - 991)).
See Also