v1.1.0 - 2026.08.07
First functioning release of LumiScan Template Finder. Earlier versions registered the application’s Data Layer nodes but returned a fixed placeholder result, so nothing in this list was usable before.
Added:
-
Template matching.
<module>/find-template/executesearches a camera image for a stored template and reports every occurrence it finds, with an oriented bounding box, a confidence, and the scale and rotation the match was found at. The search covers a configurable range of scales and rotations. See Finding a Template. -
Template creation from a live image.
system/create-template/executecuts a rectangular region out of a camera image and saves it as a template PNG, so a template can be produced from the real camera without transferring files. It is an application-wide operation: the template it writes is usable by every module at once. See Creating a Template. -
Results as a flatbuffer.
<module>/find-template/output/resultcarries the matches together with the template name, the matching mode and the threshold that produced them, so a stored result can be interpreted later without knowing how the search was configured. -
Several modules. Each configuration lives under
<module-id>/with its own settings and results, and modules can be created and removed while the application runs throughsystem/create-moduleandsystem/remove-module.system/save-current-moduleskeeps the set across a restart, andsystem/save-module-inputskeeps one module’s settings. One licence is valid for ten modules; the eleventh acquires a second licence of the same key, and a module is refused with status-11when no licence covers it. See Module Management. -
One template directory for the whole application.
system/template-dirnames the directory every module reads templates from andcreate-templatewrites them to, so a template only ever has to be created once. Change it withsystem/set-template-dir; the choice is saved and restored on the next start. A directory that does not exist is refused rather than created, so a typo is reported instead of silently producing an empty folder. -
A list of the available templates.
system/templatesreports what is in that directory, without the.pngextension, so an entry can be pasted straight into<module>/find-template/input/template-nameinstead of a file name being guessed. It is refreshed at startup, when the directory changes, and whencreate-templatesaves a template. See Template Storage. -
Search only part of the image.
<module>/find-template/input/crop/limits the search to a rectangle. A zero width or height reaches the corresponding edge, so the default all-zero region searches the whole image. A region reaching past an edge is refused, naming the input and the limit it broke, rather than being trimmed to fit. -
Choose the frame the positions are reported in.
<module>/find-template/input/result-coordinateisIMAGE(the default) for positions in the full image, orCROPfor positions inside the searched region. -
The search range is grouped. The scale, rotation and preprocessing inputs sit in folders of their own -
<module>/find-template/input/scale/,.../rotation/and.../preprocess/- so a Data Layer browser shows three small groups instead of one flat list of fourteen values. -
Status reporting on every operation. Each operation reports
output/status-codeandoutput/status-text. The status code is signed, and the sign alone says whether the operation worked: negative is an error, zero means it has not run yet. See Execution Status. -
Template storage in the active solution. Templates are PNG files in the application’s configuration directory, so they are included when the solution is exported and restored with it on another device. The directory is created on first start, so there is somewhere to upload to on a new installation. See Template Storage.
-
A configurable log level.
system/logLevelinlumiscan-template-finder.jsonsets how much the application logs -TRACE,DEBUG,INFO,WARN,ERROR,FATALorOFF- in the same block the other LumiScan applications use, soTRACEcan be turned on for a support report and turned off again afterwards. It is read at startup, and a missing or misspelled value leaves the application as talkative as it was. See Template Storage.
Notes:
-
Every method clears its own output nodes as it begins, before anything that can fail, so a failed run leaves them empty rather than holding what an earlier run produced. Status
-1(busy) is the exception: that call never ran, so it leaves the running operation’s outputs alone. The outputs therefore belong to the run that is starting - read them before triggering the next one. See Execute a Method. -
system/template-dirandsystem/templatesare read-only. The directory is changed only throughsystem/set-template-dir, so the listing can never disagree with the directory it came from. -
Only files ending in a lower case
.pngare listed onsystem/templates, so givecreate-templatea lower case name. A file copied into the directory by other means is usable at once but does not appear in the list until it is refreshed. -
Duplicate matches are removed before the result is published. Searching a range of scales or rotations finds the same part once per step, so without this a single part would be reported many times.
-
The match confidence is rescaled for each scale/rotation step, so it is not an absolute measure of similarity, and the threshold applies per step rather than globally. This matters only when a range is searched; it is explained in Tuning the Search.
-
Directory and file names are always interpreted relative to the configuration directory. Absolute paths, and paths leading outside that directory, are rejected.