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.