> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CheckmarkBlock Object (ICheckmarkBlock Interface)

This object provides access to specific properties of a checkmark block. The ICheckmarkBlock interface is derived from the [IBlock](/fine-reader/engine/api-reference/layout-related-objects/block) interface and inherits all its properties. This object may be an element of the [CheckmarkGroup](/fine-reader/engine/api-reference/layout-related-objects/checkmarkgroup) collection.

The properties of this object can be divided into two groups:

* the properties which affect the process of checkmark recognition in the block. These are ImageProcessingParams, CheckmarkType, IsCorrectionEnabled, BlackThreshold, SuspiciousDistance, TrainingData. It is via these properties that you can set special parameters of checkmark processing for a single block.
* all other properties, which represent the results of recognition.

## Properties

<table><thead><tr><th><p><strong>Name</strong></p></th><th><p><strong>Type</strong></p></th><th><p><strong>Description</strong></p></th></tr></thead><tbody><tr><td colspan="3"><p><a name="group_1" /><em>Processing settings</em></p></td></tr><tr><td><p><a name="imageprocessingparams" /><strong>ImageProcessingParams</strong></p></td><td><p><strong><a href="/fine-reader/engine/api-reference/image-related-objects/imageprocessingparams">ImageProcessingParams</a></strong></p></td><td><p>Provides access to the set of properties affecting image preprocessing inside the checkmark block.</p></td></tr><tr><td><p><a name="checkmarktype" /><strong>CheckmarkType</strong></p></td><td><p><strong><a href="/fine-reader/engine/api-reference/enumerations/checkmarktypeenum">CheckmarkTypeEnum</a></strong></p></td><td><p>Specifies the checkmark type used for recognition. When creating checkmark blocks manually, set this property to specify checkmark type. When checkmarks are found on the image during layout analysis, the type is detected automatically.</p><p>Notes:</p><ul><li>This property must be identical fr all checkmarks belonging to a single group.</li><li>If the type of checkmark is CMT\_Custom, recognized checkmark can be either checked or unchecked (see the description of the <strong>CheckmarkState</strong> property).</li></ul><p>The default value is CMT\_Empty.</p></td></tr><tr><td><p><a name="iscorrectionenabled" /><strong>IsCorrectionEnabled</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">VARIANT\_BOOL</a></strong></p></td><td><p>This property set to TRUE means that checkmark block can be selected and then corrected.</p><p>Notes:</p><ul><li>This property must be identical for all checkmarks belonging to a single group.</li><li>If the <strong>CheckmarkType</strong> property is CMT\_Custom, the value of this property is ignored: recognized checkmark of this type can be either checked or unchecked (see the description of the <strong>CheckmarkState</strong> property).</li></ul><p>The default value is FALSE.</p></td></tr><tr><td colspan="3"><p><em>Settings for processing custom trained checkmarks</em></p></td></tr><tr><td><p><a name="blackthreshold" /><strong>BlackThreshold</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">int</a></strong></p></td><td><p>Specifies the percentage of black color which is necessary to consider the checkmark checked. This property can be used only for checkmarks of the type <a href="/fine-reader/engine/api-reference/enumerations/checkmarktypeenum#cmt_custom">CMT\_Custom</a>.</p><p>By default, it is -1.</p><p>After checkmark training or when you load the <strong>TrainingData</strong> for this checkmark this value is changed.<strong> </strong>See details in <a href="/fine-reader/engine/guided-tour/advanced-techniques/recognizing-checkmarks#custom">Recognizing Checkmarks</a>.</p></td></tr><tr><td><p><a name="suspiciousdistance" /><strong>SuspiciousDistance</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">int</a></strong></p></td><td><p>Specifies the distance from black threshold which makes the checkmark uncertainly recognized. If the absolute value of the difference between <strong>AmountOfBlack</strong> and <strong>BlackThreshold</strong> is less than or equal to the value of this property, the <strong>IsSuspicious</strong> property will be set to TRUE.</p><p>This property can be used only for checkmarks of the type <a href="/fine-reader/engine/api-reference/enumerations/checkmarktypeenum#cmt_custom">CMT\_Custom</a>.</p><p>The default value is -1.</p><p>After checkmark training or when you load the <strong>TrainingData</strong> for this checkmark this value is changed. See details in <a href="/fine-reader/engine/guided-tour/advanced-techniques/recognizing-checkmarks#custom">Recognizing Checkmarks</a>.</p></td></tr><tr><td><p><a name="trainingdata" /><strong>TrainingData</strong></p></td><td><p><strong><a href="/fine-reader/engine/api-reference/layout-related-objects/checkmarktrainingdata">CheckmarkTrainingData</a></strong></p></td><td><p>Specifies the checkmark training data. This property makes sense only for checkmarks of the type <a href="/fine-reader/engine/api-reference/enumerations/checkmarktypeenum#cmt_custom">CMT\_Custom</a>.</p><p>Checkmark training data is created for each checkmark block of the type CMT\_Custom during checkmark training using the <strong><a href="/fine-reader/engine/api-reference/document-related-objects/frpage/learncheckmarks-method">IFRPage::LearnCheckmarks</a> </strong>method.</p><p>If you want to use training data for a checkmark of the type CMT\_Custom, you should initialize the value of this property of corresponding checkmark block with the suitable <strong>CheckmarkTrainingData</strong> object obtained during training. See details in <a href="/fine-reader/engine/guided-tour/advanced-techniques/recognizing-checkmarks#custom">Recognizing Checkmarks</a>.</p><p>This property correlates with the values of<strong> BlackThreshold</strong> and <strong>SuspiciousDistance</strong> properties: when a new <strong>CheckmarkTrainingData</strong> object is assigned to this property, <strong>BlackThreshold</strong> and <strong>SuspiciousDistance</strong> are set to the values with which that object was saved. Conversely, when you change <strong>BlackThreshold</strong> and <strong>SuspiciousDistance</strong> and save the value of this property, you receive a new <strong>CheckmarkTrainingData</strong> object which retains the information about the values of those two properties.</p></td></tr><tr><td colspan="3"><p><a name="group_2" /><em>Results of recognition</em></p></td></tr><tr><td><p><a name="checkmarkstate" /><strong>CheckmarkState</strong></p></td><td><p><strong><a href="/fine-reader/engine/api-reference/enumerations/checkmarkcheckstateenum">CheckmarkCheckStateEnum</a></strong></p></td><td><p>Returns the state of the checkmark block: checked, unchecked, corrected.</p><Note>If the CheckmarkType property is CMT\_Custom, recognized checkmark can be either checked or unchecked, it cannot be in the corrected state.</Note></td></tr><tr><td><p><a name="issuspicious" /><strong>IsSuspicious</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">VARIANT\_BOOL</a></strong></p></td><td><p>This property set to TRUE means that the checkmark was recognized uncertainly.</p></td></tr><tr><td><p><strong>AmountOfBlack</strong></p></td><td><p><strong><a href="/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties">int</a></strong>, read-only</p></td><td><p>Returns the percentage of black color on the image of the checkmark.</p></td></tr></tbody></table>

## Methods

| Name                                                                                                                  | Description                                                                                               |
| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| [CopyFrom](/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/copyfrom-method) | Initializes the properties of the current object with the values of similar properties of another object. |

## Related objects

<img src="https://mintcdn.com/abbyy/6udH-pkk8zkVafYH/images/fine-reader/engine/checkmarkblock.gif?s=5b91223e777f202ccf25e73ff7fb603c" alt="CheckmarkBlock" width="274" height="224" data-path="images/fine-reader/engine/checkmarkblock.gif" />[](/fine-reader/engine/api-reference/layout-related-objects/checkmarktrainingdata)[](/fine-reader/engine/api-reference/layout-related-objects/block)[](/fine-reader/engine/api-reference/layout-related-objects/layout#blocks)[](/fine-reader/engine/api-reference/layout-related-objects/block#region)[](/fine-reader/engine/api-reference/image-related-objects/imageprocessingparams)[](/fine-reader/engine/api-reference/supplementary-objects-and-methods/region)[](/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/element-property)[](/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/element-property)[](/fine-reader/engine/api-reference/layout-related-objects/block)[](/fine-reader/engine/api-reference/layout-related-objects/checkmarkgroup)[](/fine-reader/engine/api-reference/layout-related-objects/layoutblocks)[](/fine-reader/engine/api-reference/layout-related-objects/layout)

[Object Diagram](/fine-reader/engine/api-reference/object-diagram)

## Output parameter

This object is the output parameter of the following methods and properties:

* [GetAsCheckmarkBlock](/fine-reader/engine/api-reference/layout-related-objects/block/getascheckmarkblock-method) method of the [Block](/fine-reader/engine/api-reference/layout-related-objects/block) object
* [Item](/fine-reader/engine/visual-components-reference/supplementary-objects/spellwordcollection/item-method), [AddNew](/fine-reader/engine/api-reference/layout-related-objects/checkmarkgroup/addnew-method) methods of the [CheckmarkGroup](/fine-reader/engine/api-reference/layout-related-objects/checkmarkgroup) object

## See also

[Block](/fine-reader/engine/api-reference/layout-related-objects/block)

[CheckmarkGroup](/fine-reader/engine/api-reference/layout-related-objects/checkmarkgroup)

[Working with Layout and Blocks](/fine-reader/engine/guided-tour/advanced-techniques/working-with-layout-and-blocks)

[Recognizing Checkmarks](/fine-reader/engine/guided-tour/advanced-techniques/recognizing-checkmarks)

[Working with Properties](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties)
