The elasticity value is the amount of feature variance, in pixels, that PMAlign allows. Setting a nonzero elasticity value permits PMAlign to find pattern instances with nonlinear geometric variation to be found.
Namespace: Cognex.VisionPro.PMAlignAssembly: Cognex.VisionPro.PMAlign (in Cognex.VisionPro.PMAlign.dll) Version: 69.0.0.0
Syntax
Property Value
Type: DoubleEvents
| Event Type | Reason |
|---|---|
| CogPMAlignPattern Changed | Fires when the value of this property changes. The following state flag may be affected: |
Exceptions
| Exception | Condition |
|---|---|
| ArgumentException | Value is less than zero. |
Remarks
The elasticity value is the amount of feature variance, in pixels, that PMAlign allows. By default, feature-to-feature variance in the location of features within a pattern reduce both score and accuracy. If you specify a nonzero value for elasticity, PMAlign allows individual features to vary in position by the value you specify.
For more information, see the theory discussion of elasticity.
Default Value: 0.0
Examples
Imports Cognex.VisionPro Imports Cognex.VisionPro.PMAlign Private myPattern As CogPMAlignPattern Private myParams As CogPMAlignRunParams Private myResults As CogPMAlignResults Private Sub doTrain() myPattern = New CogPMAlignPattern myParams = New CogPMAlignRunParams myResults = New CogPMAlignResults myPattern.TrainAlgorithm = CogPMAlignTrainAlgorithmConstants.PatMaxAndPatQuick myPattern.TrainMode = CogPMAlignTrainModeConstants.Image myPattern.Elasticity = 2.1 myPattern.TrainImage = anImage myPattern.TrainRegion = trainRect myPattern.TrainRegionMode = CogRegionModeConstants.PixelAlignedBoundingBox myPattern.Origin.TranslationX = trainRect.CenterX myPattern.Origin.TranslationY = trainRect.CenterY myPattern.Train() end sub
using Cognex.VisionPro; using Cognex.VisionPro.PMAlign; private CogPMAlignPattern myPattern; private CogPMAlignRunParams myParams; private CogPMAlignResults myResults; private void doTrain() { myPattern = new CogPMAlignPattern(); myParams = new CogPMAlignRunParams(); myResults =new CogPMAlignResults(); myPattern.TrainAlgorithm = CogPMAlignTrainAlgorithmConstants.PatMaxAndPatQuick; myPattern.TrainMode = CogPMAlignTrainModeConstants.Image; myPattern.Elasticity = 2.1; myPattern.TrainImage = anImage; myPattern.TrainRegion = trainRect; myPattern.TrainRegionMode = CogRegionModeConstants.PixelAlignedBoundingBox; myPattern.Origin.TranslationX = trainRect.CenterX; myPattern.Origin.TranslationY = trainRect.CenterY; myPattern.Train(); }
See Also