Example #1
0
        public PointPatternMatchResult GetPointPatternMatchResult(IPointPattern CompareTo, PointF[] Points)
        {
            double[] aDeltas = new double[Precision];
            double[] aCompareToAngles = PointPatternMath.GetPointArrayAngularMargins(PointPatternMath.GetInterpolatedPointArray(CompareTo.Points, Precision));
            double[] aCompareAngles = PointPatternMath.GetPointArrayAngularMargins(PointPatternMath.GetInterpolatedPointArray(Points, Precision));

            for (int i = 0; i <= aCompareToAngles.Length - 1; i++)
                aDeltas[i] = PointPatternMath.GetAngularDelta(aCompareToAngles[i], aCompareAngles[i]);

            // Create new PointPatternMatchResult object to hold results from comparison
            PointPatternMatchResult comparisonResults = new PointPatternMatchResult();
            comparisonResults.Probability = PointPatternMath.GetProbabilityFromAngularDelta(aDeltas.Average());
            comparisonResults.Name = CompareTo.Name;
            comparisonResults.PointPatternSetCount = 1;

            // Return results of the comparison
            return comparisonResults;
        }
        public PointPatternMatchResult GetPointPatternMatchResult(IPointPattern CompareTo, PointF[] Points)
        {
            double[] aDeltas          = new double[Precision];
            double[] aCompareToAngles = PointPatternMath.GetPointArrayAngularMargins(PointPatternMath.GetInterpolatedPointArray(CompareTo.Points, Precision));
            double[] aCompareAngles   = PointPatternMath.GetPointArrayAngularMargins(PointPatternMath.GetInterpolatedPointArray(Points, Precision));

            for (int i = 0; i <= aCompareToAngles.Length - 1; i++)
            {
                aDeltas[i] = PointPatternMath.GetAngularDelta(aCompareToAngles[i], aCompareAngles[i]);
            }

            // Create new PointPatternMatchResult object to hold results from comparison
            PointPatternMatchResult comparisonResults = new PointPatternMatchResult();

            comparisonResults.Probability          = PointPatternMath.GetProbabilityFromAngularDelta(aDeltas.Average());
            comparisonResults.Name                 = CompareTo.Name;
            comparisonResults.PointPatternSetCount = 1;

            // Return results of the comparison
            return(comparisonResults);
        }