Skip to content
logo
ecu.test 2025.3 Help
Port IMAGE - DEFAULT 🛈
  • English
  • Deutsch
Initializing search
    • Getting Started
    • Overview
    • ecu.test Main program
    • Further included programs
    • Tools
      • A&D: iTest
      • ASAM: ACI
      • ASAM: iLinkRT
      • ASAM: XIL
      • ASAP: STEP
      • ATI: VISION
      • AVL: LYNX
      • AVL: PUMA
      • Basler: pylon
      • Beckhoff: TwinCAT
      • Digiteq: FG4 MultiBox
      • Digiteq: MGB
      • dSPACE: AURELION
      • dSPACE: ControlDesk
      • dSPACE: ModelDesk
      • dSPACE: MotionDesk
      • dSPACE: RTMaps
      • dSPACE: XIL API
      • EA: UTA 12
      • EMVA: GenICam
      • ESI: SimulationX
      • ETAS: BOA
      • ETAS: COSYM-SIL
      • ETAS: INCA
      • ETAS: LABCAR-PINCONTROL
      • FEP
      • FEP3
      • FEV: Morphée
      • froglogic: Squish
      • Google: ADB
      • Göpel: Video Dragon
        • Ports
          • Port IMAGE - DEFAULT 🛈
            • Stimulation
            • Specifics
            • Properties 🛈
            • Jobs 🛈
              • ReadDigitalInputs
              • ReadDigitalOutputs
              • WriteDigitalOutput
      • Hexagon: VTD
      • HMS: ACT - Restbussimulation
      • HMS: Legacy Bus Interfaces (VCI V2)
      • HMS: VCI V4
      • HORIBA FuelCon: TestWork
      • IDS: uEye
      • IPETRONIK: ETHOS
      • IPG: CarMakerHeadless
      • IPG: CarMaker|RealTimeMaker
      • JS Foundation: Appium
      • Keysight: CDS
      • Keysight: ESD
      • KS Engineers: TornadoACI
      • Lauterbach: TRACE32
      • MAGNA: BluePiraT
      • Mathworks: MATLAB & Simulink
      • Mechanical Simulation Corporation: CarSim
      • MicroNova: NovaCarts
      • Modelica Association: FMI
      • MOTEON: MTB
      • NI: LabVIEW
      • NI: VeriStand
      • NI: VISA
      • Opal-RT: RT-LAB
      • PEAK: PCAN
      • PLS: UDE
      • QUANCOM: QLIB
      • RA Consulting: DiagRA D
      • ROS2
      • SAE: PassThru
      • SFC: Selenium
      • Softing: DTS
      • Speedgoat: SimulinkRealTimeXIL
      • Synopsys: Silver
      • Synopsys: SilverXIL
      • Synopsys: Virtualizer
      • Technica: BTS
      • Technica: CM
      • The GNU Project: GDB
      • TOSUN: libTSCAN API
      • tracetronic: Ethernet
      • tracetronic: Multimedia
      • tracetronic: RemoteCommand
      • tracetronic: RemoteCommandLinux
      • tracetronic: Serial interface
      • tracetronic: SocketCAN
      • tracetronic: SSH MultiConnect
      • tracetronic: ZeroMQ
      • TTTech: TTXConnexion
      • Typhoon HIL: THCC
      • Vector: CANape
      • Vector: CANoe / CANalyzer
      • Vector: DYNA4
      • Vector: SIL Kit
      • Vector: XL API
      • Vehinfo: LABCAR
      • ViGEM: CCA
      • VW: ODIS
      • X2E: Xoraya
      • Tools with stimulus support
    • Test execution
    • Trace analysis
    • Workspace
    • Handling
    • Test management
    • test.guide
    • Extensions
    • Specific Tutorials
    • API references
    • System requirements
    • ecu.test on Linux
    • ecu.test code
    • ecu.test agent
    • ecu.test lab
    • Stimulation
    • Specifics
    • Properties 🛈
    • Jobs 🛈
      • ReadDigitalInputs
      • ReadDigitalOutputs
      • WriteDigitalOutput

    Port IMAGE - DEFAULT 🛈¶

    Default port for interaction with the frame grabber

    Stimulation¶

    This port has no stimulus capabilities.

    Specifics¶

    In addition to the image data this port can access the I/O ports of the frame grabber. This can be done with the port jobs or the option Show state of I/O ports in video that writes the current state of the I/O ports in the upper right corner of the recorded video:

    ../../../_images/Goepel_IO_crop.png

    Every pixel represents the state of an I/O port in ascending order from right to left. A pixel value greater than 128 represents one, otherwise zero.

    ../../../_images/Goepel_IO.png

    The frame grabber in the example image has configured 6 input and 6 output ports. The first 6 pixels are for input and the remaining for output:

    Input: [1, 0, 1, 1, 0, 1]

    Output: [0, 1, 0, 1, 0, 0]

    The option Show binary timestamp in video works in a similar way. The current timestamp of the grabber in nanoseconds is stored in a 64 bit unsigned integer and written to the first 64 pixels in the upper left corner of the frame. A pixel value greater than 128 corresponds to a one, otherwise zero. The most significant bit is the first one (big-endian).

    ../../../_images/Goepel_timestamp.gif

    So this example image corresponds to 345959656981240 nanoseconds:

    ../../../_images/Goepel_timestamp_345959656981240.png

    The following sample code can be used to read the binary timestamp from an image and convert it to a Unix timestamp:

    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
    

    Properties 🛈¶

    Name

    Available if

    Default value

    Valid values

    Type

    Description

    Frame grabber interface name

    [ONLINE]

    string

    Name of the LVDS interface which serves as frame grabber.

    LVDS channel

    0

    int

    LVDS channel for interfaces supporting multiple LVDS channels.

    Name of I/O interface

    [ONLINE]

    string

    Name of I/O interface.

    Software reset on tool start

    ☐

    bool

    Performs a software reset on the LVDS device before loading the config and start grabbing.

    Configuration

    use existing

    [use existing, load file]


    Display values:

    • use existing: Use already loaded configuration

    • load file: Load XML configuration

    string

    This option determines whether Eecu.test should load an XML configuration file to the hardware at the beginning of the connection setup. Alternatively, the existing configuration is used. In this case, the connection to the frame grabber must be set up manually via DragonSuite before.

    Path to the configuration file

    Configuration: ‘load file’

    uri

    Path to the XML configuration file with which the LVDS interface is to be configured. Such an XML file can be generated via DragonSuite.

    Show state of I/O ports in video

    ☐

    bool

    Shows the current state of I/O ports in the right upper corner of the video.

    Show binary timestamp in video

    ☐

    bool

    The current timestamp of the grabber in nanoseconds is stored in a 64 bit unsigned integer and written to the first 64 pixels in the upper left corner of the frame.

    Swap red and blue

    ☐

    bool

    Sets the color channel layout to BGR, instead of RGB.

    Live preview

    ☐

    bool

    Streams a live preview on the configured network port. The live stream is available under the toolhost’s IP address and the configured port, e.g. for a local tool connection: http://127.0.0.1:<port>

    Open preview window

    Live preview

    ☑

    bool

    Opens a preview window upon loading the configuration. This window displays the current output of the image source as a livestream and will remain open as long as the test configuration is active.

    Port

    Live preview

    ‘<auto>’

    string

    The network port that will be used for live streaming. Every live stream needs an unique port if live streaming is enabled for multiple video sources. If the value is set to <auto> a free network port will be defined by the system.

    Show text overlay in video recordings

    ☐

    bool

    Adds a text overlay with the format “timestamp package name” in the bottom left corner of video recordings.

    Jobs 🛈¶

    ReadDigitalInputs¶

    Reads the current state of all digital inputs and returns them as a list

    Parameterization

    Return value

    Name

    Available if

    Default value

    Valid values

    Type

    Description

    return

    object

    List with states of all input ports

    ReadDigitalOutputs¶

    Reads the current state of all digital outputs and returns them as a list

    Parameterization

    Return value

    Name

    Available if

    Default value

    Valid values

    Type

    Description

    return

    object

    List with states of all output ports

    WriteDigitalOutput¶

    Writes value to digital output port

    Parameterization

    Parameter

    Name

    Available if

    Default value

    Valid values

    Type

    Description

    port

    1

    int

    Index of the output port starting with 1

    value

    ☐

    bool

    New state of the output port

    2025-12-05
    Previous
    Göpel: Video Dragon
    Next
    Hexagon: VTD
    © Copyright 2025, tracetronic GmbH.
    Created using Sphinx 8.2.3. and Sphinx-Immaterial
    Logo of tracetronic GmbH
    legal notice privacy policy