CogPMRedLineZoneAngle Configuration Property Cognex VisionPro 9.10
Gets or sets the configuration of the angle degree of freedom zone. This enumeration specifies whether PMRedLine will search for the pattern at a single nominal angle or within a range of angles.

Namespace: Cognex.VisionPro.PMRedLine
Assembly: Cognex.VisionPro.PMRedLine (in Cognex.VisionPro.PMRedLine.dll) Version: 79.0.0.0
Syntax

public CogPMRedLineZoneConstants Configuration { get; set; }

Property Value

Type: CogPMRedLineZoneConstants
The configuration of the angle degree of freedom zone. Default value is Nominal.
Events

Event TypeReason
ICogChangedEvent Changed Fires when this property changes. The following state flag may be affected:
Exceptions

ExceptionCondition
ArgumentOutOfRangeException The supplied value is not a member of CogPMRedLineZoneConstants.
Remarks

If you specify the Nominal enumeration value, PMRedLine will only look for pattern instances at exactly the Nominal angle that you specify. If you specify the LowHigh enumeration value, PMRedLine will look for pattern instances over a range of angle values. It will iteratively refine its angle estimate until it finds the angle value that best matches the runtime image features.

Using the nominal angle value is very different from specifying a tight range of angle values. In the Nominal case the pattern is tried at exactly one angle, and scored at that angle. In the LowHigh case more than one angle is tried and the algorithm iterates to find the best angle. The initial range of angles is given by you (using Low and High), but PMRedLine might discover that the best angle is outside of your initial range, leading to a result that is not accepted.

For example, if you ask PMRedLine to find a pattern instance at a nominal angle of 0.1 radians it might find a runtime instance whose true angle is 0.101 radians. This happens when the pattern at the nominal angle is "close enough" to the runtime features to receive a high score. The reported angle will be exactly 0.1 radians.

If, however, you ask PMRedLine to find a pattern instance within a range of angles between 0.0999 radians and 0.1001 radians, that same runtime instance would not be reported with a angle of 0.101. By default, it won't be reported at all. PMRedLine will iterate to the true angle (of 0.101) and then determine that it falls outside of your desired angle range. The runtime instance will be eliminated unless ReturnAllResults is set to "true".

See Also