Glossary & Terminology

This glossary explains the technical terms you meet in the LumiScan documentation. Each entry gives a short definition that needs no prior knowledge, followed by what the term means in LumiScan. The glossary explains what something is; the linked guides explain how to use it. In the documentation, a term is underlined with a dotted line where it first occurs in a section: hover over it for the short definition, click it for the full entry. General terms link to Wikipedia for background; where a standards body exists, it is linked as the primary source.

Terminology used in this documentation

The LumiScan manuals use the following words with a fixed meaning. Use them the same way when you write about LumiScan, for example in a specification or a support request.

What a LumiScan app is - and what it runs on. A LumiScan app is one program, for example LumiScan Cam Driver or LumiScan Template Finder. It offers its functions as nodes of a Data Layer and does nothing without one. The Data Layer is provided by the platform the app runs on: on a ctrlX CORE or ctrlX IPC it is the ctrlX Data Layer of ctrlX OS, on a PC with Windows 11 or Ubuntu 24.04 it is LumiScan Keryx, which you install before the apps and whose broker the first app starts. The same app, with the same node addresses, runs on both. There is no "LumiScan Runtime": the manuals call this layer the Data Layer - ctrlX Data Layer or LumiScan Keryx when only one is meant. The word "runtime" appears only in licensing, where runtimes are the products used in production (one-time purchase) as opposed to engineering apps, and in the name of the third-party CodeMeter Runtime.

Use Meaning Instead of

LumiScan app

A program of HD Vision Systems that offers its functions as nodes of the Data Layer: Cam Driver, the processing apps, Calibration, Cockpit. Overview pages also say vision app.

LumiScan Runtime, ctrlX app (when the PC version is meant too)

processing app

A LumiScan app that evaluates an image: the finders (Template Finder, Object Finder, Area Detector, Text Reader), the code readers (DMC, QR Code, Aztec Code, Barcode Reader) and AI Object Matching.

vision tool, inspection app

module

One configured instance inside a LumiScan app - a camera in the Cam Driver, a neural network in AI Object Matching, a plane in Calibration, a search configuration in a finder - with its own Data Layer address. The code readers have no modules.

instance, job, channel

Data Layer

The interface through which the LumiScan apps, the PLC and your program exchange data. Written alone, a statement holds for both Data Layers. LumiScan Data Layer is the title of the manual that describes this interface, not a third Data Layer.

datalayer, data layer, DataLayer

ctrlX Data Layer

The Data Layer of ctrlX OS, used by the apps on a ctrlX CORE or ctrlX IPC.

-

LumiScan Keryx

The Data Layer of HD Vision Systems for PCs (Windows 11, Ubuntu 24.04); its broker program is krxsystem.

PC Data Layer, HDV Data Layer

LumiScan Key

The USB licence key for LumiScan software (a CodeMeter CmStick/C).

dongle, CmStick, licence stick

ctrlX OS, ctrlX CORE, ctrlX IPC

ctrlX OS is the operating system of Bosch Rexroth; ctrlX CORE (a controller) and ctrlX IPC (an industrial PC) are devices that run it. ctrlX device means either.

ctrlX (alone), X3 (alone)

PC

A computer with Windows 11 or Ubuntu 24.04 on which LumiScan apps run with LumiScan Keryx. LumiScan VGR runs on a Windows 11 IPC with an NVIDIA GPU.

host, Windows runtime

PLC

The programmable logic controller of the machine. ctrlX PLC is the PLC on ctrlX OS. German: SPS.

SPS (in English text)

PROFINET

The spelling of the fieldbus in all prose.

Profinet, profinet

engineering app, runtime

Licensing categories. Engineering apps (LumiScan Annotation, LumiScan Training, LumiScan VGR Engineering) are annual subscriptions; runtimes and vision apps (for example LumiScan VGR, LumiScan Cam Driver, the code readers) are one-time purchases.

-

annotation, annotate

Marking objects in images (boxes and class labels) as training data for a neural network; done with LumiScan Annotation or in the manual mode of LumiScan VGR. Label stays the noun for a class name.

labeling, label (as a verb), LumiScan Labeling

LumiScan X

The 3D light-field camera of HD Vision Systems.

LumiScanX

LumiScan Cam Driver

The LumiScan app that connects GenICam cameras.

CamDriver, camdriver

ctrlX Store

The Bosch Rexroth store in which ctrlX apps and licences are bought.

App Store

A

Annotation

Marking objects in images by hand - for example with a box and a label - so that a neural network can learn from these examples.

In LumiScan: You annotate images with LumiScan Annotation: you draw oriented bounding boxes around the objects, give each box a label (class) and can restrict the image area with an ROI. LumiScan Training then trains a network on these images. In LumiScan VGR, manual mode lets you correct or add boxes in the Image tab and export the result as new training data.

Category: AI & Machine Learning

Wikipedia: Labeled data

annotation|annotations|Annotation|annotate|annotated

API

A defined interface through which one program uses the functions of another, for example by calling methods or reading values.

In LumiScan: The LumiScan apps have no programming library of their own: their interface is the Data Layer, where every function is a node that is read, written or called - directly, or through the OPC UA Connector on a PC. LumiScan VGR documents its interfaces as the Settings API (the JSON settings), the PROFINET interface and the OPC UA interface.

Category: Software & Integration
Abbreviation: Application Programming Interface

Wikipedia: API

API|APIs

Auto-exposure polygon

The image area that an automatic exposure control evaluates to judge how bright the image is; only the pixels inside the polygon count.

In LumiScan: In LumiScan VGR, auto-exposure is part of the recording settings (autoexposureEnabled, autoexposure): the camera’s exposure time is recomputed after each trigger so that the mean (or median) intensity inside the polygon matches the reference intensity (default 60). The polygon is a list of image coordinates, by default the corners (50, 50), (1230, 50), (1230, 910) and (50, 910). In debug mode the polygon is shown in yellow in the Image tab, which helps when you set the initial exposure parameters. If auto-exposure is unsuccessful, LumiScan VGR returns CAMERA_HARDWARE_TRIGGER_AGAIN; trigger twice at the start of a new process so that the brightness of the scene is initialised. For Enable Autoexposure in the LumiScan Viewer, the manual describes a target intensity but no polygon.

Category: Camera Technology

auto-exposure polygon|Auto-exposure polygon|autoexposure polygon

Aztec code

A compact 2D code with a bullseye-shaped finder pattern in its centre; it needs no empty margin (quiet zone) around it.

In LumiScan: LumiScan Aztec Code Reader finds every Aztec code in an image and reports its text, position, outline and score. It needs no template and no configuration: you give it the address of an image node and call execute.

Category: Machine Vision

Wikipedia: Aztec Code

Aztec code|Aztec codes|Aztec

B

Barcode

A linear (1D) code of parallel bars and gaps that is read across its width, for example EAN-13 or Code 128.

In LumiScan: LumiScan Barcode Reader reads the whole family of linear barcodes in one call - among others Code 128, Code 39, EAN-13 and UPC-A - without the symbology having to be set in advance. It reports text, centre, outline and score of every barcode in the image and always searches the whole image.

Category: Machine Vision

External reference: GS1

Wikipedia: Barcode

barcode|barcodes|Barcode|Barcodes

Baseline

The distance between two viewpoints - for example the centres of two cameras - from which the same scene point is observed; the longer the baseline, the larger the parallax at a given depth.

In LumiScan: The LumiScan X has 13 cameras in one housing, so its camera pairs have several different baselines, and its reconstruction uses several of them. Short baselines make it easier to find corresponding points; long baselines give more parallax and a better depth sensitivity. For a fixed baseline, the depth uncertainty grows approximately with the square of the distance, which is why the depth sensitivity depends on the working distance (recommended: 250 to 3000 mm).

Category: Camera Technology

baseline|baselines|Baseline

Bayer pattern

The arrangement of red, green and blue colour filters on the pixels of a colour camera sensor; each pixel records only one colour, and the full colour image is calculated from neighbouring pixels.

In LumiScan: The finders and code readers accept Bayer pixel formats from the camera (for example BayerRG8, BayerGR12) and convert such images to colour before processing. The Barcode Reader writes the names with an underscore (Bayer_RG8) but also accepts them without.

Category: Camera Technology

Wikipedia: Bayer filter

Bayer|de-Bayering

Bin picking

A robot task in which parts lying unsorted in a container are located by a camera and picked one at a time.

In LumiScan: Bin picking is a main application of LumiScan VGR: it locates the parts in the point cloud of a LumiScan X, calculates grip points and sends the best one to the PLC. For parts on a flat plane, LumiScan Calibration converts 2D image positions into 3D coordinates, for example for robotic picking.

Category: Robotics

bin picking|Bin picking|Bin Picking|bin-picking

Blob

A connected region of pixels that stand out from the background, for example all pixels of one part in a thresholded image.

In LumiScan: LumiScan Area Detector reports every region it finds as an entry of blobs[] in its result, with its area in pixels and its position. The label image output/blob-labels shows which pixels belong to which blob; Cockpit tints each region in its own colour.

Category: Machine Vision

Wikipedia: Blob detection

blob|blobs|Blob|Blobs

Bounding box

A rectangle drawn around an object in an image to mark where it is; an axis-aligned box is parallel to the image edges.

In LumiScan: LumiScan Object Finder reports each match as an axis-aligned rectangle. Most other LumiScan tools work with rotated boxes: LumiScan Annotation, the manual mode of LumiScan VGR, AI Object Matching and Template Finder use oriented bounding boxes. Cockpit draws the boxes of the running apps on the image.

Category: AI & Machine Learning

bounding box|bounding boxes|Bounding box|Bounding boxes|axis-aligned rectangle

Broker

A program that connects other programs: each one registers with the broker, and every message between them passes through it.

In LumiScan: On a PC, the broker of LumiScan Keryx (krxsystem) connects the LumiScan apps, Cockpit, the OPC UA Connector and your program. You normally do not start it yourself: the first app that finds no broker starts it at tcp://127.0.0.1:5555, and it keeps running when the apps end. It is reachable from the same PC only and has no authentication. The OPC UA Connector never starts a broker.

Category: LumiScan Terminology

Wikipedia: Message broker

broker|brokers|Broker

C

CAD model

A digital 3D description of the exact geometry of a part, created with design (CAD) software; STL is a common file format for such models that describes the surface with triangles.

In LumiScan: LumiScan VGR uses CAD models in two ways. For rigid objects that always match their CAD model, the 3D object fit methods OBJECT_MATCHING and OBJECT_REFINEMENT fit the CAD model of the object (cadPath) to the point cloud; a point cloud file of the object (pointcloudPath) can be given instead, and for OBJECT_MATCHING it is used if both are set. In the robot configuration, robots and grippers can be visualised with CAD models in .stl format, and additional 3D geometry can be provided for collision detection. The manuals do not state which file format cadPath expects.

Category: Robotics
Abbreviation: CAD: computer-aided design

CAD model|CAD models|CAD file|CAD files|STL

Calibration

Determining the relationship between what a camera sees and real-world measurements, so that positions in the image can be converted into positions in space.

In LumiScan: The word has three uses. LumiScan Calibration converts 2D image coordinates into 3D coordinates on a calibrated plane; its calibration data is a TIFF file that HD Vision Systems creates from images of a calibration plate you send in. Each LumiScan X has a factory camera calibration (.hdvcal file). LumiScan VGR needs a hand-eye calibration for every robot configuration.

Category: Machine Vision

Wikipedia: Calibration

calibration|calibrated|calibration plate|calibration plates

Camera calibration

Measuring the exact optical properties and geometry of a camera so that its images can be converted into accurate measurements or 3D data.

In LumiScan: Every LumiScan X is calibrated by HD Vision Systems and comes with a calibration file (.hdvcal) that carries the camera’s serial number in its name. The LumiScan Viewer needs it to compute point clouds; LumiScan VGR references it as calibrationFile of each camera, and LumiScan VGR Engineering uploads it into the configuration. If the point cloud stays poor despite correct settings and a clean front glass, the camera must be recalibrated by HD Vision Systems.

Category: Camera Technology

Wikipedia: Camera resectioning

camera calibration|Camera calibration|camera calibration file

cifX card

A PC interface card by Hilscher that connects a computer to an industrial network such as PROFINET.

In LumiScan: The manuals mention the cifX card only in the troubleshooting of LumiScan Hand-Eye Calibration: if the robot position read from the PLC "Can not be interpreted" and the PROFINET tab shows that no connection has been established, check the cifX card name - normally cifx0;0 if there is only one Hilscher card. The system requirements of LumiScan VGR name PROFINET as an interface but no specific card.

Category: Industrial Communication

cifX card|cifx card|cifx card name|cifX|cifx|Hilscher card|Hilscher Card

Code readers

Programs that find machine-readable codes in an image and decode their content.

In LumiScan: The manuals call four LumiScan apps the code readers: DMC Reader, QR Code Reader, Aztec Code Reader and Barcode Reader. They need no template and no configuration, have no modules (one reader per installation at hdvisionsystems/<app>), are called with one execute method, and report every code in the image with text, centre, outline and score. They are licensed as Standard and Advanced.

Category: LumiScan Terminology

code readers|code reader

CodeMeter Runtime

Software by WIBU-SYSTEMS AG that lets programs read licences from a CodeMeter licence container, such as a USB licence key.

In LumiScan: Every PC that uses a LumiScan Key needs CodeMeter Runtime 9.00 or later. In CodeMeter Control Center the key appears as CmStick/C; cmu --list shows it on the command line. Apps running natively on ctrlX OS do not need CodeMeter. CodeMeter is the licensing system of WIBU-SYSTEMS AG; the LumiScan Key is a CodeMeter container.

Category: Software & Integration

CodeMeter Runtime|CodeMeter

Confidence

A number, usually between 0 and 1, that says how certain an algorithm is about a result; also called score.

In LumiScan: Template Finder reports a confidence for each match and sorts by it; Object Finder reports a score and drops matches below input/confidence-threshold (default 0.6). AI Object Matching reports a score per object and uses one threshold per class (thresholdList in the model JSON file). The code readers report a score per code, Text Reader a confidence per word (filter with input/min-score). In the LumiScan Viewer, the Confidence Threshold removes uncertain points from the point cloud.

Category: Machine Vision

confidence|confidences|Confidence|confidence threshold|Confidence Threshold

Container

A packaged, isolated environment in which a program runs together with everything it needs, independently of the rest of the computer; Podman is one program that runs containers.

In LumiScan: The model conversion of LumiScan Training (ONNX to Hailo) runs in a container. It needs the Hailo PlugIn and the Podman CLI 6.0.x for Windows with Hyper-V; the first conversion starts the Podman machine. If LumiScan software runs in a container, CodeMeter Runtime runs on the host with the LumiScan Key, and the software reaches it over the network.

Category: Software & Integration

Podman|Podman machine

ctrlX CORE

A compact industrial controller by Bosch Rexroth that runs the ctrlX OS operating system and its apps.

In LumiScan: The LumiScan apps run on a ctrlX CORE as ctrlX apps and use its ctrlX Data Layer; a ctrlX PLC on the same device calls them directly. The Cam Driver manual describes how to connect a camera to a ctrlX CORE X3. AI Object Matching can use a TPU on a ctrlX CORE X3 or X7.

Category: Software & Integration

ctrlX CORE|ctrlX X3|ctrlX CORE X3|ctrlX CORE X7

ctrlX Data Layer

The data exchange layer of ctrlX OS, through which the apps on a ctrlX device and the PLC share values and call each other’s functions.

In LumiScan: On a ctrlX CORE or ctrlX IPC, the LumiScan apps register their nodes in the ctrlX Data Layer under hdvisionsystems/<app>. There is nothing to install for it. You look at the nodes in the Data Layer view of the ctrlX OS web interface; a method call answers with ctrlX results such as DL_OK or DL_TOO_MANY_OPERATIONS.

Category: LumiScan Terminology

ctrlX Data Layer

ctrlX IPC

An industrial PC by Bosch Rexroth that runs ctrlX OS.

In LumiScan: A ctrlX IPC is used like a ctrlX CORE: the LumiScan apps run on it as ctrlX apps with the ctrlX Data Layer and ctrlX licences.

Category: Software & Integration

ctrlX IPC

ctrlX OS

The Linux-based operating system of Bosch Rexroth for automation devices, on which apps are installed and exchange data.

In LumiScan: ctrlX OS is one of the two platforms of the LumiScan apps (the other is a PC with LumiScan Keryx). On a ctrlX CORE or ctrlX IPC you install the apps as ctrlX apps and their ctrlX licences in the License Manager; an app without a licence stops shortly after starting and writes the reason to the system log. Settings files are uploaded through the web interface or WebDAV.

Category: Software & Integration

ctrlX OS

ctrlX PLC

The PLC function of ctrlX OS, programmed with ctrlX PLC Engineering.

In LumiScan: A ctrlX PLC program reads, writes and calls the nodes of the LumiScan apps directly on the same ctrlX device. Build the PLC logic on plain nodes (numbers, booleans, strings); FlatBuffers results need their schema - AI Object Matching describes how to import it into ctrlX PLC Engineering.

Category: Industrial Communication

ctrlX PLC|ctrlX PLC Engineering

ctrlX Store

The Bosch Rexroth online store for ctrlX apps and their licences.

In LumiScan: Where you bought a product decides how it is licensed. Bought in the ctrlX Store for ctrlX OS: a ctrlX licence on the device. Bought in the ctrlX Store for Windows 11: a licence in ctrlX WORKS plus a LumiScan Key. Bought from HD Vision Systems: the licence is on the LumiScan Key.

Category: Software & Integration

ctrlX Store|App Store

ctrlX WORKS

The Bosch Rexroth engineering software for ctrlX devices on a Windows PC, which also manages ctrlX licences there.

In LumiScan: For LumiScan software bought in the ctrlX Store and running on Windows 11, the licence is held in ctrlX WORKS; a LumiScan Key is needed in addition to protect the software against reverse engineering.

Category: Software & Integration

ctrlX WORKS

CUDA

NVIDIA’s platform for running calculations on its graphics cards (GPUs); cuDNN is its library for neural networks.

In LumiScan: LumiScan VGR and LumiScan VGR Engineering need CUDA Toolkit 11.8 and cuDNN 8.8.1 (installers from HD Vision Systems), LumiScan Training needs CUDA Toolkit 11.8. AI Object Matching on a PC uses the GPU when provider is CUDA in the model JSON file; it needs CUDA Toolkit 12.9 and cuDNN 9.11.1.

Category: AI & Machine Learning
Abbreviation: Compute Unified Device Architecture

CUDA|CUDA Toolkit|cuDNN

D

Data Layer

A shared data space in which programs publish values and functions under fixed addresses, so that other programs can read, write and call them.

In LumiScan: Every function of a LumiScan app is a node of the Data Layer, which the apps, the PLC, Cockpit and your program use. There are two Data Layers with the same addresses, node types and call patterns: the ctrlX Data Layer on ctrlX OS and LumiScan Keryx on a PC. Where a manual writes only "Data Layer", the statement holds for both. LumiScan Data Layer is the manual that describes what all apps have in common.

Category: LumiScan Terminology

Data Layer|LumiScan Data Layer|data layer|datalayer

Data Matrix code

A square or rectangular 2D code made of small square cells, often marked directly onto parts; abbreviated DMC.

In LumiScan: LumiScan DMC Reader reads ECC 200 Data Matrix codes, the modern square-module standard used for part marking and direct part marking. It reports every code in the image with text, centre, outline and score, and needs no template and no configuration.

Category: Machine Vision
Abbreviation: DMC (Data Matrix code)

Wikipedia: Data Matrix

Data Matrix code|Data Matrix codes|Data Matrix|DMC

Depth map

An image in which each pixel holds the distance to the scene instead of a brightness; it can be converted into a point cloud.

In LumiScan: The LumiScan X computes depth with a resolution of 1.2 MP (1280 × 960). The LumiScan Viewer shows the result as a point cloud; the Depth Range setting limits the distances that are calculated, which also speeds up the calculation.

Category: Camera Technology

Wikipedia: Depth map

depth map|depth maps|Depth map

Disparity

The shift in position of the same scene point between two images taken from different viewpoints; the closer the point, the larger the disparity.

In LumiScan: The LumiScan X derives depth from the disparities between the images of its 13 cameras. For two cameras with parallel optical axes, the depth is Z = f · B / d (focal length f and disparity d in pixels, baseline B): a point twice as far away shows half the disparity. Uncertain points can be removed with the Confidence Threshold of the LumiScan Viewer.

Category: Machine Vision

Wikipedia: Binocular disparity

disparity|disparities|Disparity

E

Engineering app

Software used to prepare or configure an application, as opposed to the software that runs it in production.

In LumiScan: The engineering apps are LumiScan Annotation, LumiScan Training and LumiScan VGR Engineering. Bought from HD Vision Systems, they are an annual subscription on the LumiScan Key and stop working when it is not renewed. The runtimes and vision apps - for example LumiScan VGR, LumiScan Cam Driver and the code readers - are one-time purchases without renewal.

Category: LumiScan Terminology

engineering app|engineering apps|Engineering apps|Engineering app

Epipolar geometry

The geometry of two cameras that observe the same scene: a point in one image can only correspond to points on one line in the other image, the epipolar line.

In LumiScan: The epipolar geometry between the cameras of the LumiScan X follows from their calibration (the .hdvcal file), and the reconstruction of the LumiScan X uses this epipolar constraint: the point corresponding to a point in one camera image must lie on the epipolar line in another camera image, which reduces the search space for finding correspondences.

Category: Machine Vision

Wikipedia: Epipolar geometry

epipolar geometry|Epipolar geometry|epipolar line|epipolar lines

Execute method

A function that is started with a single call and returns only when the operation has finished.

In LumiScan: An execute method is one of the three ways to call a function of a LumiScan app, meant for operations that finish within about 1 s, such as capture or find-template. The client writes the inputs (separate nodes), then writes to the execute node. Check both results: the result of the call (could it run?) and the status (did it succeed?). Over OPC UA an execute node is a method called with the Call service.

Category: LumiScan Terminology

execute method|execute methods|Execute method|Execute methods

Exposure time

How long the camera sensor collects light for one image; a longer exposure gives a brighter image but blurs moving parts.

In LumiScan: In the LumiScan Viewer you set the exposure time of the LumiScan X in µs, or let Enable Autoexposure choose it. The Cam Driver sets it through input/exposure-time or the camera’s GenICam features; it is not applied while a stream runs. LumiScan VGR can use auto-exposure and reports CAMERA_BAD_EXPOSURETIME_SETTING when the requested exposure time cannot be reached.

Category: Camera Technology

Wikipedia: Shutter speed

exposure time|exposure times|Exposure time|Exposure Time|exposure|auto-exposure|Auto-exposure|autoexposure|Autoexposure

Extrinsic parameters

The position and orientation (translation and rotation) of a camera relative to a common coordinate system.

In LumiScan: The extrinsic parameters describe how the 13 cameras of the LumiScan X are positioned and oriented relative to each other; the .hdvcal calibration file contains them for all 13 cameras, together with the intrinsic parameters. Small errors in them cause systematic depth deviations, which is why a camera array needs a mechanically stable construction. The point cloud is output in the coordinate system of the LumiScan X, with the camera at the origin and aligned in the direction of the Z axis; the position of the camera relative to a robot is determined by the hand-eye calibration. Not to be confused with the extrinsic Euler angle conventions (EXT_…​) in the LumiScan VGR robot settings.

Category: Camera Technology

Wikipedia: Camera resectioning

extrinsic parameters|Extrinsic parameters|extrinsic camera parameters

F

Field of view

The area of the scene a camera sees at a given distance; it grows with the distance and with the opening angle of the lens.

In LumiScan: The LumiScan X comes in three opening angles (60°, 40°, 30°). For each standard configuration the manual lists the field of view at the minimum and the maximum working distance, for example about 180 mm × 100 mm to 400 mm × 280 mm for LumiScanX-60-F035.

Category: Camera Technology

Wikipedia: Field of view

field of view|Field of view|Field of View|opening angle

Finders

A group name for the LumiScan apps that search an image for something you describe and report what they found.

In LumiScan: The Data Layer manual calls Template Finder, Object Finder, Area Detector and Text Reader the finders. They share one way of working: modules are created and removed while the app runs (system/create-module), each function is an execute method under <module>/<method>/, the outcome is in <method>/output/status-code with their own execution status values, and on ctrlX OS one licence covers ten modules.

Category: LumiScan Terminology

finders

Firewall

A protective function of the operating system or network that blocks connections unless they are allowed by a rule.

In LumiScan: On Windows, the LumiScan software must be allowed through the Windows Firewall, otherwise the LumiScan X is not found or only a black image with a timeout appears. Open TCP 4840 for the OPC UA Connector only for the address of the PLC. File Transfer and a shared LumiScan Training backend need their ports allowed as well.

Category: Software & Integration

firewall|firewalls|Firewall|Windows Firewall|Windows firewall

FlatBuffers

A compact binary data format: a message is described by a schema and can be read without unpacking it first.

In LumiScan: Images and structured results of the LumiScan apps are FlatBuffers values on the Data Layer; their schemas are published under types/hdvisionsystems/<app>/…​. Decode them with the FlatBuffers library of your language. For PLC logic use the plain nodes instead; over OPC UA a FlatBuffers value is a ByteString.

Category: Software & Integration

Wikipedia: FlatBuffers

FlatBuffers|FlatBuffer|flatbuffer|flatbuffers

Frame rate

How many images a camera delivers per second, given in frames per second (fps).

In LumiScan: The LumiScan X delivers up to 6 fps with Mono8 and 3 fps with Mono12. For 2D cameras, the image stream of the Cam Driver is faster than one capture call per image (63 to 68 against about 34 images per second in HD Vision Systems' measurement); the GenICam feature TriggerOverlap can raise the frame rate further.

Category: Camera Technology

Wikipedia: Frame rate

frame rate|frame rates|Frame rate|fps|FPS

G

Gain

An electronic amplification of the sensor signal that makes an image brighter without a longer exposure, but also amplifies noise.

In LumiScan: The Area Detector manual names sensor noise at high gain as one cause of soft edges, which make a fixed threshold brittle, and recommends lowering the gain and adding light instead. Like other GenICam features of a 2D camera, gain is set through the Cam Driver’s feature nodes when the camera offers it.

Category: Camera Technology

Wikipedia: Gain (electronics)

gain

GenICam

A camera standard of the EMVA that gives camera functions (features such as exposure time or trigger mode) uniform names, so that one program can control cameras of different makers.

In LumiScan: The LumiScan Cam Driver connects Ethernet-enabled, GenICam-compliant cameras. After connecting, the camera’s own features appear under <camera>/features on the Data Layer, with names and values from the camera. Implementations differ between makers, so some functions may be missing on untested cameras. The Cam Driver accesses a camera through the GenTL producer configured for it, which must be installed.

Category: Camera Technology
Abbreviation: Generic Interface for Cameras

Wikipedia: GenICam

GenICam|GenTL|GenTL producer

GigE Vision

An interface standard for industrial cameras that transmit images over Gigabit Ethernet.

In LumiScan: The Cam Driver works with Ethernet-enabled GenICam cameras. In the image stream, the external_id of a frame is the camera’s GigE Vision block ID; a gap there without a gap in sequence means images were lost between the camera and the Cam Driver.

Category: Camera Technology

Wikipedia: GigE Vision

GigE Vision|GigE

GPU

The processor of a graphics card; it performs many calculations in parallel and therefore speeds up neural networks and 3D processing.

In LumiScan: LumiScan VGR and LumiScan VGR Engineering need an NVIDIA GPU that supports CUDA 11.8, LumiScan Training an NVIDIA RTX graphics card. AI Object Matching on a PC can infer on an NVIDIA GPU (provider = CUDA). The computer for the LumiScan X needs at least an NVIDIA GTX 1650.

Category: AI & Machine Learning
Abbreviation: Graphics Processing Unit

GPU|GPUs|graphics card|graphics cards

Grip point

The position and orientation at which a robot gripper takes hold of an object.

In LumiScan: LumiScan VGR calculates a set of possible grip points for every detected object and returns the best valid one, by grip priority, to the PLC. Get Best Result returns it without consuming it; Grip Best Result marks it as gripped and moves on to the next candidate. RESULTS_EMPTY means no valid grip point is left for the active robot.

Category: Robotics

grip point|grip points|Grip point|Grip points

H

HALCON

A commercial machine vision software library by MVTec.

In LumiScan: LumiScan VGR needs a valid HALCON licence for point cloud matching, and the HALCON bin directory must be in the PATH environment variable; otherwise no point cloud matching can be performed.

Category: Software & Integration

HALCON|Halcon

Hand-eye calibration

Determining where a camera is relative to a robot, so that positions the camera sees can be converted into robot coordinates.

In LumiScan: Every robot configuration of LumiScan VGR needs a valid hand-eye calibration transformation; without it, a function returns MISSING_TRANSFORM. In LumiScan VGR Engineering it is part of the robot element. Repeat the calibration whenever the camera or the robot has been moved, even slightly. The troubleshooting pages describe the LumiScan Hand-Eye Calibration program: 6 to 15 images of the calibration plate from clearly different angles, with the robot pose read from the PLC.

Category: Robotics

hand-eye calibration|Hand-eye calibration|Hand-Eye Calibration|hand-eye calibration transformation

Handshake

A way for two programs to take turns on a few signals - request, acknowledge, done - so that a long operation can be started and followed without waiting inside a call.

In LumiScan: In the Cam Driver, AI Object Matching and Calibration, a function such as connect-camera or inference is started with the ready/request handshake: wait for ready = true, set request, wait for ready = false, reset request, wait for ready = true, then read the status and outputs. Use it for operations longer than about 1 s. LumiScan VGR uses a similar handshake with its PLC signals Ready, Request and Running.

Category: LumiScan Terminology

handshake|handshakes|Handshake|Handshakes

Heartbeat

A signal that one device toggles regularly and the other mirrors, so that both can see that the connection is alive; also called live bit.

In LumiScan: LumiScan VGR mirrors the PLC’s IN_HeartBeat in OUT_HeartBeat. In admin mode, both blink red and green in the PROFINET tab while the PROFINET connection is active - the first thing to check when LumiScan VGR does not react to the PLC.

Category: Industrial Communication

heartbeat|live bit|livebit

I

Inference

Applying a trained neural network to new data, for example to find objects in a camera image.

In LumiScan: AI Object Matching runs an inference with the inference handshake or execute method, or on every frame of a camera stream. It runs on the CPU, on an NVIDIA GPU on a PC (CUDA) or on a Hailo TPU on ctrlX OS (HAILO). In LumiScan Training, Start Inference applies a trained network to a folder of images.

Category: AI & Machine Learning

inference|inferences|Inference

Intrinsic parameters

The parameters that describe the optics of a single camera - focal length, principal point and lens distortion - and thus how a point in space is projected onto the image sensor.

In LumiScan: The .hdvcal calibration file of a LumiScan X contains the intrinsic parameters of all 13 cameras, together with their extrinsic parameters; HD Vision Systems supplies it with the serial number of the camera in its name. The manual describes no procedure for setting them yourself: if the point cloud stays poor despite correct settings and a clean front glass, the camera must be recalibrated by HD Vision Systems.

Category: Camera Technology

Wikipedia: Camera resectioning

intrinsic parameters|Intrinsic parameters|intrinsic camera parameters|intrinsic camera matrix

IPC

A PC built for industrial use, for example in a control cabinet.

In LumiScan: LumiScan VGR runs on a Windows 11 IPC with an NVIDIA GPU, connected to the LumiScan X via Ethernet. A configuration for it can be built with LumiScan VGR Engineering on the same IPC or on a separate engineering PC with the same requirements. A ctrlX IPC is an IPC by Bosch Rexroth with ctrlX OS.

Category: Software & Integration
Abbreviation: Industrial PC

Wikipedia: Industrial PC

IPC|IPCs

J

JSON

A text format for structured data made of names, values, lists and nested objects, readable by people and programs.

In LumiScan: Almost all LumiScan settings are JSON files: the application and module files of the LumiScan apps, the settings of LumiScan VGR, the training configuration of LumiScan Training and the model description (model.json) next to the .onnx file. The Cam Driver, AI Object Matching and Calibration also show their loaded settings as one JSON document on system/settings.

Category: Software & Integration
Abbreviation: JavaScript Object Notation

External reference: Ecma International - ECMA-404

Wikipedia: JSON

JSON

Jumbo frames

Ethernet packets larger than the standard 1500 bytes; they carry camera images with less overhead. The largest packet size is called MTU.

In LumiScan: For the LumiScan X, set jumbo frames of the network adapter to Maximum (9014 bytes) and the receive and transmit buffers to 2048. For the Cam Driver, set the MTU to 8000 or 9000; an Ethernet switch between camera and ctrlX CORE X3 must support jumbo frames.

Category: Industrial Communication

jumbo frames|Jumbo frames|jumbo frame|MTU

K

Keryx

Short name for LumiScan Keryx, the Data Layer of HD Vision Systems for PCs.

In LumiScan: Keryx is the part of the platform that the LumiScan apps on a PC talk through - it plays the role that the ctrlX Data Layer plays on ctrlX OS. The documentation always writes the full name LumiScan Keryx; the full entry is LumiScan Keryx.

Category: LumiScan Terminology

Keryx page

A web page that shows the tree of nodes of a Data Layer and lets you read, write and call them by hand.

In LumiScan: Every LumiScan Keryx broker comes with a Keryx page, http://127.0.0.1:7555/ for the default broker (the broker’s port + 2000). Select a node to see its value, type and permissions, edit a writable node, call a method with Invoke, or follow values in a watch list. On ctrlX OS, the Data Layer view of the ctrlX OS web interface does the same.

Category: LumiScan Terminology

Keryx page|Data Layer page

krxclient

The command-line client of LumiScan Keryx for reading, writing and calling Data Layer nodes from a terminal or a script.

In LumiScan: krxclient stands in for a PLC in tests and scripts: read, write, browse, metadata, tree, execute, subscribe, and handshake, which runs a whole ready/request handshake. It connects to the broker at tcp://127.0.0.1:5555 unless you give another one. krxclient subscribe shows a FlatBuffers value by its size only.

Category: LumiScan Terminology

krxclient|dlcli

L

Light field imaging

Recording not only how bright the light of a scene is, but also the direction from which it arrives - so that the 3D structure of the scene can be calculated from a single shot.

Light field imaging builds on the plenoptic function P(x, y, z, θ, φ, λ, t): the radiance of light at every position, in every direction, for every wavelength and at every time. A conventional camera adds up the light from all directions at each pixel and keeps only a 2D projection. A light field camera also records the direction of the rays. In free space this reduces to the four-dimensional light field L(u, v, s, t), where (u, v) and (s, t) are the points at which a ray crosses two reference planes. Because many perspectives are captured at once, depth, digital refocusing, changes of perspective and 3D measurements can be computed from one acquisition. Stereo vision uses two viewpoints; the dense set of perspectives of a light field adds a high angular redundancy, which makes depth estimation robust even in difficult industrial scenes.

In LumiScan: The LumiScan X is a 3D light field camera: 13 cameras with 1.2 MPix each in one housing capture the scene from 13 perspectives at the same time, and the LumiScan software computes the depth and a point cloud from them. In the Point Cloud Viewer, the white grid plane is the camera plane, the origin of the light field.

Category: Camera Technology

Wikipedia: Light field

light field imaging|light-field imaging|Light field imaging|light field|light-field|Light field|lightfield|Lightfield

LumiScan app

One of HD Vision Systems' programs that offer their functions as nodes of the Data Layer, so that a PLC, other apps or your own program can use them.

In LumiScan: The LumiScan apps are the Cam Driver, the processing apps (Template Finder, Object Finder, Area Detector, Text Reader, the four code readers and AI Object Matching), Calibration and Cockpit. Each one runs either on ctrlX OS (installed as a ctrlX app, using the ctrlX Data Layer) or on a PC with Windows 11 or Ubuntu 24.04 (installed after LumiScan Keryx), with the same node addresses under hdvisionsystems/<app>. Overview pages also call them vision apps.

Category: LumiScan Terminology

LumiScan app|LumiScan apps|vision app|vision apps|processing app|processing apps|LumiScan application|LumiScan applications

LumiScan Cam Driver

The LumiScan app that connects industrial cameras and provides their images and camera functions to the other apps.

In LumiScan: The Cam Driver connects Ethernet-enabled, GenICam-compliant cameras to ctrlX OS or a PC; each configured camera is a module, for example hdvisionsystems/lumiscan-cam-driver/camera1, with connect-camera, capture, trigger and its image on output/image. It is the start of every chain of vision apps. On ctrlX OS it needs one licence per connected camera.

Category: LumiScan Terminology

LumiScan Cam Driver|Cam Driver|LumiScan CamDriver|CamDriver

LumiScan Cockpit

A viewer that shows the images and results of the running LumiScan apps.

In LumiScan: Cockpit reads images and results from the Data Layer and draws the findings on the image. On ctrlX OS it opens from the sidebar of the ctrlX web interface in a browser; on a PC it opens its own window (or a browser on the same PC with --no-gui). It only displays: it configures nothing and provides no Data Layer output. Calibration is not shown, because it produces coordinates, not an image.

Category: LumiScan Terminology

LumiScan Cockpit|Cockpit

LumiScan Keryx

The Data Layer of HD Vision Systems for PCs; it offers the same interface as the ctrlX Data Layer.

In LumiScan: On a PC with Windows 11 or Ubuntu 24.04, you install LumiScan Keryx first, then the LumiScan apps. Its broker krxsystem connects the apps and is started by the first app that finds none. LumiScan Keryx comes with the Keryx page and krxclient; a PLC or SCADA system connects through the OPC UA Connector. The name comes from the Greek kēryx, the herald.

Category: LumiScan Terminology

LumiScan Keryx|Keryx

LumiScan Keryx Utilities

A Windows program for watching Data Layer nodes: you subscribe to nodes and read what they publish in one list.

In LumiScan: LumiScan Keryx Utilities connects to a LumiScan Keryx broker (by default 127.0.0.1, port 5555), lets you search and subscribe to nodes and follows one stream result through the chain of apps. It is a client only: it changes nothing on the broker.

Category: LumiScan Terminology

Related documentation: Using LumiScan Keryx Utilities

LumiScan Keryx Utilities|Keryx Utilities|LumiScan Datalayer Utilities|Datalayer Utilities

LumiScan Key

The USB licence key for LumiScan software.

In LumiScan: The LumiScan Key is a CodeMeter container (CmStick/C, serial number of the form 3-1234567) and needs CodeMeter Runtime. For software bought from HD Vision Systems it carries the licences; for software bought in the ctrlX Store for Windows 11 it protects the software, while the licence is in ctrlX WORKS. You need one key per device on which the software runs at the same time; keys can be moved between devices. WIBU-SYSTEMS calls such USB keys CmDongles; CodeMeter Control Center shows the LumiScan Key as CmStick/C.

Category: LumiScan Terminology

LumiScan Key|LumiScan Keys|CmDongle|CmDongles|CmStick/C|CmStick

LumiScan VGR

The robot guidance software of HD Vision Systems: it finds objects in 3D camera data and tells a robot where to grip them.

In LumiScan: LumiScan VGR runs on a Windows 11 IPC with an NVIDIA GPU and a LumiScan X. It detects objects (with neural networks and/or 3D models), calculates their 6-DoF pose and grip points, and sends the best grip point to the PLC over PROFINET or OPC UA. It is configured with a JSON settings file, usually created with LumiScan VGR Engineering. The overview page also names a variant VGR Lite.

Category: LumiScan Terminology

LumiScan VGR|VGR Lite

LumiScan VGR Engineering

The configuration tool for LumiScan VGR: it builds, previews and exports the settings.

In LumiScan: You build the configuration from three kinds of element - cameras, object detections and robots - connect them, check each one in a live preview (image and point cloud) and click Download to get a .zip file with the settings for LumiScan VGR. It needs the same IPC requirements as LumiScan VGR; without a camera, the preview stays empty.

Category: LumiScan Terminology

LumiScan VGR Engineering|VGR Engineering

LumiScan Viewer

The Windows program supplied with the LumiScan X for setting up the camera, capturing images and point clouds, and exporting them.

In LumiScan: In the LumiScan Viewer you set the IP address of the LumiScan X, its pixel format, exposure, trigger, depth range, filters and calibration file, view the images of all 13 cameras (Frame) and the point cloud (Point Cloud), and export images and .ply/.pcd point clouds. It is started with Start → HD Vision Systems → LumiScan Viewer.

Category: LumiScan Terminology

LumiScan Viewer

LumiScan X

The 3D light-field camera of HD Vision Systems.

In LumiScan: The LumiScan X combines 13 monochrome cameras of 1.2 MPix in one housing (IP54), delivers images and point clouds at up to 6 fps and is powered with 24 V DC or PoE. It comes in three variants (60°, 40°, 30° opening angle) for working distances of 250 to 3000 mm. It is used with the LumiScan Viewer and by LumiScan VGR.

Category: LumiScan Terminology

LumiScan X|LumiScanX

M

Manual mode

An operating mode in which a person works with the system directly and the automatic control by the PLC is paused.

In LumiScan: In manual mode of LumiScan VGR you capture an image, correct or add the detected objects as bounding boxes and export them as training data; you can also continue the workflow by hand when automatic detection fails. While manual mode is active (OUT_OperationMode = 2), most functions cannot be started by the PLC. After leaving it, the PLC must set the operation mode back to automatic. Admin mode (Ctrl + Shift + A) shows further controls, which are active only in manual mode.

Category: LumiScan Terminology

manual mode|Manual mode|Manual Mode|admin mode|Admin mode

Model

The result of training: a neural network with its learned values, stored as a file that a program can load to recognise objects.

In LumiScan: A LumiScan model consists of two files that belong together: the network (.onnx) and its description (.json, with classes, thresholds and the inference provider). LumiScan Training creates them; AI Object Matching and LumiScan VGR use them. File Transfer sends new models from the training PC back to the production system.

Category: AI & Machine Learning

trained model|trained models|neural network model|neural network models

Module

One self-contained, configured unit inside a program, with its own settings; a program can run several modules side by side.

In LumiScan: In a LumiScan app, a module is one instance with its own Data Layer address hdvisionsystems/<app>/<module>/: a camera in the Cam Driver, a neural network in AI Object Matching, a calibrated plane in Calibration, a search configuration in a finder. The Cam Driver, AI Object Matching and Calibration take their modules from module files; the finders create them at run time. The code readers have no modules. LumiScan VGR uses the word differently: there, modules are its cameras, pipelines and robots.

Category: LumiScan Terminology

module|modules|Module|Modules

N

Neural network

A computing model that learns from examples to recognise patterns, for example which objects an image contains and where they are.

In LumiScan: AI Object Matching and LumiScan VGR use neural networks to detect objects. You prepare them with the AI tools: annotate images with LumiScan Annotation, train the network with LumiScan Training, and move images and networks between production system and training PC with File Transfer.

Category: AI & Machine Learning

neural network|neural networks|Neural network|Neural networks|Neural Network Models

Node

One named entry in a tree of data - a value, a folder or a callable method - reached by its address.

In LumiScan: Every function, input, output and status of a LumiScan app is a node of the Data Layer, for example hdvisionsystems/lumiscan-cam-driver/camera1/control/capture/execute. Addresses are lower case and the same on ctrlX OS and a PC. Through the OPC UA Connector, every node is an OPC UA node whose NodeId is its Data Layer address. Each manual lists its app’s nodes in its Data Layer Reference.

Category: LumiScan Terminology

node|nodes|Node|Nodes

O

Object detection

Finding objects in sensor data and determining where they are. 2D object detection works on the camera image and gives, for example, a box per object; 3D object detection works on 3D data such as a point cloud and gives the position and orientation in space.

In LumiScan: In LumiScan VGR every object can have a 2D and a 3D detection; depending on the application, 2D detection, 3D detection or both are used. The 2D detection (detection2d) is a list of steps run in order on oriented bounding boxes - for example SET_NETWORK, which applies an object detection network and returns the objects with scores above its threshold, or SET_ROI, FEATURE_MATCHING, SCALE and ROTATE_ANGLE. The 3D detection (detection3d) computes the object pose from the point cloud with one object fit method: PLANE_FIT, RANSAC_PLANE_FIT, MIXED_PLANE_FIT, RANSAC_CYLINDER_FIT, LINE_FIT_LONG_AXIS, OBJECT_MATCHING or OBJECT_REFINEMENT (with a CAD model), or GRIP_FROM_ENVIRONMENT. Over OPC UA, ComputeObjects returns the number of 2D and 3D objects. In LumiScan VGR Engineering, an object detection element configures networks, objects and pipelines. AI Object Matching performs 2D object detection with a neural network on ctrlX OS or a PC.

Category: Machine Vision

Wikipedia: Object detection

object detection|Object detection|object detections|2D detection|3D detection|2D object detection|3D object detection

OCR

Reading printed or marked text from an image and turning it into characters a computer can process.

In LumiScan: LumiScan Text Reader reads text such as part numbers, batch and date codes with the Tesseract OCR engine and its language models (.traineddata). Unlike a code, OCR always returns something: each word comes with a confidence, so restrict the permitted characters (input/characters/mode) and set a minimum score (input/min-score). For Data Matrix, QR, Aztec codes and barcodes, use the code readers instead.

Category: Machine Vision
Abbreviation: Optical Character Recognition

OCR|Tesseract

ONNX

An open file format for trained neural networks, so that a network trained with one tool can be run by another.

In LumiScan: LumiScan Training exports trained networks as ONNX files. AI Object Matching loads the .onnx file named by pathToNetwork in its model JSON file. For a Hailo TPU, the Hailo PlugIn of LumiScan Training converts the ONNX model into a Hailo model (.hef).

Category: AI & Machine Learning
Abbreviation: Open Neural Network Exchange

External reference: ONNX

ONNX

OPC UA

A vendor-independent standard for industrial communication: a server offers variables and methods in an address space, and clients such as a PLC or SCADA system read, write, call and subscribe to them.

In LumiScan: On a PC, the OPC UA Connector makes the Data Layer of LumiScan Keryx available as an OPC UA server (opc.tcp://<pc>:4840). LumiScan VGR has its own OPC UA server (opc.tcp://<host>:4840, nodes under Objects/LumiScanVGR) as an alternative to PROFINET. Both accept anonymous, unencrypted connections only, so run them on a network you trust.

Category: Industrial Communication
Abbreviation: Open Platform Communications Unified Architecture

External reference: OPC Foundation

OPC UA|OPC-UA

OPC UA Connector

A LumiScan program that presents the Data Layer on a PC as an OPC UA server, so that PLCs and SCADA systems can use the LumiScan apps.

In LumiScan: The LumiScan OPC UA Connector (lumiscan_opcua_connector) shows the tree of LumiScan Keryx at opc.tcp://<pc>:4840; the NodeId of each node is its Data Layer address in the namespace urn:hdvisionsystems:datalayer, and an execute node is an OPC UA method. Start it after the apps - it never starts a broker. It has no security: open TCP 4840 only for the PLC’s address. It works with LumiScan Keryx on a PC; on ctrlX OS, the ctrlX PLC on the same device calls the nodes directly.

Category: LumiScan Terminology

OPC UA Connector|LumiScan OPC UA Connector

Oriented bounding box

A bounding box that may be rotated to follow the orientation of the object, described by its centre, width, height and angle.

In LumiScan: In LumiScan Annotation and in the manual mode of LumiScan VGR you draw oriented bounding boxes in three clicks and rotate them by dragging a corner. AI Object Matching reports each detected object with an oriented bounding box (oriented_bounding_box: centre, size, angle), and Template Finder reports every match as one.

Category: AI & Machine Learning

oriented bounding box|oriented bounding boxes|Oriented bounding boxes|Oriented bounding box|oriented box

P

Parallax

The apparent displacement of an object when it is observed from different viewpoints; near objects are displaced more than distant ones.

In LumiScan: Because the 13 cameras of the LumiScan X are physically separated, every scene point appears with parallax between the camera images. Measured as disparity between corresponding image points, this parallax is the geometric information from which the depth map and the point cloud are computed.

Category: Camera Technology

Wikipedia: Parallax

parallax|Parallax

Pipeline

A fixed sequence of processing steps through which data passes, one after the other.

In LumiScan: In LumiScan VGR, a pipeline defines how image and point cloud data are processed to find object poses and grip points: point cloud processing steps (filters such as ROR and SOR), a region of interest and the objects to detect. A project can have several pipelines; together with the active camera and robot, the active pipeline selected by the PLC (or through OPC UA with SetActivePipeline) defines how a grip is performed.

Category: LumiScan Terminology

pipeline|pipelines|Pipeline|Pipelines

Pixel format

How the value of each pixel is stored: grey or colour, the order of the colour channels and the number of bits, for example Mono8 or RGB8.

In LumiScan: The LumiScan X delivers Mono8 (6 fps) or Mono12 (3 fps, more accurate). The image node of the Cam Driver carries the pixel format in pixel-type. The finders and code readers accept Mono, RGB, BGR and Bayer formats with 8 or 12 bits; AI Object Matching takes Mono8 or RGB8. The label image of Area Detector is Mono16.

Category: Camera Technology

Wikipedia: Color depth

pixel format|pixel formats|Pixel format|Pixel Format|pixel type

PLC

The industrial computer that controls a machine or cell: it runs the control program, reads sensors and drives actuators.

In LumiScan: A PLC triggers the LumiScan apps and reads their results. On ctrlX OS, the ctrlX PLC calls the app nodes directly on the same device; on a PC, any PLC with an OPC UA client connects through the OPC UA Connector. LumiScan VGR exchanges signals with its PLC over PROFINET or OPC UA. Build PLC logic on plain nodes, not on FlatBuffers values.

Category: Industrial Communication
Abbreviation: Programmable Logic Controller

PLC|PLCs

Plenoptic function

A function that describes all the light in a scene: its radiance at every position, in every direction, for every wavelength and at every time.

In LumiScan: The plenoptic function P(x, y, z, θ, φ, λ, t) is the theoretical basis of light field imaging. For one moment, a defined spectral range and light travelling in straight lines through free space, it reduces to the four-dimensional light field L(u, v, s, t), which the LumiScan X samples with its 13 cameras.

Category: Camera Technology

Wikipedia: Light field

plenoptic function|Plenoptic function

PoE

Power supply over the Ethernet cable, so that a device such as a camera needs no separate power cable.

In LumiScan: The LumiScan X can be powered with PoE (IEEE 802.3af) from a PoE port of the computer or a PoE injector instead of 24 V DC. The 2D cameras of the Cam Driver are powered by PoE or an external supply.

Category: Industrial Communication
Abbreviation: Power over Ethernet

Wikipedia: Power over Ethernet

PoE|Power over Ethernet|PoE injector

Point cloud

A set of points in 3D space, each with X, Y and Z coordinates, that describes the surface of the captured scene.

In LumiScan: The LumiScan X delivers a point cloud of the scene. In the LumiScan Viewer you view it in the Point Cloud tab, clean it with the confidence threshold, box and ROR filters, and export it as .ply or .pcd; the coordinate system has the camera at its origin and the unit metre. LumiScan VGR uses the point cloud to calculate the 6-DoF pose of each object.

Category: Machine Vision

Wikipedia: Point cloud

point cloud|point clouds|Point cloud|Point Cloud|Point clouds

Pose

The position and orientation of an object in space; a 6-DoF pose has three values for the position and three for the rotation.

In LumiScan: In its workflow, LumiScan VGR calculates the 6-DoF pose of every detected object using the point cloud (after detecting the objects in the image) and returns grip poses as seven numbers - three for the translation and up to four for the rotation, whose convention depends on the robot configuration (OUT_PoseMoveInRobot over PROFINET, GripPointPose over OPC UA). AI Object Matching reports position and orientation in pixel coordinates of the image.

Category: Robotics

pose|poses|Pose|6-DoF pose

PROFINET

An Ethernet-based fieldbus standard over which a PLC exchanges input and output data with field devices in a fixed cycle.

In LumiScan: LumiScan VGR talks to the PLC over PROFINET: the PLC writes IN_* signals, LumiScan VGR answers with OUT_* signals, organised in slots, and each function follows a Ready/Request/Running handshake. In admin mode, the PROFINET tab shows the exchanged data. The troubleshooting of LumiScan Hand-Eye Calibration refers to a Hilscher cifX card (card name usually cifx0;0). For the other LumiScan apps the manuals describe the ctrlX PLC on the same device and OPC UA instead.

Category: Industrial Communication

External reference: PROFIBUS & PROFINET International

Wikipedia: PROFINET

PROFINET|Profinet

Q

QR code

A square 2D code with a finder pattern in three corners; it can hold a long text such as a URL or a serial number.

In LumiScan: LumiScan QR Code Reader finds every QR code in an image and reports its text, centre, outline and score. It needs no template and no configuration; Cockpit draws the codes in the view qr-code.

Category: Machine Vision
Abbreviation: Quick Response code

Wikipedia: QR code

QR code|QR codes|QR

R

REST API

A web interface through which a program reads and changes data with ordinary HTTP requests.

In LumiScan: On ctrlX OS, the Data Layer can also be reached through the ctrlX REST API. The manuals note two differences: a FlatBuffers result arrives there as JSON with its numbers quoted as strings, and a refused write answers with a bare HTTP status code (400).

Category: Software & Integration
Abbreviation: REST: Representational State Transfer; API: Application Programming Interface

Wikipedia: REST

REST API|REST|REST client

Robot base

The fixed foot of a robot; its coordinate system is the reference in which robot positions are usually given.

In LumiScan: LumiScan VGR returns grip poses in robot coordinates; its settings name the robot base coordinate system (ROBOT) as a reference frame. The hand-eye calibration places the robot relative to the camera; the robot settings also define which direction is "up" in the robot base coordinate system, used to find the topmost objects.

Category: Robotics

robot base|robot coordinates|robot coordinate system

ROI

The part of an image that is processed; everything outside it is ignored, which makes processing faster and avoids false results.

In LumiScan: In LumiScan VGR the ROI is the purple rectangle in which the network searches, defined per pipeline; LumiScan Annotation sets it for training. Template Finder, Object Finder, Area Detector and Text Reader take a region to search in input/crop (status -5 if it does not fit the image). The code readers have no ROI and always search the whole image. Cockpit can draw a fixed ROI as an overlay.

Category: Machine Vision
Abbreviation: Region of interest

Wikipedia: Region of interest

ROI|ROIs|region of interest|Region of interest|regions of interest

ROR

A point cloud filter that removes every point with too few neighbouring points within a given radius, so that isolated outliers disappear.

In LumiScan: The LumiScan Viewer offers it as ROR Filter with Minimum number of neighbors and Radius (in metres). In LumiScan VGR, a pipeline applies it with radiusOutlierRemoval (radius default 0.01, minNeighbors default 10), as the second filter in the order box filters → ROR → downsampling → RemoveNaN → SOR; the recording settings list it among their point cloud filters as well.

Category: Machine Vision
Abbreviation: Radius outlier removal

Wikipedia: Outlier

ROR|ROR filter|ROR Filter|radius outlier removal|Radius Outlier Removal

Runner and Trainer

The two roles of LumiScan File Transfer: the Runner on the production system and the Trainer on the training workstation.

In LumiScan: The Runner sends annotated images from the production system to the Trainer and receives trained networks back; the Trainer stores the images for training and sends new networks to the Runner. Each role has its own folder structure and network settings (port, destination IP, destination port); the roles can be switched in the settings file.

Category: LumiScan Terminology

Runner|Trainer|LumiScan File Transfer|File Transfer

S

SCADA

Software for monitoring and operating plants from a control room: it collects data from PLCs and devices and shows them to the operators.

In LumiScan: A SCADA system with OPC UA reaches the LumiScan apps on a PC through the OPC UA Connector. For a client that only observes, run a second, read-only connector instance on its own port.

Category: Industrial Communication
Abbreviation: Supervisory Control and Data Acquisition

Wikipedia: SCADA

SCADA

SDK

A package of libraries, tools and documentation for developing software for a particular platform or device.

In LumiScan: The LumiScan apps have no SDK of their own: every function is a Data Layer node, so any client that can read, write and call Data Layer or OPC UA nodes can use them. A program that runs on a ctrlX device is built like any ctrlX app, for example with the ctrlX AUTOMATION SDK.

Category: Software & Integration
Abbreviation: Software Development Kit

SDK|SDKs|ctrlX AUTOMATION SDK

Settings file

A file that stores how a program is configured, so that the configuration is kept and can be copied.

In LumiScan: Each LumiScan app has an application settings file that lists its module files, for example lumiscan-cam-driver.json with camera1.json. On ctrlX OS you edit them under Manage app data or upload them with WebDAV; on Windows they are in C:\ProgramData\HD Vision Systems GmbH\LumiScan Vision Suite\<program>\etc\<settings folder>, and --generate-settings writes an example. The Cam Driver, AI Object Matching and Calibration also show and accept their settings on system/settings (a restart is then required).

Category: LumiScan Terminology

Wikipedia: Configuration file

settings file|settings files|Settings file|module file|module files|application settings file

SOR

A point cloud filter that compares each point’s mean distance to its nearest neighbours with that of all points and removes the points that lie too far away from the rest.

In LumiScan: In LumiScan VGR, enableSOR in the pipeline settings switches on the statistical outlier removal filter for the recorded point cloud (off by default). It removes outliers for a better grip computation but increases the processing time. sorMeanK sets the number of neighbours considered (default 5), sorStddevMulThresh the threshold from which a point counts as an outlier (default 0.2). SOR is the last filter in the order box filters → ROR → downsampling → RemoveNaN → SOR.

Category: Machine Vision
Abbreviation: Statistical outlier removal

Wikipedia: Outlier

SOR|statistical outlier removal|Statistical outlier removal|statistic outlier removal

Static IP address

A network address that is set permanently on a device instead of being assigned automatically by a DHCP server.

In LumiScan: For the LumiScan X, a static IP address is strongly recommended over DHCP; set it in the LumiScan Viewer under Menu → IP Configuration, in the same subnet as the network adapter but not the same address. A 2D camera must be in the same local network as the ctrlX CORE or the PC; the Cam Driver can set its address with the system/force-ip handshake.

Category: Industrial Communication

Wikipedia: IP address

static IP address|static IP|Static IP|subnet|DHCP

Status code

A number with which a program reports the state of an operation, for example ready, running or a specific error.

In LumiScan: The Cam Driver, AI Object Matching and Calibration report the state of each module on control/status/code (0 ready, 2 running, 3 waitingForClient, negative values are errors). The finders write the outcome of each method to <method>/output/status-code with their own values (1 ok, negative values are errors). A method call also has a result of its own (for example Ok, DL_OK or Good). LumiScan VGR reports return codes such as SUCCESS and RESULTS_EMPTY. Use the numbers, never the texts, in program logic.

Category: LumiScan Terminology

status code|status codes|Status code|Status codes|return code|return codes|return value|return values

Stereo vision

Computing depth from two images of the same scene, taken by two cameras at a known distance from each other, by measuring the disparity of corresponding points.

In LumiScan: The LumiScan X is not a stereo camera but a light field camera with 13 cameras: it extends the stereo principle to many viewpoints and baselines. Evaluating correspondences across several images instead of two adds geometric constraints, can make the depth reconstruction more robust, and lets a surface that is hidden from one camera be seen by another.

Category: Machine Vision

stereo vision|Stereo vision|stereo camera|stereo cameras

Stream

A continuous flow of data: the source pushes every new item, for example each camera image, and the receiver processes it as it arrives, without a request per item.

In LumiScan: In the LumiScan apps, streams are experimental: the Cam Driver publishes every frame, and AI Object Matching, the finders and code readers subscribe to it; Calibration can subscribe to points or to another app’s result. Each consumer has one source and is started with control/subscribe/execute. A stream is faster than one execute call per image. In the LumiScan Viewer, the trigger mode Stream (trigger off) means the LumiScan X captures continuously.

Category: LumiScan Terminology

Wikipedia: Stream (computing)

stream|streams|Stream|Streams|image stream|image streams

T

Template matching

Finding a known object in an image by comparing it with a small reference picture of the object, the template.

In LumiScan: LumiScan Template Finder compares brightness and searches a range of scales and rotations; it reports an oriented box, a confidence, the scale and the rotation. LumiScan Object Finder compares the outline (shape) of the object, which is more robust to lighting, but needs one template per orientation or working distance. Both cut their templates from a live camera image.

Category: Machine Vision

Wikipedia: Template matching

template matching|Template matching|Template Matching|template|templates

Thresholding

Dividing an image into foreground and background by comparing each pixel’s brightness with a limit, the threshold.

In LumiScan: LumiScan Area Detector thresholds the image once at a level you set (method FIXED) and measures every connected region by counting its pixels. Analysing a Scene measures the image, suggests a level and publishes the grey-level histogram.

Category: Machine Vision

thresholding|thresholded

Tool center point

The reference point of the tool on a robot, for example the point between the gripper fingers; robot motions are planned for this point.

In LumiScan: In LumiScan VGR the TCP is a link in the robot description (tcpFrame in the URDF). Over PROFINET, OUT_PoseObjectInTcp gives the pose of the object in TCP coordinates.

Category: Robotics
Abbreviation: TCP

tool center point|Tool center point|TCP coordinates

TooManyOperations

The answer "busy": the operation was refused because another operation is still running.

In LumiScan: A module of a LumiScan app runs one operation at a time. A method called while another operation of the same module runs - an execute, a handshake or, in the finders, a stream frame - is refused as busy: TooManyOperations on LumiScan Keryx, DL_TOO_MANY_OPERATIONS on the ctrlX Data Layer, BadTooManyOperations over OPC UA. Nothing is queued; retry once the running operation has finished.

Category: LumiScan Terminology

TooManyOperations|DL_TOO_MANY_OPERATIONS|BadTooManyOperations

TPU

A processor built to run neural networks quickly and with little power; in this documentation, the Hailo AI accelerator.

In LumiScan: AI Object Matching can run its inference on a Hailo TPU of a ctrlX CORE X3 (app version 1.2 or later) or X7 (1.1 or later) with Hardware Support 2.6.2; set provider to HAILO. The TPU is optional. LumiScan Training converts an ONNX model into a Hailo model (.hef) with the optional Hailo PlugIn.

Category: AI & Machine Learning
Abbreviation: Tensor Processing Unit

Wikipedia: AI accelerator

TPU|TPUs|Hailo|HAILO|Hailo PlugIn

Training

Teaching a neural network with annotated example images until it recognises the objects reliably.

In LumiScan: LumiScan Training trains networks from scratch or continues training an existing one. A JSON configuration defines training and validation data, classes, network type and training profile; the result is exported as ONNX. It needs Windows 11 Pro or Enterprise and an NVIDIA RTX graphics card. Training data comes from LumiScan Annotation or from the manual mode of LumiScan VGR.

Category: AI & Machine Learning

training|Training|training data

Trigger

The signal that tells a camera to take an image: a hardware trigger is an electrical pulse on an input of the camera, a software trigger is a command sent over the network.

In LumiScan: The LumiScan X can be triggered by hardware (Trigger IN, minimum 5 V, optimum 24 V), by software, or capture continuously; its Trigger OUT can fire a flash such as the LumiScan SL. The Cam Driver never triggers a camera by itself: control/trigger/execute sends a software trigger only while the camera is in software trigger mode (TriggerMode On, TriggerSource Software); otherwise the camera is triggered by hardware or runs freely.

Category: Camera Technology

hardware trigger|Hardware trigger|Hardware Trigger|software trigger|Software trigger|Software Trigger|trigger mode|trigger signal|trigger signals|trigger input

U

URDF

An XML file format that describes a robot: its links, joints and their geometry.

In LumiScan: Every robot configuration of LumiScan VGR references a robot description file in .urdf format, which names, among others, the move frame and the TCP frame. Robots and grippers can additionally be shown with CAD models in .stl format. In LumiScan VGR Engineering, the robot description belongs to the robot element.

Category: Robotics
Abbreviation: Unified Robot Description Format

URDF|robot description|robot description file

V

Vision-guided robotics

Robot applications in which a camera tells the robot where the parts are, so that it can pick or place parts whose position is not fixed.

In LumiScan: LumiScan VGR is the 3D vision-guided robotics software of HD Vision Systems for bin picking and automated assembly; LumiScan VGR Engineering configures it. For 2D applications, the results of a finder or AI Object Matching can be converted into 3D coordinates with LumiScan Calibration.

Category: Robotics
Abbreviation: VGR

vision-guided robotics|Vision-guided robotics|vision guided robotics

W

Waypoint

A named pose that a robot moves to or through, for example a position above a part before it grips.

In LumiScan: Each robot configuration of LumiScan VGR defines its waypoints (waypoints in the robot settings): WP_GRIP_POINT is the grip point of each object, WP_ABSOLUTE a fixed pose in the robot coordinate system, WP_RELATIVE a pose relative to other waypoints (for example the grip point), applied in robot coordinates (LEFT) or in object coordinates (RIGHT), and WP_CLONE a copy of another waypoint. Path segments define the motion from the current pose to a destination waypoint - linear in state space (the other segment types are not implemented) - with a collision check per segment (on by default) and an optional sendActionId that is transmitted to the PLC when the waypoint is returned.

Category: Robotics

Wikipedia: Motion planning

waypoint|waypoints|Waypoint|Waypoints|path segment|path segments

WebDAV

An extension of HTTP for uploading, downloading and managing files on a server over the network.

In LumiScan: On ctrlX OS, settings files, models and calibration files are usually uploaded through the ctrlX web interface; where that is not possible, use WebDAV, for example with WinSCP (WebDAV, TLS/SSL, path /solutions/webdav/appdata). The model files of AI Object Matching must be uploaded with WebDAV.

Category: Software & Integration
Abbreviation: Web Distributed Authoring and Versioning

External reference: IETF RFC 4918

Wikipedia: WebDAV

WebDAV

Working distance

The distance between the camera and the object it observes.

In LumiScan: The LumiScan X works at distances of 250 to 3000 mm; each standard configuration has its own focus, calibration range and field of view at the minimum and maximum working distance. A calibration file that does not match the current measurement distance gives a poor point cloud. Template Finder and Object Finder templates are cut at the real working distance; Object Finder needs one template per working distance it should recognise.

Category: Camera Technology

working distance|working distances|Working distance|measurement distance|measuring distance