Requirements

Licence

The application requires the licence SWL-W-XCx-TEMPLxFDxxHDVS-V1NN, one instance per installation. Without it the application shuts down shortly after starting; the reason is written to the system log.

An image source on the same ctrlX CORE

The application reads its images from another application’s Data Layer image node. That application must run on the same ctrlX CORE - remote Data Layer access is not supported.

In practice this is LumiScan Cam Driver, but any application works as long as its image node provides these four children:

Node Type Description

data

array of uint8

Raw, uncompressed pixel data

width

uint64

Image width in pixels

height

uint64

Image height in pixels

pixel-type

string

GenICam pixel format name

Supported pixel formats

Mono8, Mono12, RGB8, RGB12, BGR8, BGR12, BayerGR8, BayerGR12, BayerRG8, BayerRG12.

Bayer images are converted to colour and 12-bit images are scaled down to 8 bit before matching, so templates cut from one format still match images of another.

Any other pixel format is rejected with status code -3.

Storage

Templates are stored as PNG files in the application’s configuration directory, which is part of the active solution. Allow for the size of the templates you expect to keep - a template is a small crop, typically a few tens of kilobytes.

The directory is created on first start. See Template Storage.

Timing

Matching is synchronous: the call to execute returns when the search has finished. How long that takes depends on the image size, the template size, and above all on how wide a scale and rotation range is searched - the work is one pass per scale/rotation combination.

Start from the defaults, which search a single scale and rotation, and widen only as far as the application actually needs. See Tuning the Search.