AnalysisAlternate Class

Represents one of the possible handwriting recognition word matches for ContextNode objects.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink.Analysis (in Microsoft.Ink.Analysis.dll)

Syntax

'Declaration
Public Class AnalysisAlternate
'Usage
Dim instance As AnalysisAlternate
public class AnalysisAlternate
public ref class AnalysisAlternate
public class AnalysisAlternate

Remarks

Because so many variations exist between users' handwriting, handwriting recognizers can sometimes convert handwriting into text that is different from what the user intended. When an InkAnalyzer performs analysis on a Strokes collection, the InkAnalyzer finds the most likely set of words that the handwriting represents. In addition, the InkAnalyzer also finds sets of alternative recognition matches, which are stored in an AnalysisAlternateCollection. In order for a user to take advantage of recognition alternates, you must create a user interface that allows the user to select the correct AnalysisAlternate.

AnalysisAlternate objects are generally obtained through the InkAnalyzer.GetAlternates method. The first AnalysisAlternate object in the collection is what the InkAnalyzer considers to be the most likely alternate.

Examples

This example calls GetAlternates on an InkAnalyzer, theInkAnalyzer. It then loops through the AnalysisAlternateCollection and populates a ListBox, alternatesListBox, with all of the alternates that do not have an InkRecognitionConfidence of Poor recognition confidence.

alternatesListBox.Items.Clear()
' ContextNodeCollection selectedSubNodes is obtained via 
' DirectCast(theInkAnalyzer.RootNode, RootNode).GetNodesFromTextRange(selStart, selLength); 
Me.currentAlternates = theInkAnalyzer.GetAlternates(selectedSubNodes)
Dim alternate As AnalysisAlternate
For Each alternate In Me.currentAlternates
    ' Add only those that are not Poor confidence 
    If alternate.InkRecognitionConfidence <> _
       Microsoft.Ink.InkRecognitionConfidence.Poor Then
        alternatesListBox.Items.Add(alternate.RecognizedString)
    End If 
Next alternate
          alternatesListBox.Items.Clear();
            // ContextNodeCollection selectedSubNodes is obtained via 
            // ((RootNode)theInkAnalyzer.RootNode).GetNodesFromTextRange(ref selStart, ref selLength); 
            this.currentAlternates = theInkAnalyzer.GetAlternates(selectedSubNodes);
            foreach (AnalysisAlternate alternate in this.currentAlternates)
            {
                // Add only those that are not Poor confidence 
                if (alternate.InkRecognitionConfidence !=
                    Microsoft.Ink.InkRecognitionConfidence.Poor)
                {
                    alternatesListBox.Items.Add(alternate.RecognizedString);
                }
            }

Inheritance Hierarchy

System.Object
  Microsoft.Ink.AnalysisAlternate

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Windows 7, Windows Vista, Windows Server 2008 R2, Windows Server 2008

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Version Information

.NET Framework

Supported in: 3.0

See Also

Reference

AnalysisAlternate Members

Microsoft.Ink Namespace

Microsoft.Ink.AnalysisAlternateCollection

InkAnalyzer.GetAlternates