Data Layer Reference
Complete node listing. All paths start with:
hdvisionsystems/lumiscan-template-finder/
Address pattern
hdvisionsystems/lumiscan-template-finder/
├── system/ application-wide management
│ ├── modules
│ ├── template-dir the one directory templates live in
│ ├── templates what is in it
│ ├── set-template-dir/
│ ├── create-template/ application-wide, not per module
│ ├── create-module/
│ ├── remove-module/
│ ├── save-current-modules/
│ └── save-module-inputs/
└── <module-id>/ one per configured instance, e.g. module-1
└── find-template/
├── execute
├── input/...
└── output/{result, status-code, status-text}
Every operation has execute, output/status-code and output/status-text. Anything else under
output/ is present only where the operation has more to report.
|
A fresh installation serves one module, |
system
| Node | Type | Description |
|---|---|---|
|
string array |
The modules that currently exist |
|
string |
Directory every module reads templates from and writes them to, relative to the configuration
directory. Read-only - change it with |
|
string array |
Templates available in that directory, without the |
|
method |
Point the application at another template directory |
|
string |
Directory to switch to. It must already exist |
|
method |
Cut a template out of a live image and save it into |
|
method |
Create a module and its node subtree |
|
string |
Name of the module to create |
|
method |
Remove a module and its node subtree |
|
string |
Name of the module to remove |
|
method |
Persist the module list, so the same modules return after a restart |
|
method |
Persist one module’s inputs |
|
string |
Module whose inputs to persist |
<module-id>/find-template
Inputs
| Node | Type | Default | Description |
|---|---|---|---|
|
string |
(empty) |
Address of the image node to search |
|
string |
(empty) |
Template to search for, as listed on |
|
uint16 |
|
Left edge of the region to search, pixels |
|
uint16 |
|
Top edge of the region to search, pixels |
|
uint16 |
|
Width of the region. |
|
uint16 |
|
Height of the region. |
|
string |
|
|
|
double |
|
Smallest scaling factor |
|
double |
|
Largest scaling factor |
|
double |
|
Increment between scales |
|
double |
|
Smallest rotation, degrees |
|
double |
|
Largest rotation, degrees |
|
double |
|
Increment between rotations, degrees |
|
double |
|
Minimum acceptable score, 0-1 |
|
string |
|
Matching algorithm |
|
bool |
|
Match on grayscale |
|
double |
|
Blur strength in X; 0 or less disables |
|
double |
|
Blur strength in Y; 0 means same as X |
|
uint32 |
|
Blur kernel width; 0 derives from strength |
|
uint32 |
|
Blur kernel height; 0 derives from strength |
|
int32 |
|
Downsample factor; 1 disables |
system/create-template
Inputs
| Node | Type | Default | Description |
|---|---|---|---|
|
string |
(empty) |
Address of the image node to cut from |
|
int32 |
|
Left edge of the region, pixels |
|
int32 |
|
Top edge of the region, pixels |
|
int32 |
|
Width of the region, pixels |
|
int32 |
|
Height of the region, pixels |
|
string |
(empty) |
Name to save under, inside |
Result flatbuffer
output/result is a hdv.template_match.Result:
| Field | Type | Description |
|---|---|---|
|
array of |
One entry per occurrence, sorted by confidence |
|
ulong |
Index of the best match; always 0 |
|
float |
Confidence of the best match; 0.0 if none |
|
string |
Template used |
|
string |
Algorithm used |
|
float |
Threshold applied |
|
uint |
Width of the searched image |
|
uint |
Height of the searched image |
|
ulong |
Microseconds since the epoch |
Match:
| Field | Type | Description |
|---|---|---|
|
struct |
|
|
float |
Score, 0-1 |
|
float |
Scaling factor of this match |
|
float |
Rotation of this match, degrees |
Image node expected at input-image-address
The address must name an image node of another application on the same ctrlX CORE, providing:
| Child | Type | Description |
|---|---|---|
|
array of uint8 |
Raw pixel data |
|
uint64 |
Width in pixels |
|
uint64 |
Height in pixels |
|
string |
GenICam pixel format name |
An address inside this application is rejected with status code -2.
Status codes
See Execution Status for the full table.
Negative is always an error; 0 means not yet run; positive means success.