---
title: "Konfigurationsdatei eines Moduls"
product: "LumiScan AI Object Matching"
component: "lumiscan-ai-object-matching-de"
version: "2.1.0"
display_version: "2.1.0.9"
latest_version: true
language: "de"
url: "https://docs.hdvisionsystems.com/de/lumiscan-ai-object-matching-de/2.1.0/lumiscan-ai-object-matching/module-configuration-file.html"
---

# Konfigurationsdatei eines Moduls – LumiScan AI Object Matching

Die Konfigurationseinstellungen des Moduls stehen in der Datei **\<file name x>.json** (in diesem Beispiel **ai-object-matching-module.json**) und legen fest, wie das Netzmodul Bilddaten auswertet.

Ein Beispiel für die JSON-Einstellungen der Modulkonfiguration:

```json
{
    "$schema": "schemas/lumiscan-ai-object-matching-module.schema.json",
    "meta":
    {
        "inputFileType": "LumiScan-CtrlX-AI-Object-Matching-Module",
        "inputFileVersion": "1.0.0",
        "targetMachine": "Example",
        "programName": "AI-Object-Matching",
        "programVersion": "1.0.0"
    },
    "name": "example",
    "neuralNetworkConfig": "models/model_description.json",
    "externalImagePath": "hdvisionsystems/lumiscan-cam-driver/camera1/output/image"
}
```

Die Beschreibung der oben genannten Parameter finden Sie in der folgenden [Tabelle 6](https://docs.hdvisionsystems.com/de/lumiscan-ai-object-matching-de/2.1.0/lumiscan-ai-object-matching/module-configuration-file.html#table-6).

**Tabelle 1. Modulkonfiguration: Beschreibung der JSON-Einstellungen**

| Parameter | Beschreibung |
| --- | --- |
| meta | Ort für Metainformationen: inputFileType und inputFileVersion sind erforderlich. |
| inputFileType | Muss in diesem Fall sein: `LumiScan-CtrlX-AI-Object-Matching-Module` |
| inputFileVersion | Derzeit wird nur Version 1.0.0 unterstützt. |
| targetMachine | Optional. Tragen Sie hier den Namen der verwendeten Maschine ein, um anzuzeigen, dass die aktuelle Anwendungskonfiguration für genau diese Maschine verwendet wird. |
| programName | Optional. Dieser Parameter gibt an, von welcher Anwendung die aktuelle Datei verwendet wird. In diesem Fall: `AI-Object-Matching` |
| programVersion | Optional. Derzeit verwendete Programmversion. |
| name | Ein eindeutiger Bezeichner für das neuronale Netz, der auch als Netzname in der Data-Layer-Adresse verwendet wird: `hdvisionsystems/lumiscan-ai-object-matching/<name>/...`. Erlaubt sind nur Kleinbuchstaben, Ziffern, `-` und `_`. Ein Modul, dessen Name einen Großbuchstaben oder ein anderes Zeichen enthält, wird nicht geladen; das Log nennt den Namen, der stattdessen zu schreiben ist (`Network1` → `network1`). |
| neuralNetworkConfig | Der Dateipfad zu den Parametern des Modells des neuronalen Netzes. Diese Parameter werden vom LumiScan Training Framework erzeugt. |
| externalImagePath | Pfad zur Data-Layer-Adresse, die das Bild enthält. Die angegebene Bildadresse muss **data, height, width, pixel-type** enthalten.<br> <br> Ist er nicht angegeben, legt das Netzmodul einen zusätzlichen Pfad unter `hdvisionsystems/lumiscan-ai-object-matching/<network name>/input` an, über den Anwender Rohbilder ohne eine weitere Anwendung in den Data Layer hochladen können. |
| stream | **Experimentell** (ab v2.2.0). Optional. Inferenz auf einem Bild-Stream aus einer Quelle: die Einstellungen unten. Ohne diesen Abschnitt, oder ohne `enable` darin, ist das Modul nicht im Stream-Modus. `control/subscribe/execute` und `control/unsubscribe/execute` speichern `enable`, `address`, `tag`, `queueSize` und `keepLatestOutput` hier, bevor sie sie anwenden; der Rest der Datei bleibt, wie er war, Kommentare eingeschlossen. Der Abschnitt hat in jeder LumiScan-Anwendung, die einen Stream abonniert, dieselben Schlüssel. Siehe [Inferenz auf einem Bild-Stream](https://docs.hdvisionsystems.com/de/lumiscan-ai-object-matching-de/2.1.0/lumiscan-ai-object-matching/inference-on-an-image-stream.html). |
| stream.enable | `true`: Das Modul startet im Stream-Modus und inferiert die Bilder seiner Quelle von seinem Start an. Standardmäßig `false`. Benötigt `stream.address`: Ein Modul mit `enable` auf `true` und ohne Adresse wird nicht geladen. |
| stream.address | Der Bild-Stream, der inferiert wird: sein Ordner, zum Beispiel `hdvisionsystems/lumiscan-cam-driver/camera1/control/publish/output/stream`. Das Modul abonniert den `frame`-Knoten des Ordners, dessen Bilder ihre Größe, ihr Pixelformat und ihre Lineage tragen; die Lineage jedes Ergebnisses benennt die Kamera. |
| stream.tag | Das Tag auf den Ergebnissen des Moduls: Der Schritt des Moduls in der Lineage jedes Stream-Ergebnisses trägt es, sodass jeder, der ein Ergebnis weiter unten in der Kette liest, sieht, welches Modul es erzeugt hat. Optional. Weggelassen oder leer: die Modul-ID, das letzte Segment der Adresse des Moduls - `example` für `hdvisionsystems/lumiscan-ai-object-matching/example`. |
| stream.queueSize | Wie viele Bilder auf die Inferenz warten dürfen: 1 bis 64, standardmäßig 1. 1 inferiert das neueste Bild; ein höherer Wert behält mehr Bilder, wenn das Netz zurückfällt. Siehe [Die Warteschlangengröße](https://docs.hdvisionsystems.com/de/lumiscan-ai-object-matching-de/2.1.0/lumiscan-ai-object-matching/inference-on-an-image-stream.html#queue-size). |
| stream.keepLatestOutput | `true`: Jedes Stream-Ergebnis geht zusätzlich in die normale Ausgabe (`output/result`, der Zeitstempel und `output/package-identifier`). Standardmäßig `false`. Siehe [Neuestes Ergebnis behalten](https://docs.hdvisionsystems.com/de/lumiscan-ai-object-matching-de/2.1.0/lumiscan-ai-object-matching/inference-on-an-image-stream.html#keep-latest-output). |
| stream.onEntry | Die Schritte, die auf jedes eintreffende Bild vor der Inferenz angewendet werden, jeder ein Objekt mit einem `kind`. AI Object Matching hat noch keine: Lassen Sie den Eintrag weg oder leer (`[]`). Ein Schritt verhindert das Laden des Moduls, weil es ohne den Schritt inferieren würde, den seine Datei verlangt; das Log benennt ihn. |
| stream.onExit | Reserviert für Schritte, die auf jedes Ergebnis angewendet werden. Wird noch nicht gelesen: Die Anwendung protokolliert eine Warnung, und die Schritte werden nicht angewendet. |

> [!NOTE]
> Nach einer Änderung der Parameter sollte die Anwendung LumiScan AI Object Matching neu gestartet werden. Für den Abschnitt `stream` genügt ein Reset.
>
> Die Stream-Layouts früherer Test-Builds werden nicht mehr gelesen: `subscriptions` und `streamQueueSize` auf oberster Ebene sowie `stream.subscriptions` (eine Map mehrerer Quellen). Ein Modul hat jetzt eine Quelle: Verschieben Sie ihre Adresse nach `stream.address` und `streamQueueSize` nach `stream.queueSize`. Die Anwendung protokolliert eine Warnung, solange eine Moduldatei noch einen dieser Einträge enthält.

## Automatisches Kopieren eines externen Bildes

Um ein externes Bild automatisch aus einer anderen Anwendung zu kopieren, muss diese Anwendung eine Adresse mit den folgenden Parametern bereitstellen:

**Tabelle 2. Parameter des externen Bildes**

| Adresse | Typ |
| --- | --- |
| `<address>/data` | Array von uint8_t |
| `<address>/height` | uint32_t |
| `<address>/width` | uint32_t |
| `<address>/pixel-type` | string, mögliche Werte: Mono8, RGB8 |

**\<address>** ist das Bildfeld, das in der Modulkonfigurationsdatei unter `externalImagePath` angegeben ist.

> [!NOTE]
> Diese Schnittstelle ist für die Verwendung mit dem LumiScan Cam Driver entworfen und getestet. Die Kompatibilität mit Bilddaten anderer Anwendungen kann nicht garantiert werden.

## Vollständige Referenz {#complete-reference}

Alle Einstellungen dieser Datei, wie sie ihr JSON-Schema `lumiscan-ai-object-matching-module.schema.json` festlegt, erzeugt für Version 2.1.0 (Beschreibungen aus dem Schema, auf Englisch):

| Einstellung | Typ | Standard | Zulässige Werte | Beschreibung |
| --- | --- | --- | --- | --- |
| `meta` | object |   |   | **Pflichtangabe.** |
| `meta/inputFileType` | string |   | nicht leer | **Pflichtangabe.** |
| `meta/inputFileVersion` | string |   | nicht leer | **Pflichtangabe.** |
| `meta/targetMachine` | string |   | nicht leer | **Pflichtangabe.** |
| `meta/programName` | string |   | nicht leer | **Pflichtangabe.** |
| `meta/programVersion` | string |   | nicht leer | **Pflichtangabe.** |
| `name` | string |   | Muster `^[a-zA-Z0-9_-]+$` | **Pflichtangabe.** only [a-Z], [0-9], '-' and '\_' are allowed. Unique ID of the camera configuration. This is used to identify different camera on datalayer. |
| `neuralNetworkConfig` | string |   | nicht leer | **Pflichtangabe.** Path to network description file. |
| `externalImagePath` | string |   | nicht leer | If specified, the image will be loaded from the specified path instead of the ai-object-matching app managed input image. |
| `cropImage` | object |   |   | If specified, input image will be cropped and then used for inference. Note that the detected pixel position is related to original image. Use it if you want to accelerate the inference by reducing the image size. |
| `cropImage/startX` | number |   | ≥ 0 | **Pflichtangabe.** |
| `cropImage/startY` | number |   | ≥ 0 | **Pflichtangabe.** |
| `cropImage/width` | number |   |   | **Pflichtangabe.** |
| `cropImage/height` | number |   |   | **Pflichtangabe.** |
| `simulateResult` | string |   | nicht leer | If specified, the result will be simulated. This is useful for testing the application without the actual neural network. |
| `classIndexRemapping` | object |   |   | If specified, the detected object's index will be remapped to other index. Ke |
| `classIndexRemapping/<Name>` | integer |   |   |   |

## JSON-Schemas {#json-schemas}

Die Anwendung legt die JSON-Schemas ihrer Einstellungsdateien in ihrem Ordner `schemas` ab; diese Kopien passen immer zur installierten Version. Die Schemas von LumiScan AI Object Matching 2.1.0 stehen außerdem zum Download bereit: [JSON-Schemas von LumiScan AI Object Matching 2.1.0](https://docs.hdvisionsystems.com/schemas/lumiscan-ai-object-matching/2.1.0/index.html).

Damit ein Editor wie Visual Studio Code eine Kopie einer Einstellungsdatei prüft, die Sie auf Ihrem PC bearbeiten, lassen Sie deren Eintrag `$schema` auf das veröffentlichte Schema zeigen:

```json
{
  "$schema": "https://docs.hdvisionsystems.com/schemas/lumiscan-ai-object-matching/2.1.0/lumiscan-ai-object-matching-module.schema.json",
  ...
}
```

Lassen Sie den Eintrag `$schema` der Dateien auf dem Gerät so, wie die Anwendung ihn geschrieben hat.
