FormFix v6.0 for .NET - Updated
AnalyzeField Method



Accusoft.FormFixSdk Namespace > OmrProcessor Class : AnalyzeField Method
The registered and aligned image that you want this method to perform OMR analysis on.
Perform OMR analysis on a field.
Syntax
'Declaration
 
Public Function AnalyzeField( _
   ByVal formImage As FormImage _
) As OmrFieldResult
'Usage
 
Dim instance As OmrProcessor
Dim formImage As FormImage
Dim value As OmrFieldResult
 
value = instance.AnalyzeField(formImage)
public OmrFieldResult AnalyzeField( 
   FormImage formImage
)
public:
OmrFieldResult^ AnalyzeField( 
   FormImage^ formImage
) 

Parameters

formImage
The registered and aligned image that you want this method to perform OMR analysis on.

Return Value

An OmrFieldResult object with analysis results information.
Remarks

This method analyzes a field of a form image to determine individual bubbles' marked/unmarked status and to calculate a confidence value for that status

This object has a number of properties that control the analysis process. The most important are Area and Segments.

This method requires an input image whose pixels match the location of a template. This is especially critical if you use the CompareClipToFormModel or CompareFullImageToFormModel methods. Preparing the input image is one of the most error-prone parts of using this function. A typical scanned image will rarely line up with the template; you must use either an IdentificationProcessor or RegistrationProcessor object to register your scanned images to the template (and the coordinates of your fields.) Either of these objects will determine how your image should be aligned and will place that information into a RegistrationResult object. You can then use that RegistrationResult object or a DropOutProcessor object to align the pixels of your scanned image to match the template.

Figure 1 below shows the exact steps you would take to register an image to the template. If you do not need to identify your image and they have suitable registration marks in the corners, you can use the right-most path, which will use a RegistrationProcessor object to produce the RegistrationResult object you need prior to OMR. If you must identify your images or they do not have suitable registration marks, you must use the left-most path, which will use an IdentificationProcessor object.

Figure 1 - Registering an image prior to OMR

Once you have registered your images, you still have to align the pixels in your scanned image to match your field coordinates. Again, you have two choices. At this point, the path you take depends on how you want to process all of your fields. The normal processing method is to create individual clips of each of your fields and process them individually. That is the path on the left of figure 2. If you wish to clean your fields (i.e. remove lines), you can easily process them just before the OMR step. Processing the fields individually also allows you to use different options for cleaning each field.

Alternately, you can align your entire image once and then process field information from that whole image. That is the path on the right of figure 2.

Figure 2 - Processing an image after registration

When you are processing individual images of fields, you must make sure that you set DropOutMethod to ClipWithoutRescaling or Clip, not DropOut. For best performance, use ClipWithoutRescaling.

See Also

Reference

OmrProcessor Class
OmrProcessor Members

Is this page helpful?
Yes No
Thanks for your feedback.