Some applications require that you evaluate the quality of a
printed or marked code. Due to the possibility for codes on a
product to degrade through the production process, it is often
important that codes meet certain standards before leaving the
marking station. The CodeGrade step performs code
grading according to selected ISO and AIM-DPM standards. There are
many code attributes that can be graded, all of which contribute to
a code's readability. The grade of a result can range from
A to
F. The most
commonly used result is OverallSymbolGrade, which is
determined as the minimum grade found across all attributes of a
code. You can also retrieve several numeric results from the
CodeGrade step,
such as SymbolContrast or
PrintGrowth.
The CodeGrade
step allows you to grade all code types supported by the
CodeReader
step, except the Pharmacode, Postnet, and Planet code types.
For the CodeGrade step results to be
accurate, some of the settings must be correctly configured and the
lighting and acquisition must be set up such that the imaged code
meets certain conditions:
-
Has a maximum contrast and minimum noise.
-
Avoids pixel saturation.
-
Has a cell size of at least 3. A smaller cell size results in a
less robust result.
-
Has a uniform foreground and background grayscale level (that
is, there should be no glare or dark spots present in the
image).
Ideally, the setup and configuration should be done following
the described calibration procedure using a standard test card. If
it is not possible to implement the calibration procedure (for
example, due to lack of reference cards or physical and workflow
constraints), this chapter also discusses a way to determine
approximate values to use, that should give you good results, but
will not be as accurate as following a full calibration.
The following table lists the common code attributes that can be
graded using the CodeGrade step. This
includes attributes of the scan reflectance profiles, which are
records of values measured along a line across the width of the
code and its quiet zone.
Attribute
|
Notes
|
Axial nonuniformity
|
|
This attribute is a measure of how spacing between sampling
points differs between the X- and Y-axis (width to height).
|
Contrast
|
|
This attribute is a measure of the contrast in the cells of the
code occurrence or in the entire code occurrence. The higher the
contrast, the better it is for scanning purposes and the better the
grade.
|
Decode
|
|
This attribute is a measure of the success or failure of the
decoding algorithm and is used to determine if the code is
readable.
|
Defects
|
|
This attribute is a measure of the defects, or local deviations,
in the scan reflectance profiles of the code.
|
Fixed-pattern damage
|
|
This attribute is used to grade the damage relating to the
finder pattern and/or clock pattern of a 2D Data Matrix code.
|
Grid nonuniformity
|
|
This attribute is calculated as the amount of deviation of the
code occurrence's actual grid from an ideal grid.
|
Minimum edge contrast
|
|
This attribute is calculated as the contrast between 2 adjacent
regions (for example, a bar and an adjacent space).
|
Print growth
|
|
This attribute is a measure of the extent in which the
boundaries of the black and white markings of the code occurrence
are within their cell's boundaries.
|
Start/stop pattern
|
|
This attribute is used to grade the quality of the pattern that
marks the end points of the code occurrence.
|
Unused Error Correction
|
|
This is a measure of the extent in which regional or spot damage
in the code occurrence has eroded the reading safety margin that
error correction provides.
|