Labeled OMR (Value Extractor): Difference between revisions
Dgreenwood (talk | contribs) No edit summary |
Dgreenwood (talk | contribs) |
||
| Line 156: | Line 156: | ||
</tabs> | </tabs> | ||
== Version Differences | == Version Differences == | ||
In version 2.80, ''Labeled OMR'' is referred to as ''[[Anchored OMR]]''. The two features are configured and function nearly the same. | In version 2.80, ''Labeled OMR'' is referred to as ''[[Anchored OMR]]''. The two features are configured and function nearly the same. | ||
Prior to version 2.80, this functionality would been performed using the "Data Element Profiles" tab of a '''Document Type''' and drawing "OMR Zones" around the checkboxes to read their check states. Grooper has moved away from "Data Element Profiles" in favor of configuring the functionality directly on '''Data Elements''' in a '''Data Model''', using '''''Value Extractors''''' such as ''Labeled OMR'' | Prior to version 2.80, this functionality would been performed using the "Data Element Profiles" tab of a '''Document Type''' and drawing "OMR Zones" around the checkboxes to read their check states. Grooper has moved away from "Data Element Profiles" in favor of configuring the functionality directly on '''Data Elements''' in a '''Data Model''', using '''''Value Extractors''''' such as ''Labeled OMR'' | ||
== See Also == | == See Also == | ||
Revision as of 08:11, 19 October 2020

Labeled OMR is an extractor used to output OMR checkbox labels. It determines whether labeled checkboxes are checked or not and, if checked, outputs the label as its result.
About
Documents use checkboxes to make our life easier. They are particularly prevalent on structured forms. It gives the person filling out the form the ability to just check a box next to a series of options rather than typing in the information.
However, most of Grooper's extraction centers around regular expression, matching text patterns and returning the result. There isn't necessarily a character to match a checked checkbox. Regular expression isn't going to cut it to determine if a box is checked or not.
This is where OMR comes into play. OMR stands for "Optical Mark Recognition". OMR determines checkbox states. The basic idea behind it is very simple. First find a box. A box is just four lines connected to each other in a square-like fashion. If that box has a mark of some kind inside it, it is checked. If not, it's not. Checked (or marked) boxes, whether a checked "x" (☒), a checkmark (☑), or a check block (▣), while have more black pixels inside the box than an unchecked (or unmarked) one (☐). If the detected box has a high threshold of black pixels in it, it's checked (or marked). If not, it's unchecked (or unmarked).
A simple example would be a document asking a question and giving two boxes to check “Yes” or “No.” For example, see the portion of the document below asking if the applicant is a U.S. Citizen. “Yes” or “No” would be the labels. Either “Yes” or “No” would be the field's final result, depending on which box is checked. In this case, "Yes".
![]() |
The Labeled OMR extractor is a Value Extractor option for Data Fields in a Data Model.
In general, what you want to extract is the text of the checked label. The Labeled OMR extractor allows you to do just that. You will set up an extractor to locate the text label. Grooper's OMR detection will determine if the box next to the label is checked. And, the label is returned as the Data Field's result.
Use Cases
Any document using checkboxes can take advantage of this functionality. There is a wide variety of use cases, including application forms, surveys, and questionnaires.
How To
Configure the Extractor
Checkboxes detail information in one of three ways, either:
- You will have several checkboxes next to several label options, giving you a list of choices. Of this choices, you may choose only one
- You will have several checkboxes next to several label options and you may choose multiple.
- You will have a single checkbox and it really just matters whether the checkbox is checked or not.
Labeled OMR has three corresponding Modes to account for this:
- CheckOne
- CheckMulti
- Boolean
How your document is structured will inform which mode you choose. However, most of the extractor's configuration is the same regardless of which one you choose.
Prereqs - Box Detection
|
In order for Labled OMR to return a result, it needs to be able to find a checkbox and it needs to be able to tell if that box is checked or unchecked. The checkbox locations and "check states" (checked or unchecked) must be saved to a page before extracting the value. This information is saved to a Batch Page objects, "LayoutData.json" file during permanent or temporary image processing, using a Box Detection or Box Removal command. This means you must execute an IP Profile with a Box Detection or Box Removal command as one of it's IP Steps.
Then the IP Profile must be ran on the pages in the Batch using the Image Processing activity (for permanent image processing) or Recognize activity (for temporary image processing). |
Assign the Value Extractor
|
Labeled OMR is an option for a Data Field's Value Extractor property.
|
Configure the Label Extractor
|
|
|
The goal of the extractor is to produce a result for each checkbox option. We have created a regular expression pattern that is an "or separated list". Each label followed by the vertical pipe character.
Property Taxes| Homeowner's Insurance| Other:
|
Verify Extraction
|
|
|
Not so fast. Let's check another document.
|
CheckMulti
|
Since multiple boxes may be checked, we need to change the Mode property to CheckMulti. This will return all results as a concatenated string.
|
|
|
Upon extraction now, the two results return as a single string value, "Homeowner's InsuranceOther:" |
|
|
Version Differences
In version 2.80, Labeled OMR is referred to as Anchored OMR. The two features are configured and function nearly the same.
Prior to version 2.80, this functionality would been performed using the "Data Element Profiles" tab of a Document Type and drawing "OMR Zones" around the checkboxes to read their check states. Grooper has moved away from "Data Element Profiles" in favor of configuring the functionality directly on Data Elements in a Data Model, using Value Extractors such as Labeled OMR










