Accusoft.FormFix5.Net - Updated
Identify Method (IdentificationProcessor)




Accusoft.FormFixSdk Namespace > IdentificationProcessor Class : Identify Method
The image that you want this method to identify.
Identifies a form.
Syntax
'Declaration
 
Public Function Identify( _
   ByVal unknownImage As FormImage _
) As IdentificationResult
'Usage
 
Dim instance As IdentificationProcessor
Dim unknownImage As FormImage
Dim value As IdentificationResult
 
value = instance.Identify(unknownImage)
public IdentificationResult Identify( 
   FormImage unknownImage
)
public: IdentificationResult* Identify( 
   FormImage* unknownImage
) 
public:
IdentificationResult^ Identify( 
   FormImage^ unknownImage
) 

Parameters

unknownImage
The image that you want this method to identify.

Return Value

An IdentificationResult object with identification and registration information.
Remarks

This method compares an unknown image to the FormModel objects that this object represents and determines which FormModel is the best match.

This object has a number of properties that control the identification process, including IdentificationQuality, IdentificationCertainty, and MinimumIdentificationConfidence.

You can limit the candidates to a subset of the full list of FormModel objects using the LimitIdentificationToSubset and IdentificationSubset properties.

By default, this object does not support identifying the unknown image when it does not have the same orientation as the matching form model. However, you can change that behavior using the IdentifyRotated90, IdentifyRotated180, and IdentifyRotated270 properties.

In three cases, an identification operation will take longer than the normal amount of time.

  1. The first case where an identification operation would take longer than normal is when you identify an image against a set of FormModel objects where one or more of those FormModel objects has not been previously used in an identification. This method will perform an analysis of each of these FormModel objects. This analysis process may take several seconds for each FormModel. After this method has analyzed each individual FormModel, it will perform some additional analysis on the entire set of FormModel objects. If you have less than 100 FormModel objects, this analysis will take very little time. If you have thousands of FormModel objects in your set, this analysis could take hours to perform. This method will save the results of its analysis using the WriteDataItem and FormModel.WriteDataItem events.
  2. The second case where an identification operation would take longer than normal is when you change one of the FormModel objects in your set or when you change which FormModel objects comprise your set. This method will rerun any analysis that depends on the change.
  3. The final case where an identification operation would take longer than normal is the first time you use a new IdentificationProcessor object to identify against a collection of FormModels, which has been identified against in the past. The associated FormModel objects will fire their ReadDataItem events, requesting the result of their initial analysis of the form. Also, this object will fire its ReadDataItem event, requesting the result of its initial analysis of the full set of forms. It will normally take the event handlers some time to acquire and return that information, increasing the time spent in this first identification operation. If the ReadDataItem event handlers cannot successfully load the results of the initial analysis of the forms and set of forms, then this scenario is logically the same as rhe first case where an identification operation would take longer (see above).

By default, this method will not modify the unknownImage argument. However, if the AutoAlign property is set to true, this method will align the unknownImage with the best matching FormModel when the following conditions are met:

If either of these conditions is not met then the unknownImage will not be modified.

Note 1: The identification algorithm uses the resolution of the images (both the unknown image and the model), so you must set it to the correct value for best operation. Not every method of reading an image from a file will preserve the resolution and not all image editing tools will preserve the resolution. This method will fail if the resolution of the unknown image or the model is zero. If you see that error, you should look at the debug log (see Debug) for more information about exactly which image failed.

Note 2: This method will throw an System.InvalidOperationException if called when the FormModels collection is empty, or when LimitIdentificationToSubset is true and the IdentificationSubset is empty.

See Also

Reference

IdentificationProcessor Class
IdentificationProcessor Members