Required, optional, and prohibited elements
A distinguishing feature of semi-structured documents is that sets of fields may vary from one document to another. For this reason, when creating an element, one must bear in mind that the objects(s) described by the element may be absent on some of the image and therefore will not be detected. Additionally, image information may be lost if incorrect scanning results in dark or bright patches on an image. In this case the objects located in such patches will not be detected either. FlexiLayout Studio can go on searching for elements even if a particular element has not been detected. To allow FlexiLayout Studio to continue matching the FlexiLayout even if a particular object has not been detected, you need to mark this object as optional.
Objects described by required elements must always be present on the images and the program must find then when matching the FlexiLayout with images. If the object is not detected, FlexiLayout Studio stops matching the FlexiLayout.
Use required elements to find identifier objects. An identifier object prevents matching the FlexiLayout with a document that belongs to a different type not described by the current FlexiLayout. You can also use required elements to describe objects whose absence means that any further search would be useless.
In all other cases, use optional elements to describe image objects.
Objects described by such elements need not be present on the image or the program may not detect them when matching the FlexiLayout. The matching will still continue and the program will detect the objects described by other elements.
By default, all simple elements are optional.
Note.Unlike simple elements, all Group elements are required by default.
The presence of a certain element in a chain of hypotheses may mean that the chain is not correct and should be discarded. These elements are termed prohibited elements. When the program hits on a prohibited element, it stops generating hypotheses in the branch where the prohibited element has been encountered.
Thus, elements may be used to identify a document (required elements), to detect blocks (required and optional elements), and to discard incorrect hypotheses (prohibited elements). Prohibited elements may be used, for example, to prevent false FlexiLayout matching.
You can specify how an element should be used it its Properties dialog box (General tab).
Required and prohibited elements are indicated as follows:
- required element are marked with green checks:
- prohibited elements are marked with red checks:
5/25/2023 7:55:03 AM