Camera Example File Content Example

The camera parameters can be overridden by setting the appropriate parameters in the path …​/input/ on the Data Layer.

The settings for a specific camera are located in the <extra file name>.json, here as an example named: camera_example.json.
An example of such settings is shown below.

{
    "meta": {
        "inputFileType": "camera-configuration",
        "inputFileVersion": "0.0.1",
        "targetMachine": "CtrlX7",
        "programName": "lumiscan-cam-driver",
        "programVersion": "1.0.0"
    },
    "id": "camera1",
    "serial": "LX123456",
    "exposureTimeUS": 4321,
    "pixelFormat": "RGB8"
}

The description of all the parameters mentioned above can be found in the t Table 7: Camera Example JSON Settings Description.

Table 1. Table 7: Camera Example JSON Settings Description
Parameter Description

meta

Place to set meta information: inputFileType and inputFileVersion are required.

inputFileType

In this case it must be: camera-configuration

inputFileVersion

Currently, only version 0.0.1 is supported.

targetMachine

Optional. Enter the name of the machine in use here to indicate that the current application configuration is being used for this particular machine.

programName

Optional. This parameter indicates by which application the current file is used. In this case: lumiscan-cam-driver

programVersion

Optional. Currently used program version.

id

This is an id of current camera setting.
It must be unique across all camera settings.

It is the module’s name on the Data Layer: hdvisionsystems/lumiscan-cam-driver/<id>/.... Only lower-case letters, digits, - and _ are allowed. A module whose id has an upper-case letter or any other character is not loaded; the log says which id to write instead (Camera1 → camera1).

Whether the camera is simulated depends on its serial (one containing simulation), not on this id.

serial

Serial number of camera.

exposureTimeUS

Exposure time in macro seconds.

pixelFormat

Pixel format of the image, possible values are: RGB8, Mono8.

timestampSource

Source of the timestamp for each frame. Camera uses the timestamp provided by the camera hardware, while System uses the system clock of the device the Cam Driver runs on (ctrlX CORE or PC).

stream.tag

Optional, experimental. The tag on the images of the module’s image stream; empty or left out: the module id. control/publish/execute saves it here when it changes. See The tag.

After changing the parameters, the LumiScan CamDriver application should be restarted.
On ctrlX OS, you can also rename the new file later by clicking the triple dots to the right of the name and selecting Rename from the expanded list.

Complete reference

Every setting of this file as its JSON Schema lumiscan-cam-driver-module.schema.json defines it, generated for version 2.2.1:

Setting Type Default Allowed values Description

meta

object

Required.

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.

id

string

pattern ^[a-zA-Z0-9_-]+$

Required. only [a-Z], [0-9], '-' and '_' are allowed. Unique ID of the camera configuration. This is used to identify different camera on datalayer.

serial

string

simulation

not empty

Required. Serial number of the camera. Special serial 'simulation' is used for testing without camera. This is used as default value in setting. And storage setup is required to be able to load image for simulation.

exposureTimeUS

number

10000

500 … 2000000

Required. Exposure time in microseconds. This is used as default value on datalayer and can be overwriten by the user.

pixelFormat

string

Mono8, RGB8, BGR8, Mono12, RGB12, BGR12, BayerGR8, BayerRG8

Required. Pixel format of the camera. Use bayer format if the camera support color and faster frame rate is required. This is used as default value on datalayer and can be overwriten by the user.

exportPixelFormat

string

Mono8, RGB8, BGR8, Mono12, RGB12, BGR12

Pixel format of the exported image. This is used as default value on datalayer and can be overwriten by the user.

packetSize

number

1496

576 … 9000

Size of the packet in bytes, must be multiple of 8. Please confirm it matches the configured MTU of the network. Default is 1496 bytes. This is used as default value on datalayer and can be overwriten by the user. It is only writeable only before camera is connected.

packetDelay_us

number

0

0 … 12449

Delay between packets in microseconds. Default is 0 microseconds. Increase it if image is corrupted or faild to capture image. This is used as default value on datalayer and can be overwriten by the user.

timeout_ms

number

2000

100 … 10000

Timeout in milliseconds. Default is 2000 milliseconds. How long to wait for the image to be captured before giving up. This is used as default value on datalayer and can be overwriten by the user.

initialFeatureFile

string

path to feature file with <FEATURENAME> <FEATURE VALUE> pairs. These values will be set after connect to camera.

timestampSource

string

Camera

Camera, System

Source of the timestamp for each frame. 'Camera' uses the timestamp provided by the camera hardware, while 'System' uses the system clock of the ctrlX.

clearBufferBeforeCapture

boolean

false

If true, the buffer will be cleared before capture, this is useful when the camera is running in continuous mode and we want to get the latest image.

driverId

string

default

not empty

Id of a GenTL driver defined in the app settings 'cameraDrivers' array. Defaults to 'default' (the built-in Baumer producer).