ISO/IEC 15415 for Data Matrix and QR Codes

ISO 15415 is a standard that establishes the guidelines on how to assess the print quality of 2D bar code symbols, either multirow bar codes or two-dimensional matrix symbologies such as data matrix and QR codes.

It provides a set of quality indicators that give insight on specific areas of the bar code quality. You can use these indicators to compute an overall grade for the inspected bar code.

The ISO 15415 as a print quality assessment tool

To be used as a print quality assessment tool as intended, the ISO 15415 standard requires very specific acquisition conditions.

These conditions might include, but are not limited to:

A camera perpendicular to the plane of the code to be assessed.
4 light sources, placed at the 4 cardinal points around the code and providing specific illumination at a 45° angle.
An 8-bit gray-scale digitization.
A 1:1 magnification lens.
At least 5 pixels per module on the produced image.
A symbol centered in the image.

For more information about those conditions, please refer to chapter 7 of the standard.

The ISO 15415 as a symbol and/or setup quality assessment tool

Obviously, the conditions above are difficult to meet. However, the ISO 15415 standard is still useful as an assessment tool of your symbol and/or setup quality even if all those conditions are not met.

In the following paragraphs, we will give you insights on how to use the returned grades to that effect.

As Open eVision assesses one image at a time, it provides, according to the standard, a scan grade.
To compute an ISO 15415 overall grade, you need to make a total of 5 acquisitions with different symbol rotations, grade each of these acquisitions using Open eVision and then average the results.

The ISO 15415 quality indicators

The decode grade

The decode grade indicates if the symbol is readable (if it can be correctly decoded) by the symbology reference decoding algorithm.

The symbol contrast grade

The symbol contrast grade is a measure of the relative difference of reflectance between the brightest and the darkest module in the symbol.
If this grade is low, the detection and the digitization are more difficult as it is difficult to separate the code from the background.

A data matrix with a low contrast

The modulation grade

The modulation grade is a measure of the uniformity of the reflectance of the dark and light modules.
If this grade is low, the digitization is more difficult, as the variations prevent finding an easy way to separate white from black.

A data matrix with a low modulation grade

The reflectance margin grade

The reflectance margin grade is a measure of how the modules colors are distinguishable relative to the global threshold. This global threhold is the mean reflectance of the brightest and the darkest module.
If this grade is low, the digitization is less reliable. As the cells are too close to the separation limit, the light and dark cells can be confused.

A data matrix with a low modulation grade

The fixed pattern damage grade

The fixed patterns of the symbols characterize the symbols as such. The fixed pattern damage grade indicates the likelihood that the symbol is correctly located and identified in the image.

        

The areas relevant for this grade

The axial nonuniformity grade

The axial nonuniformity grade is a measure of the isotropy of the principal axis of the symbol relative to its corresponding ideal symbol geometry.
Usually, a low grade here only causes issues if a column or a row becomes too small to be accurately sized during the gridding.

A data matrix stretched along its horizontal axis

The grid nonuniformity grade

The nonuniformity grade is a measure of the maximum relative deviation of the intersection of the lines of the estimated grid from to its corresponding intersection in an ideal grid.
The lower the grade, the less uniform the shapes of the modules of the symbol are. However, this grade relies on a maximum deviation. It is thus quite unstable and its practical usage is limited.

    

On the left, the grid is computed from a data matrix in which the vertical and horizontal lines comprise one specific module and it had been stretched
On the right, the green dots correspond to the expected positions of the corners of the modules if the grid had been uniform

The unused error correction grade

The unused error correction grade indicates the extent to which the error correction algorithm capacity was used to decode the symbol.
A low grade is a sign that any further degradation of the acquisition conditions will lead to a decoding failure.

A data matrix with damaged modules that requires the use of error correction

The format information grade (QR codes and micro QR codes)

The format information grade indicates the readability of the format information blocks.
The lower the grade, the more errors must be corrected to recover the error correction level and the masking pattern that are necessary to reliably decode the symbol.

    

The areas relevant for this grade

The version information grade (QR codes)

The version information grade indicates the readability of the version information blocks.
The lower the grade, the more errors must be corrected to recover the version of the symbol.

This is relevant only for versions ≥ 7.

The areas relevant for this grade

The scan grade

The scan grade is the lowest grade value of all the grade indicators. It is a measure of the overall quality of the code in the image.