Code Grading

What Is Grading?

The “code grading”, or “code quality verification”, is a process that assesses the quality of a printed or engraved code.

  • Different grading standards exist, each pertaining to one or more code types, that specify several grading parameters and how to compute them. In addition to these parameters, a global grade is often computed to summarize the overall quality of the code.

  • When a code receives a failing grade, identifying which grade(s) caused the failure can help to locate the physical problem.

  • The grades are generally returned:

    • As letters, from A (best) to F (worst).

    • As numbers: from 4.0 (best) to 0.0 (worst).

  • While grading is meant to assess the print quality of a code, it also requires specific capture conditions to give accurate results. However, if these conditions are not met, the grading results might give insight on how you can improve your acquisition setup for better results.

  • The grading standards currently implemented within eVision are:

How to Compute Grading with eVision

In eVision, each type of code is handled by a specific reader class:

While the reader classes are different, the way to compute and retrieve the grading results is the same:

  1. Instantiate the relevant reader class.

  2. Use SetComputeGrading(true) to enable the grading computation.

  3. For ISO 29158 only, use SetIso29158CalibrationParameters to set up the calibration parameters (see ISO/IEC 29158 for Data Matrix Codes and QR Codes).

  4. Use Read on an image containing a code to read and grade the code.

  5. Use the corresponding accessor(s) to retrieve the calibration results for the relevant grade(s):

    • For ISO 15415: GetIso15415GradingParameters

    • For ISO 15416: GetIso15415GradingParameters

    • For ISO 29158: GetIso29158GradingParameters

    • For SEMI T10-0701: GetSemiT10GradingParameters

Implementation Specifics and Limitations

General Limitations of the Grading Process

  • eVision is an image processing software, and, as such, its inputs are arrays of pixels. Most standards discussed in this document provide guidelines based not on pixels, but on continuous surfaces presenting a continuous reflectance.

  • Most standards also impose constraints on lighting and camera placement that eVision cannot check or enforce.

  • All standards also make the hypothesis that the position of the code is perfectly known. That, in practice, is usually not true, especially for 1D bar codes.

    • So, there is no guarantee that eVision returns exactly the same grade as other software tools (assuming there is no error in those), as choices made to alleviate or circumvent the previous points can differ.

  • If you face important differences in grades for the same image or are unsure why some of your images are graded the way they are, feel free to contact the technical support.

Implementation Specifics

  • Given the pretty strict scope and requirements of the grading standards, it can be difficult, if not impossible, to grade some codes when the acquisition conditions are not perfect.

    • Because of this, eVision sometimes implements some of the grading processes in a manner slightly different than the canonical one to allow a little more leeway in these conditions.

  • These adaptations, however, are made in such a way that if the grading process is made within the requirements of the standard, it yields the required grades as values, as verified by the usage of tools such as conformance calibration test cards.

References

Contents

ISO/IEC 15416

ISO/IEC 15416 specification for 1D bar codes

ISO/IEC 15416 for 1D Bar Codes
ISO/IEC 15415

ISO/IEC 15415 specification for data matrix codes and QR codes

ISO/IEC 15415 for Data Matrix and QR Codes
ISO/IEC 29158

ISO/IEC 29158 specification for Data Matrix Codes and QR Codes

ISO/IEC 29158 for Data Matrix and QR Codes
SEMI T10-0701

SEMI T10-0701 specification for data matrix codes

SEMI T10-0701 for Data Matrix Codes

See also

In eVision Studio, all code readers tools display the corresponding grades in the results tab when Compute grading is checked.