FormFix uses models, templates, and an OMR processor to specify and perform OMR on forms, fields, and field sets. It then stores and reports back the OMR results. The models and templates define OMR segments and bubbles within a field. The OMR processor performs the OMR analysis. It has a set of properties which control the analysis, which can be written to or read from a stream. After that, the OMR results are aggregated and values returned for the bubbles, segments, and fields.
Beginning in FormFix 5, a new OMR processing mechanism is added which is easier to use and has less configuration. The processing mechanism is identified using the RecognitionEngine property of the OmrProcessor. For new OMR fields added in FormFix 5 or later, the RecognitionEngine property will be "SingleThreshold". This is discussed in greater detail (below) under the OmrProcessor section.
The OmrBubbleModel is used as a template to define the OMR field bubble for analysis.
The OmrSegmentModel is used as a template to define the OMR field segment for analysis.
The OmrProcessor is the backbone of the OMR analysis. With this object you can analyze your field, Read and Write to and from a stream, perform analysis comparisons and define and store many of the necessary properties. See Define OMR Bubbles, Segments, and Fields and Guidelines & Adjustments for Marked/Unmarked Analysis for more information. The OmrProcessor's methods and properties are further defined below:
Example of a defined area outlined for OMR analysis.
Example Bubble Shape, Circle
Example Bubble Shape, Rectangle
Example showing a five column single-mark field
Example of a multi-mark field
Examples of a single field with horizontal segments (In the first image, set the Read Direction to Normal and the rows will be read top-to-bottom. The second image is a field that appears sideways on the form; set the Read Direction to Normal to read the rows top-to-bottom to get the entered number. The third image shows the field oriented the other way; set its Read Direction to Reverse to read the rows bottom-to-top to get the entered number.)
Example of a single field with vertical segments (In the first image, set the Read Direction to Normal and the columns will be read left-to-right. The second image is a field that appears sideways on the form; set the Read Direction to Normal to read the columns left-to-right (from 1 to 8). The third image shows the field oriented the other way; set its Read Direction to Reverse to read the columns right-to-left (from 1 to 8).)
The bubble result of OMR analysis processing.
The OmrFieldResult object is the result of OMR analysis on a field.
The OmrSegmentResult object contains the result of OMR analysis on a field segment.