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 |
|---|---|---|
|
array of uint8 |
Raw, uncompressed pixel data |
|
uint64 |
Image width in pixels |
|
uint64 |
Image height in pixels |
|
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.