Quality software development
using mathematically-inspired methods

Provably superior software

QEDWare's Services: QEDDecoderMetric

QEDDecoderMetric is QEDWare's proprietary platform for stress testing image-based decoder algorithms.

At its heart, QEDDecoderMetric has an engine that is able to produce an image that contains a barcode. The values of more than 30 parameters generate an image that results in an extremely realistic image.

Parameters relating to the physical barcode itself include: (click on to see video of parameter)
  • Minimum reflective distance (MRD - specifies "blackness" of black)
  • Curvature amount and direction
  • Uniform bar width growth
  • Element height (linear and stacked linear codes)
  • Wide to narrow ratio (binary linear codes)
  • Intercharacter gap (Code 39)
  • Margin size (distance to non-barcode element)
  • Skew (bars not perpendicular to top/bottom of barcode)
  • Inverse (white elements on black background)

Parameters relating to the optical subsystem include: (click on to see video of parameter)
  • Pixels per module
  • Blur diameter
  • White intensity
  • Signal to noise ratio (SNR)
  • SNR balance (noise stronger in black or white areas)
  • Roll angle
  • Border size (distance to edge of image)
  • Perspective distortion amount and direction
  • Gamma (non-linear response to image intensity)
  • Illumination change (percent change and width)
  • Ripple displacement
  • Ripple magnification
  • Mirror image

While generating a single image is certainly interesting, by itself it is of limited use in a testing environment. The ability to decode a single image is not adequate to determine if the algorithm is able to decode similar images in general. QEDDecoderMetric addresses this point by producing a number of images with very similar - but slightly different - parameters, submitting each of these to the decoder. It terminates once it determines that the confidence interval of the decode rate meets a desired condition.

While knowing if the decoder is able to decode images with a certain set of parameters is interesting, QEDDecoderMetric takes matters a step further by repeating this process with a set of values of two parameters. The result is a graph showing a very clear relationship between the two parameters with respect to the decoder's ability to correctly decode the barcode.

These graphs give great insight into the decoder. Each graph is able to - at a glance - show those values of parameters where the decoder is weak, where misdecodes or crashes occur, and the limits of the decoder.

In addition, by default, all images that misdecoded or crashed are saved to disk for post-run analysis, greatly facilitating debugging.

To see first-hand how QEDDecoderMetric can be used to test and improve a decoder, please look at our QEDDecoderMetric case study page.
Copyright 2013 QEDWare