Application Settings File

The settings of the application are stored in lumiscan-calibration.json. If the settings folder has no such file, the application copies its example there at start, together with the example module.

  • On ctrlX OS: The example TIFF file does not ship with the app. The example module reports status -2 until you upload your own TIFF file and reset the module.

  • On a PC: The example TIFF file ships with the installation, so the example module works out of the box.

{
    "$schema": "schemas/lumiscan-calibration.schema.json",
    "meta": {
        "inputFileType": "LumiScan-CtrlX-Calibration",
        "inputFileVersion": "1.0.0",
        "targetMachine": "MachineName",
        "programName": "LumiScan-Calibration",
        "programVersion": "1.0.0"
    },
    "modules": [
        "example.json"
    ],
    "system": {
        "debug": false,
        "logLevel": "INFO",
        "storage": {
            "type": "Internal",
            "parameters": {
                "rootPath": "output"
            }
        }
    }
}

The parameters are described in Table 4. The file may contain comments (// and /* */).

Table 1. Table 4: Application JSON Settings File Description
Parameter Description

meta

Metadata of the file. It is for information only.

meta.inputFileType

The file type: LumiScan-CtrlX-Calibration.

meta.inputFileVersion

The version of the file format: 1.0.0.

meta.targetMachine

The name of the machine the configuration is intended for.

meta.programName

The application that uses the file: LumiScan-Calibration.

meta.programVersion

The application version the configuration was made for.

modules

The module configuration files, relative to this file. Each one is a module, named after its file without .json. See Module Configuration File.

system.logLevel

The log level: TRACE, DEBUG, INFO, WARN, ERROR, FATAL or OFF. The default is INFO.

system.debug, system.storage

Shared with the other LumiScan applications. Not used by LumiScan Calibration.

Restart LumiScan Calibration after changing this file, for example after adding a module.

  • If the file cannot be read, the application writes the reason to the log and stops.

  • A module whose file or TIFF file cannot be loaded is still served: it reports status -2 (invalidSetting) until its files are corrected and the module is reset.

  • With no module listed, the application keeps running, and hdvisionsystems/lumiscan-calibration/system/status-text says so.

Starting from an Example (PC)

On a PC, the Calibration writes an example of its settings into a folder of your choice, and ends without starting. For example, on Windows:

lumiscan-calib --generate-settings C:\work\calibration-settings

Without a folder (-g alone) it writes into the current folder. The example is the application settings file lumiscan-calibration.json, its example module file example.json with the lookup table example.tiff that module names, and the four schemas in the schemas folder that an editor uses to check them. Existing files are never overwritten: when one of them is in the folder already, nothing is written and the Calibration says which.

The Calibration then names the folder it reads its settings from, by default (Windows) C:\ProgramData\HD Vision Systems GmbH\LumiScan Vision Suite\lumiscan-calib\etc\lumiscan-calibration. Edit the example, copy it there, and start the Calibration.

Complete reference

Every setting of this file as its JSON Schema lumiscan-calibration.schema.json defines it, generated for version 2.0.0:

Setting Type Default Allowed values Description

meta

object

Required. Meta information about the application and current setting. This is mainly for information purpose and not used by the application itself

meta/inputFileType

string

not empty

Required.

meta/inputFileVersion

string

not empty

Required.

meta/targetMachine

string

not empty

Required.

meta/programName

string

not empty

Required.

meta/programVersion

string

not empty

Required.

modules

string[]

at least 1 entry

Required. List of module setting files that will be loaded by the application

system

object

system/debug

boolean

false

Enable debug mode for the application.

system/logLevel

string

INFO

TRACE, DEBUG, INFO, WARN, ERROR, FATAL

Log level for the application.

system/storage

object

Configuration for storage. The storage is used to store the images when save function is called.

system/storage/type

string

Samba

Required. The storage is a Samba storage.

system/storage/parameters

object

Parameters for the storage. The parameters are different for each storage type.

system/storage/parameters/ip

string

not empty

Required. The IP address of the Samba server.

system/storage/parameters/remotePath

string

not empty

Required.

system/storage/parameters/domain

string

not empty

Required.

system/storage/parameters/username

string

not empty

Required.

system/storage/parameters/password

string

not empty

Required.

JSON Schemas

The application keeps the JSON Schemas of its settings files in its schemas folder; those copies always match the installed version. The schemas of LumiScan Calibration 2.0.0 can also be downloaded: JSON Schemas of LumiScan Calibration 2.0.0.

To have an editor such as Visual Studio Code check a copy of a settings file that you edit on your PC, point its $schema entry at the published schema:

{
  "$schema": "https://docs.hdvisionsystems.com/schemas/lumiscan-calibration/2.0.0/lumiscan-calibration.schema.json",
  ...
}

Leave the $schema entry of the files on the device as the application wrote it.