Port IMAGE - DEFAULT 🛈¶
Standard-Port für die Interaktion mit dem Framegrabber
Stimulation¶
Dieser Port besitzt keine Stimulus-Fähigkeiten.
Besonderheiten¶
Über diesen Port kann neben den Bilddaten auch auf die digitalen I/O-Ports des Framegrabbers zugegriffen werden. Dazu können die PortJobs genutzt oder mit der Option Status der I/O-Ports im Video anzeigen der aktuelle Zustand der I/O-Ports in die obere rechte Ecke jedes Einzelbilds während der Aufnahme binär kodiert werden:
Dabei werden, von rechts nach links gelesen, zuerst die Zustände der Input-Ports und danach die Output-Ports in aufsteigender Portnummerierung geschrieben. Ein Wert über 128 entspricht dabei einer 1 bzw. An und darunter 0 bzw. Aus.
Für den Framegrabber im Beispielbild wurden jeweils 6 Input- und 6 Output-Ports konfiguriert, daher lautet die dekodierte Ausgabe:
Input: [1, 0, 1, 1, 0, 1]
Output: [0, 1, 0, 1, 0, 0]
Auf ähnliche Weise arbeitet die Option Binären Zeitstempel im Video anzeigen. Hier wird der aktuelle Zeitstempel des Framegrabbers in Nanosekunden als 64 bit unsigned Integer in den ersten 64 Pixeln der oberen linken Ecke kodiert. Jedes Pixel größer als 128 entspricht einer 1, ansonsten einer 0. Das höchstwertige Bit steht im ersten Pixel (big-endian).
Der binäre Zeitstempel im folgenden Beispiel entspricht 345959656981240 Nanosekunden.
Mit folgendem Beispielcode kann der binäre Zeitstempel aus einem Bild ausgelesen und in einen Unix-Timestamp konvertiert werden:
import numpy as np
def ReadTimestampFromImage(image: np.ndarray):
"""
The grabber can write 64 bit binary timestamps into a video frame. This corresponds to ns
since 01.01.1970. As standard, the timestamps will appear in the top left corner of the
frame, each pixel corresponding to one bit.
:param image: Raw matrix of the image, e.g. image.ToGrayscale().GetData()
:type image: np.ndarray
"""
# convert first 64 pixels of image to binary array
rawTs = image[0, 0:64, 0] > 125
# convert logical array to number
nanoSecondTs = 0
for i in range(64):
nanoSecondTs |= int(rawTs[63-i]) << i
# Return the timestamp in seconds
return nanoSecondTs / 1e9
Eigenschaften 🛈¶
Name |
Verfügbar wenn |
Standardwert |
Gültige Werte |
Typ |
Beschreibung |
|---|---|---|---|---|---|
Framegrabber Interfacename |
[ONLINE] |
string |
Name des LVDS-Interface, welches als Framegrabber dient. |
||
LVDS-Kanal |
0 |
int |
LVDS-Kanal für Interfaces, die mehrere LVDS-Kanäle unterstützen. |
||
I/O Interfacename |
[ONLINE] |
string |
Name des I/O-Interface. |
||
Software-Reset beim Toolstart |
☐ |
bool |
Führt einen Software-Reset auf dem LVDS-Gerät durch, bevor die Konfiguration geladen und das Grabbing gestartet wird. |
||
Konfiguration |
use existing |
[use existing, load file] Anzeigewerte:
|
string |
Diese Option legt fest, ob ecu.test zu Beginn des Verbindungsaufbaus eine XML-Konfigurationsdatei auf die Hardware laden soll. Alternativ wird die bestehende Konfiguration verwendet. In diesem Fall muss die Verbindung zum Framegrabber vorher manuell über die DragonSuite eingerichtet werden. |
|
Pfad zur Konfigurationsdatei |
Konfiguration: ‚load file‘ |
uri |
Pfad zur XML-Konfigurationsdatei, mit welcher das LVDS-Interface konfiguriert werden soll. Eine solche XML-Datei kann über die DragonSuite generiert werden. |
||
Status der I/O-Ports im Video anzeigen |
☐ |
bool |
Fügt in der oberen rechten Ecke des Videos den aktuellen Zustand der I/O-Ports hinzu. |
||
Binären Zeitstempel im Video anzeigen |
☐ |
bool |
Fügt in der oberen linken Ecke des Videos den aktuellen 64-Bit Zeitstempel des Framegrabbers im Binärformat hinzu. |
||
Rot und Blau tauschen |
☐ |
bool |
Setzt das Layout der Farbkanäle auf BGR, sonst RGB. |
||
Live-Vorschau |
☐ |
bool |
Streamt eine Live-Vorschau auf dem eingestellten Netzwerkport. Der Livestream ist unter der IP-Adresse des Toolhosts und dem eingestellten Port erreichbar, z.B. für eine lokale Toolanbindung: http://127.0.0.1:<port> |
||
Vorschaufenster öffnen |
Live-Vorschau |
☑ |
bool |
Öffnet ein Vorschaufenster beim Starten der Konfiguration. Dieses Fenster zeigt das aktuelle Bild als Livestream an und bleibt so lange geöffnet, wie die Testkonfiguration aktiv ist. |
|
Port |
Live-Vorschau |
‚<auto>‘ |
string |
Der Port über welchen das Bild gestreamt werden soll. Falls die Live-Vorschau für mehrere Bildquellen aktiviert ist, muss jeder Livestream einen anderen Port verwenden. Wenn <auto> eingetragen ist, wird automatisch ein freier Port zugewiesen. |
|
Text-Overlay in Aufzeichungen einblenden |
☐ |
bool |
Fügt bei Aktivierung ein Text-Overlay im Format „Timestamp Packagename“ in die untere linke Ecke von Videoaufnahmen ein. |
Jobs 🛈¶
ReadDigitalInputs¶
Liest den aktuellen Zustand aller digitaler Input-Ports und gibt sie als Liste zurück
Parametrierung
Rückgabewert
Name |
Verfügbar wenn |
Standardwert |
Gültige Werte |
Typ |
Beschreibung |
|---|---|---|---|---|---|
return |
object |
Liste von Zuständen je Input-Port |
ReadDigitalOutputs¶
Liest den aktuellen Zustand aller digitaler Output-Ports und gibt sie als Liste zurück
Parametrierung
Rückgabewert
Name |
Verfügbar wenn |
Standardwert |
Gültige Werte |
Typ |
Beschreibung |
|---|---|---|---|---|---|
return |
object |
Liste von Zuständen je Output-Port |
WriteDigitalOutput¶
Schreibt Wert auf digitalen Output-Port
Parametrierung
Parameter
Name |
Verfügbar wenn |
Standardwert |
Gültige Werte |
Typ |
Beschreibung |
|---|---|---|---|---|---|
port |
1 |
int |
Index des Output-Ports beginnend mit 1 |
||
value |
☐ |
bool |
Neuer Zustand des Output-Ports |