CogPMRedLineZoneScale Configuration Property Cognex VisionPro 9.22
Gets or sets the configuration of the scale degree of freedom zone. This enumeration specifies whether PMRedLine will search for the pattern at a single nominal scale or within a range of scales.

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

public CogPMRedLineZoneConstants Configuration { get; set; }

Property Value

Type: CogPMRedLineZoneConstants
The configuration of the scale 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 scale that you specify. If you specify the LowHigh enumeration value, PMRedLine will look for pattern instances over a range of scale values. It will iteratively refine its scale estimate until it finds the scale value that best matches the runtime image features.

Using the nominal scale value is very different from specifying a tight range of scale values. In the Nominal case the pattern is tried at exactly one scale, and scored at that scale. In the LowHigh case more than one scale is tried and the algorithm iterates to find the best scale. The initial range of scales is given by you (using Low and High), but PMRedLine might discover that the best scale 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 scale of 1.0 it might find a runtime instance whose true scale is 1.01. This happens when the pattern at the nominal scale is "close enough" to the runtime features to receive a high score. The reported scale will be exactly 1.0.

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

See Also