Grooper.Core.FieldProfile

Defines settings for a Data Field which apply when processing a specific Content Type. Field Profiles are created on the Data Element Profiles tab of a Content Type, and are generally created to:


Inherits from: Grooper.Core.DataElementProfile

Constructors

Signature Description
New (ct As ContentType, Element As DataElement)
Parameters
ct
          Type: ContentType
          
 
Element
          Type: DataElement
          

Fields

Field Name Field Type Description
Database As Grooper.GrooperDb Grooper.GrooperDb
ExtractZones As System.Collections.Generic.Dictionary`2[[System.Guid, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[Grooper.Core.ExtractZone, Grooper.Core, Version=2.80.35.0, Culture=neutral, PublicKeyToken=null]] System.Collections.Generic.Dictionary(Of TKey, TValue)
FieldId As System.Guid System.Guid

Properties

Property Name Property Type Description
AllZones System.Collections.Generic.IEnumerable(Of T) Iterates all child zones of this profile.
DefaultValue System.String Overrides the default value for the field on this content type.
Field Grooper.Core.DataField Returns the DataField object associated with this profile.
HasReferenceProperties System.Boolean Returns true if the object has properties which reference Grooper Node objects.
IsEmpty System.Boolean Returns true if all properties with a ViewableAttribute are set to their default value.
IsWriteable System.Boolean Returns true if the object is writable, or false if it is not.
OverrideExtractor System.Boolean When set to true, indicates that the field's Value Extractor should be overridden on this content type.
Owner Grooper.ConnectedObject Returns the node that owns the connected object, if any.
OwnerNode Grooper.GrooperNode Returns the node that owns the connected object, if any.
ReadOnly System.Nullable(Of T) If True, overrides the Read Only property of the field on this content type.
Required System.Nullable(Of T) If True, overrides the Required property of the field on this content type.
Root Grooper.GrooperRoot Returns the root node
RuntimeExtractor Grooper.Core.IDataExtractor Returns the DataType for the DataField associated with this profile.
SeparatorString System.String When Zone Processing is set to 'Concatenate', each value will be separated using this delimiter.
ShapeNames System.Collections.Generic.IEnumerable(Of T) Returns a list of shape names defined on child zones.
ShareRegistration System.Boolean If enabled, all zones defined as a child of this profile will share the same set of registration zones. Enable this property to instruct all zones to share registration information. This is useful, for example, when many OMR Zones are created within the same Extraction Profile. Rather than creating a Registration Zone for each OMR Zone, simply create a Registration Zone for one of the OMR Zones and enable the 'Share Registration' option. If multiple Registration Zones are defined on the child OMR Zones, the registration offset for all successful registration zones will be averaged.
ValueExtractor Grooper.Core.ValueExtractor When 'Override Extractor' is True, defines a Value Extractor for the field.
Visible System.Nullable(Of T) If True, overrides the Visible property of the field on this content type.
ZoneProcessing Grooper.Core.FieldProfile.ZoneProcessingMethod Controls how results are selected when multiple zones are defined. This setting can be used to implement the following zonal extraction use cases:

OMR Single Checkbox - Set Zone Processing to 'SingleValue', and define a child OMR Zone for the checkbox. When this mode is active, the field value will be set to the positive or negative output value specified on the OMR Zone.

OMR Multiple Choice - Select One - Configure the associated Data Field with a value list containing one value for each option. Set Zone Processing to 'BestConfidence', and define a child OMR Zone for each checkbox. On each OMR zone, set the 'OMR List Value' to reflect the value associated with that checkbox. NOTE: The confidence value of an OMR zone is the black pixel ratio of its region on the page. As such, the zone which is most 'filled in' will be selected as the field value.

OMR Multiple Choice - Select Multiple - Set Zone Processing to 'Concatenate', and define a child OMR Zone for each checkbox. Specify a positive value for each OMR zone, and leave the negative value blank. The field output value will be a concatenation of the values for all checked zones. To separate each value with a delimiter, set the Separator String property.

Fields Appearing Multiple Times - In cases where a field value appears multiple times on a document, accuracy can be improved by performing zonal extraction at each location, and taking the most confident result. Define a child Field Zone for each appearance of the field value, and set Zone Processing to 'Best Confidence'.

Multi-Part Fields - This can handle cases where multiple zones must be OCR'd to capture a field value. For example, an address where the city, state, and zip are located far apart, but need to be captured into a single field as a combined element. Set Zone Processing to 'Concatenate', and define a child Field Zone for each segment of the field. The Separator String property can be used to specify a delimiter to be used between each value, such as a space character or comma.

Can be one of the following values:
  • BestConfidence: The most confident result is selected as the field value. In the case of OMR zones, the 'most confident' is the zone with the highest black pixel ratio. In the case of OCR zones, the most confident zone is the one with the highest average OCR character confidence.
  • Concatenate: The results for all zones will be concatenated into a single value. The Separator String property specifies a separator to use between each value. Use this setting to extract OMR results when multiple boxes can be checked, or to extract multi-part field values using multiple zones.
  • SingleValue: Use when a single OMR zone is in use, to specify specific return values for positive and negative reads.

Methods

Method Name Description
AddZone(Zone As ExtractZone) Add a new child ExtractZone.
Parameters
Zone
          Type: ExtractZone
          The ExtractZone to add.
DeleteZone(Id As Guid) Deletes a child zone.
Parameters
Id
          Type: Guid
          The Id of the child zone to delete.
GetProperties() As PropertyDescriptorCollection
GetReferences() As List(Of GrooperNode) Returns list of nodes referenced by this object or its children.
IsPropertyEnabled(PropertyName As String) As Nullable(Of Boolean) Defines whether a property is currently enabled.
Parameters
PropertyName
          Type: String
          The name of the property to determine the enabled state for.
IsPropertyVisible(PropertyName As String) As Nullable(Of Boolean) Defines whether a property is currently visible.
Parameters
PropertyName
          Type: String
          The name of the property to determine the visible state for.
IsType(Type As Type) As Boolean Returns true if the object is of the type specified, or if it derives from the type specfied.
Parameters
Type
          Type: Type
          The type to check.
ReadInstances(Source As FieldContainerInstance) As DataInstanceCollection Executes extraction for each defined zone, and then processes the list of results based on the value of the Zone Processing property.
Parameters
Source
          Type: FieldContainerInstance
          The full text source document.
Serialize() As String Serializes the object.
SetDatabase(Database As GrooperDb) Sets the database connection of the object.
Parameters
Database
          Type: GrooperDb
          
SetOwner(Owner As ConnectedObject, SkipInitialization As Boolean) Sets the owner of the connected object with another object that implements the IConnected interface.
Parameters
Owner
          Type: ConnectedObject
          
 
SkipInitialization
          Type: Boolean
          
ToString() As String Returns a string value representation of the connected object.
ValidateProperties() As ValidationErrorList Validates the properties of this object.