Targeted Barcode Reader (TBR)

Inlite’s Targeted Barcode Reader (TBR) technology addresses customer-specific requirements for barcode recognition. TBR allows Inlite to apply its technical expertise to deliver custom solution as rapidly and cost effectively as an off-the-shelf product. To obtain the appropriate TBR parameters for your application use the TBR Wizard or contact Inlite.

Overview

Terminology

  • ClearImage Reader -  One of Inlite’s standard readers: Barcode 1D Pro, PDF417, DataMatrix, QR
  • TBR Reader – an extension of the ClearImage reader with additional recognition, validation and formatting capabilities
  • TBR Code  – is a numeric value that identifies the TBR reader. The code are:
    • 0 – Default code. It is in effect when no TBR code is set by the application
    • 100-199 – Internal predefine codes (some of the codes in this range are reserved for future)
    • 400-499 – External codes defined in an INI file. See External TBR Codes
  • TBR Wizard -  a tool to find an optimum TBR Code(s) for a specific image or set of images

Requirements

  • Version Installation: Install ClearImage SDK or ClearImage PDK version 8.3.4521 or later
  • Licensing: The use of TBR in production requires the purchase of ClearImage Reader 1D, ClearImage Reader 2D or ClearImage Reader 1D+2D license

Activation

Select a TBR reader before barcode reading.
TBR activation API reuses the existing COM and .NET API parameters and methods in order to maintain compatibility with previous versions of ClearImage

COM and Java API and and .NET Inlite.ClearImage namespace:. Set before Find() call:
Reader.TbrCode = tbrCode;      // ClearImage 9
   OR
Reader
.Encodings = tbrCode; // ClearImage 8 or ClearImage 9
   Where:
      Reader – ClearImage Reader object: CiBarcodePro, CiDataMatrix, CiPdf417 or CiQR
      tbrCode – 3 digit TBR code

.NET Inlite.ClearImage namespace:. Set before Read() call:    
Reader.TbrCode = tbrCode;          // ClearImage 9
   OR
Reader.Read("tbrCode", 456780);    // ClearImage 8 or ClearImage 9
   Where:
      ReaderBarcodeReader object
      tbrCode – 3 digit TBR code

In the following examples use TBR code value of 103.

ClearImage 9 API Code Examples

C#


VB


C++


Java


PHP


Delphi


VBScript/ASP


ClearImage 8 API Code Examples

This API can be used with both ClearImage 8 and ClearImage 9. It reuses ClearImage 8 methods and properties with TBR-specific values to preserve backward compatibility for existing Inlite’s customers.

C#


VB


C++


Java


PHP


Delphi


VBScript/ASP


Notes

If the TBR code is invalid or not applicable to barcode type, an exception is generated.

If a barcode is obtained using a TBR reader, then the <tbr> tag of barcode’s meta-data contains TBR code.

Do not use image pre-processing with ClearImage Tools or Repair before using ClearImage Reader with TBR code. This might lead to unpredictable results.

External TBR Codes

This section is applied to ClearImage 9 or later.

External TBR Codes are defined in the TBR section of the INI file: C:\ProgramData\Inlite\ClearImage\ci.ini.
If this file does not exists, create it it in any text edito (e.g. Notepade)
As any TBR codes the goal is to maximize recognition rate through:

  • Change the default recognition algorithm (TBR 0) to a predefined or an external TBR code without change of application code.
  • Activate multiple TBR codes for a single read operation.
  • Implement new custom TBR. Contact Inlite’s support for advice.

The format of the External TBR definition is:

tbrCODE[:READER]=COMMAND[~COMMAND]... 

The values in [ ] are optional. The values in italic are variables. Where:

CODE 0 or a 3-digit number
READER Optionally identify ClearImage Readers to which this TBR code apply. If not set, the code applies to all readers.
  This is a string where a single character identifies each reader type:
1 – Barcode 1d PRO,
p – PDF417,
d
– DataMatrix,
q
– QR.
COMMAND Commands executed by TBR code. A tilde character (~) should separate multiple commands. Public commands are:
 
id:text the text value is for reference purpose only and does not affect the execution
tbr:code Redirection. Execute TBR identified by the code value.
max:nmb The maximum number of barcodes to read. If this value and values in Find(maxBarcodes) or BarcodeReader.MaxBarcodes are non-zero, then the minimum value applies.
rd Read barcodes after applying commands that follow the last rd command. For the first rd command, all commands from the start are applied.

Examples

Typical uses of public commands:

  [TBR]   REQUIRED. Start of the TBR section.
  tbr0:p = tbr:103   Change default processing to TBR 103 for PDF417 reader only.
  tbr410 = max:1~tbr:112~rd~tbr:125~rd~tbr:103~rd   Read one barcode using TBR codes 112, 125 and 103.

To limit the number of barcodes to read set positive non-zero value using max command, Find(maxBarcodes) or BarcodeReader.MaxBarcodes. If multiple limits are set, the minimum value is used.
If the limit is set and the detected barcodes count reaches this limit, further processing is stopped.
Only one value is returned for each barcode on an image, even if this barcode is detected using multiple TBR Codes.

NOTE: To activate the external TBR CODE should be assigned to Reader.TbrCode parameter. See here.

TBR Wizard in ClearImage Demo

ClearImage Demo is an interactive application included with the ClearImage SDK. It is designed to evaluate and optimize barcode recognition process .

Each ClearImage Reader has a Configuration dialog box that includes the following items related to TBR:

  • Explicitly Activate TBR: In the reader options dialog box:
    • Check the Enable checkbox.
    • Selected TBR in the list of available codes.

      tbr_dialog.jpg

  • Find the best TBR code. In the reader options dialog box:
    • Click the Wizard button
    • In the TBR Wizard dialog box click the Start button. This will read all the barcodes on the current image utilizing each of available TBR codes.
    • Tested TBR codes are sorted by the decreasing number of found barcodes and by increasing recognition time. The best TBR for this image is on the top of the list.
    • Click Done. Use Top TBR to activate code on the top of the results list.

      tbr_wizard.jpg

The Barcode reading results dialog box shows utilized TBR code in META DATA section

Online Barcode Reader

Inlite’s Online Barcode Reader (OBR) uses one of TBR readers available to our customers. The TBR code for this reader is 103

OBR is designed to recognize the maximum number of barcodes with no prior information about how the image was acquired or quality of image.  To achieve this goal, a variety of different image preprocessing algorithms are applied and tested, sacrificing the speed of recognition.  ClearImage Readers on the another hand are optimized for a balance of speed and  maximum number of recognized barcodes.  Based on Inlite’s experience it is optimized for the most of the images that our customers encounter. 

Those few images that not read by ClearImage Readers , the so called corner cases, might represent significant portion of a particular customer’s workflow . The Targeted Barcode Reading is the technology to address such customer’s needs.

Though OBR might read your images, it may not be the most optimal solution from speed or recognition rate perspective. It is possible that other build-in or custom TBR reader may be more suitable. Contact Inlite to get specific recommendations to address your high volume production requirements. 

Contacting Inlite Technical Support

Contact Inlite at support@inliteresearch.com to help you select appropriate TBR reader

Please include this information with your support request:

  • Describe your project goals and requirements.
  • Representative set of your typical image files (up to 10 files).
    Large files (> 1MB) are typically transferred through online file-sharing service (dropbox.com or service of your choice)
  • Describe you barcode-based process:
    • How barcodes are generated?
    • How images with barcode are acquired?
  • What is your programming language?
  • If you already have code developed, send us snippets showing all calls to ClearImage
    If possible send us zipped project that can be build and modified in our environment,