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
Find()
call: Reader.TbrCode = tbrCode; // ClearImage 9 ORWhere:
Reader.Encodings = tbrCode; // ClearImage 8 or ClearImage 9
Reader
– ClearImage Reader object: CiBarcodePro, CiDataMatrix, CiPdf417 or CiQRtbrCode
– 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 9Where:
Reader
– BarcodeReader objecttbrCode
– 3 digit TBR code
In the following examples use TBR code value of 103.
ClearImage 9 API Code Examples
C#
123
//... create and configure readerreader.TbrCode=103; // Apply TBR code 103 to Read() calls that followreader.Read(fileName, page);
VB
123
'... create and configure readerreader.TbrCode=103 ' Apply TBR code 103 to Read() calls that followreader.Read(fileName, page)
C++
123
//... create and configure readerreader->TbrCode = 103; // Apply TBR code 103 to Find() calls that followreader->Find(0);
Java
123
//... create and configure readerreader.setTbrCode(103); // Apply TBR code 103 to Find() calls that followreader.Find(0);
PHP
123
//... create and configure reader$reader->TbrCode = 103; // Apply TBR code 103 to Find() calls that follow$BCcount = $reader->Find(0);
Delphi
12345
TBR: Integer;//... create and configure readerTBR := 103;reader.TbrCode = TBR;reader.Find(0);
VBScript/ASP
1234
'... Create and configure readerTBR = 103reader.TbrCode = TBR ' Apply TBR code 103 to Find() calls that followreader.Find 0
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#
123
//... create and configure readerreader.Read("103", 456780); // Apply TBR code 103 to Read() calls that followreader.Read(fileName, page);
VB
123
'... create and configure readerreader.Read("103", 456780) ' Apply TBR code 103 to Read() calls that followreader.Read(fileName, page)
C++
123
//... create and configure readerreader->Encodings = (EBarcodeEncoding)103; // Apply TBR code 103 to Find() calls that followreader->Find(0);
Java
123
//... create and configure readerreader.setEncodings(EBarcodeEncoding.fromInt(103)); // Apply TBR code 103 to Find() calls that followreader.Find(0);
PHP
123
//... create and configure reader$reader->Encodings = 103; // Apply TBR code 103 to Find() calls that follow$BCcount = $reader->Find(0);
Delphi
12345
TBR: Integer;//... create and configure readerTBR := 103;reader.Encodings = TBR;reader.Find(0);
VBScript/ASP
1234
'... Create and configure readerTBR = 103reader.Encodings = TBR ' Apply TBR code 103 to Find() calls that followreader.Find 0
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, – DataMatrix, – QR. |
|||||||||
COMMAND |
Commands executed by TBR code. A tilde character (~ ) should separate multiple commands. Public commands are: |
||||||||
|
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.
- 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.
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,