IDS peak 2.14.0 for Windows

Contents

System requirements   

For installing IDS peak, the following system requirements must be met:

Note: We recommend to use 64-bit systems. Depending on the application and camera model, the resources of 32-bit systems may not be sufficient, e.g. for application with high memory requirements.

Optional

IDS peak components   

IDS peak applications

USB3 Vision Transport Layer (U3VK)

GigE Vision Transport Layer

uEye Transport Layer

IDS peak comfortSDK

IDS peak genericSDK

DirectShow

Third Party Samples

Installation   

Administrator privileges are required to install the software.

Which setup to choose?

The Windows setup of IDS peak is available in different versions:

The following overview shows you which components are included in the individual setups.
  64-bit system architecture 32-bit system architecture
  IDS peak runtime setup IDS peak standard setup IDS peak extended setup IDS peak standard setup
USB3 Vision camera drivers supported supported supported supported
GigE Vision camera drivers supported supported supported supported
uEye camera drivers not supported not supported supported not supported
U3VK transport layer supported supported supported supported
GEV transport layer supported supported supported supported
GEVK transport layer supported supported supported supported
uEye transport layer supported supported supported supported
IDS peak Cockpit not supported supported supported supported
Command line tools supported supported supported supported
IDS Camera Manager not supported not supported supported not supported
Development environment: libraries not supported supported supported supported
Development environment: samples not supported supported supported supported
Interface: DirectShow not supported supported supported supported

Note for the setup of IDS peak 2.7 or higher

From version 2.7 on, the IDS peak genericSDK as part of the Windows setup is more finely subdivided. For example, you can completely deselect components such as IDS peak AFL (development library for auto features) or selectively select or deselect bindings for programming languages like .NET.

This change means that older versions of IDS peak have to be completely uninstalled before the new version is installed. The setup automatically detects older versions and displays a corresponding message for uninstalling the previous version.

Installation of IDS peak

Note: If you change the setup, components are automatically uninstalled during a downgrade.
Example: You have previously installed the standard setup and would now like to install the runtime setup. The runtime setup will automatically uninstall components that are not included in the setup. In the case of installation via the GUI, you will be notified. In the case of a silent installation, this takes place without any further notification.

Standard installation via setup file

Double-click on ids_peak_<version>.exe to run the setup. You have the following options for installation:

  1. Typical
    Installation of recommended components.
  2. Custom
    For user-defined installation. All components to be installed must be selected individually.
    In order to support uEye cameras (UI models), choose "Custom" and enable the installation of the uEye Transport Layer.

After the installation is finished, the PC must be restarted.

Note: If changes are required to an existing installation, you can use the "Modify" option of the corresponding setup.

Installation via silent setup

Note for the setup of IDS peak 2.7 or higher

Because of setup changes, setup response files (*.iss) created with a previous IDS peak version cannot be used with IDS peak 2.7 or higher. You have to create a new setup response file (*.iss) with IDS peak 2.7 or higher.

Prerequisites

The silent setup runs in the background and does not prompt the user for input. It gets its input from a silent response file (*.iss file) which you need to create in advance:

  1. Extract the IDS peak setup package to a local directory. The required silent setup command line parameters can only be processed by the ids_peak_<version>.exe.
  2. Record a setup response file. Run the setup with the /r command line parameter to have the setup record and create the setup response file, for example:
    ids_peak_<version>.exe /r
    → The setup will record all your setup choices in a file named "setup.iss" which will be placed in the Windows folder c:\Windows i.e. %WINDIR%.
  3. If necessary, you may rename the setup.iss file and locate it in a different directory. Do not use space characters.

Running the silent installation

You have two options:

  1. The "setup.iss" file is located in the setup directory. This is the default option.
    Enter ids_peak_<version>.exe /s /f1".\setup.iss" via command line.
  2. The "setup.iss" file has a different name and is located in a different directory.
    Enter the appropriate file name and location behind the f1 command, see example. Do not use space characters within the command line option /f1 command.
    Example: ids_peak_<version>.exe /s /f1"d:\mySetup.iss"

Note: When running a setup in silent mode no messages are displayed at all. You can review the Setup.log file for getting an installation summary including error log.

Installation of Python

Note: It is necessary to reinstall the Python bindings after updating/reinstalling IDS peak.

To use the Python binding of IDS peak make sure that Python is installed on your PC. The following Python versions are supported:

You can use pip to install the IDS peak Python bindings from PyPI.

Installing the Python bindings from PyPI

There are three packages to be installed:

To install the bindings, follow this order:

python -m pip install ids_peak_ipl
python -m pip install ids_peak
python -m pip install ids_peak_afl

Note: If you use a proxy, you must specify the proxy settings in the commands above directly after "pip install" with
--proxy <IP address>:<port number>

First start   

To open the IDS peak Cockpit, click on the icon of the IDS peak Cockpit on the desktop or click on "Start > Programs > IDS peak > IDS peak Cockpit".

The camera manager in IDS peak Cockpit shows you the IDS producers available on the host system. The available IDS cameras are listed below their interfaces. If the camera entry is grayed out, this camera is already open.

Samples

The samples are available for IDS peak comfortSDK, IDS peak genericSDK, or for third parties, e.g. for HALCON.

You can find the binaries of the samples under "Start > Programs > IDS peak > comfortSDK Sample" or "Start > Programs > IDS peak > genericSDK Sample".

You can find the source code of the samples under "Start > Programs > IDS peak > comfortSDK Sample Source Code" or "Start > Programs > IDS peak > genericSDK Sample Source Code".

Note on Qt/QML versions

The samples were built and tested with the following Qt versions:

For the QML samples, it is recommended to use the latest Qt5 version. Qt6 is currently not supported.

Note on C# versions

For the C# samples, the following versions are required

When building the samples using the dotnet buildĀ  command: The platform property must be set according to your target platform, e.g. when building on x86_64:

dotnet build -p:"Platform=x64" <.csproj file>

Note on Python versions

Python samples providing a GUI depend on the following packages:

Samples for IDS peak comfortSDK

IDS peak comfortC
Sample Content
configure_camera_gfa Demonstrates the 'generic feature access' which allows direct access to the camera's NodeMap.
firmware_update Demonstrates how to update cameras using a GUF file and how to be informed about the update progress.
To use this example, download a GUF file for your specific camera model. Start the example and pass the path to the GUF file as first argument. Then a list of updateable devices will be displayed. After a confirmation prompt, the compatible devices will be updated. The update progress is displayed in the terminal.
i2c Demonstrates the use of I2C feature.
To use this sample, you need a camera which supports I2C:
  • U3 models (requires USB3 Vision firmware 3.20 or higher)
    • PCB version uEye+ LE USB 3.1 Rev. 1.2
    • uEye+ LE USB 3.1 Rev. 1.2 AF
    • USB 3 uEye+ ACP Rev. 1.2
  • GV models (requires GigE Vision firmware 3.20 or higher)
    • GigE uEye+ ACP Rev. 1.2
  • UI models (requires IDS peak 2.7 or higher)
    • PCB version uEye LE USB 3.1 Gen 1
    • PCB version USB 3 uEye LE
    • PCB version USB uEye LE
    • GigE uEye LE
inference Demonstrates the inference feature in IDS peak:
  • Loading a CNN (convolutional neural network) with IDS peak.
  • Running the CNN on a captured image.
  • Readout the results.
Note: a CNN especially trained for IDS peak is required. Use IDS lighthouse to generate such a CNN or use one of the sample neural networks in the directory <IDS peak installation>/cnn.
ipl_features_live_qtwidgets Shows the use of IDS peak IPL functions for image manipulation in IDS peak comfortSDK. The example uses QtWidgets for this.
message_queue Demonstrates the use of camera-based and host-based events in a simple GUI. The example uses QtWidgets for this.
  1. Click on "Open camera".
  2. Select a camera.
  3. Active at least one event.
  4. Start image acquisition.
reconnect Opens the first available uEye+ camera and starts image acquisition. If you disconnect the camera, this is detected and signaled. If you reconnect the camera, this will also be detected and image acquisition will start again.
This example can also be used in combination with the uEye transport layer for uEye cameras (UI models).
record_video Gets the camera list and opens a camera after user selection. After the user enters the path and the name of the video file, 100 images are acquired and the video is saved. Afterwards, the camera is closed again.
sequencer_qtwidgets This example requires a camera that supports the Sequencer feature.
The example allows to parameterize 4 sequencer sets and to execute them in trigger mode. The following parameters can be used:
  • Exposure time
  • Gains (master gain, red gain, green gain, and blue gain)
  • Height, width, offsetX, and offsetY
The example uses QtWidgets for this.
simple_live_mfc Opens a camera and displays the live image. The example uses MFC for this.
simple_live_qtwidgets Opens a camera and displays the live image. The example uses QtWidgets for this.
trigger_live_qtwidgets Shows the use of triggered acquisition and setting trigger parameters like trigger delay etc. The example uses QtWidgets for this.
walkthrough Gets the camera list and opens the first available camera. The frame rate is set to maximum and 100 images are acquired. Afterwards, the camera is closed again.

Samples for IDS peak genericSDK

IDS peak genericC++
Sample Content
afl_features_live_qtwidgets Opens a camera and demonstrates the usage of the IDS peak AFL to control the host-sided autofocus features. This sample uses a QtWidgets GUI, which also provides a method of setting the autofocus ROI by drawing a bouding box on the image.
chunks_live_qml Opens a camera and shows the use of chunk data via the IDS peak API. The example uses QML (Qt Meta-object Language) for this.
chunks_live_qtwidgets Opens a camera and shows the use of chunk data via the IDS peak API. The example uses QtWidgets for this.
firmware_update Demonstrates how to update cameras using a GUF file and how to be informed about the update progress.
To use this example, download a GUF file for your specific camera model. Start the example and pass the path to the GUF file as first argument. Then a list of updateable devices will be displayed. After a confirmation prompt, the compatible devices will be updated. The update progress is displayed in the terminal.
device_tree Create and update module tree and open a camera.
get_first_pixel Starting image acquisition and accessing image pixel data.
host_auto_features_live_qtwidgets Opens a camera and shows the use of automatic exposure, gain and white balance algorithms (host based). The example uses QtWidgets for this.
lego_trigger Using triggered acquisition and setting trigger parameters.
Note: When exiting the sample, the camera remains in trigger mode. If you want to use the camera in freerun mode afterwards, load the "Default" UserSet or set all TriggerMode entries to "Off".
linescan_live_qtwidgets Opens a camera and configures it for linescan applications. The example uses QtWidgets for this.
Note: When exiting the sample, the camera remains in linescan mode. If you want to use the camera in default mode afterwards, load the "Default" UserSet.
multi_camera_live_qtwidgets Opens several cameras and displays the live image. In addition, different information per camera is displayed, e.g. number of acquired images.
open_camera Simple creation and opening of a camera object.
open_camera_by_serno Create and open a camera object by serial number.
open_camera_load_userset_default Opens a camera. Then, the "Default" user set is loaded and activated.
open_camera_select_cti Using a specific CTI to create and open a camera object.
reconnect_callbacks Opens the first available uEye+ camera and starts image acquisition. If you disconnect the camera, this is detected and signaled. If you reconnect the camera, this will also be detected and image acquisition will start again.
This example can also be used in combination with the uEye transport layer for uEye cameras (UI models).
remote_device_events Demonstrates the usage of "RemoteDeviceEvents" by activating and displaying "ExposureStart" event during continuous image acquisition.
Note: This sample requires firmware version 2.8 or higher.
save_images_live_qtwidgets Simple GUI example using Qt to show images and save them to disk using the IDS peak IPL.
sequencer_live_qml This example requires a camera that supports the Sequencer feature. The example allows to parameterize 4 sequencer sets and to execute them in trigger mode. The following parameters can be used:
  • Exposure time
  • Gains (AnalogAll, DigitalAll, DigitalRed, DigitalGreen, DigitalBlue)
  • Height, width, offsetX, and offsetY
Note: When exiting the sample, the camera remains in sequencer mode. If you want to use the camera in default mode afterwards, load the "Default" user set.
simple_live_qml Simple example for usage with QML GUI to display images.
simple_live_qtwidgets Simple example for usage with Qt widgets GUI to display images.
walkthrough Guided tour through module tree and opening of the first available camera.
IDS peak genericC#
Sample Content
firmware_update Demonstrates how to update cameras using a GUF file and how to be informed about the update progress.
To use this example, download a GUF file for your specific camera model. Start the example and pass the path to the GUF file as first argument. Then a list of updateable devices will be displayed. After a confirmation prompt, the compatible devices will be updated. The update progress is displayed in the terminal.
open_camera Simple creation and opening of a camera object.
reconnect_callbacks Opens the first available uEye+ camera and starts image acquisition. If you disconnect the camera, this is detected and signaled. If you reconnect the camera, this will also be detected and image acquisition will start again.
This example can also be used in combination with the uEye transport layer for uEye cameras (UI models).
This sample is provided as Microsoft Visual Studio project file (*.csproj).
simple_live_windows_forms Simple example for usage with Windows Forms to display images.
simple_live_wpf Simple example for usage with Windows Presentation Foundation (WPF) to display images.
IDS peak genericPython
Sample Content
firmware_update Demonstrates how to update cameras using a GUF file and how to be informed about the update progress.
To use this example, download a GUF file for your specific camera model. Start the example and pass the path to the GUF file as first argument. Then a list of updateable devices will be displayed. After a confirmation prompt, the compatible devices will be updated. The update progress is displayed in the terminal.
open_camera Simple creation and opening of a camera object.
reconnect_callbacks Opens the first available uEye+ camera and starts image acquisition. If you disconnect the camera, this is detected and signaled. If you reconnect the camera, this will also be detected and image acquisition will start again.
This example can also be used in combination with the uEye transport layer for uEye cameras (UI models).
record_video_and_change_parameter Uses the IDS peak genericAPI to show you how to set camera parameters, start/stop image acquisition and capture a video with IDS peak IPL.
simple_live_qtwidgets Simple example for usage with Qt widgets GUI to display images.
start_stop_acquisition_software_trigger Shows how to start/stop image acquisition and how to capture images using a software trigger.

Third party samples

HALCON
Sample Content
simple_live_halcon Opening a camera and grabbing images.
triggered_live_halcon Configuring and using triggered image acquisition.
MIL
Sample Content
simple_live_mil Opening a camera and grabbing images.
triggered_live_mil Configuring and using triggered image acquisition.

GigE Vision cameras

Setting the IP address for GigE Vision cameras

A valid IP address must be assigned to GigE Vision cameras before they can be used.

  1. Open the IDS peak Cockpit.
  2. Open the camera manager.
  3. Select the camera in the camera manager.
  4. Open the "IP configuration" dialog in the camera manager.
  5. Assign a valid IP address to the camera.
    1. Select "New network configuration".
    2. Either enter an IP address and subnet mask for the camera or click on the "Find IP address and subnet mask" button.
    3. Confirm your settings with "Apply new settings".
  6. The new settings are applied and the camera is rebooted.

Enabling Jumbo Frames for GigE Vision cameras

For optimal performance it is recommended to use Ethernet package sizes which are larger than 1500 bytes. Recommended package size is ~9000 bytes or higher depending on the support of the used network controller. Your whole network infrastructure e.g. switches should support this Ethernet package size if not the GenTL will use the largest possible size.

Maximizing the "Receive Buffer" size

For operating GigE cameras, it is recommended to set the receive buffer size (so-called receive descriptors) of the network card to its maximum value. Note that not all network cards provide this option.

Disabling interrupt throttling rate (ITR) for 10GigE cameras

Modern network interface drivers try to avoid high CPU load by reducing the number of interrupts they generate. Although this is generally good, the default settings of this option are not optimal for fast 10GigE cameras. In this case, the "interrupt throttling rate" (depending on the card manufacturer also: interrupt moderation rate) should be disabled.

NOTICE! If you disable the interrupt throttling rate, the CPU load increases.

USB3 Vision camera

USB3 Vision cameras under USB 2.0

USB3 Vision cameras are limited usable under USB 2.0. Depending on the camera model, not all camera functions are available in USB 2.0 mode. USB3 cameras are optimized for USB 3.0 ports and are not tested by IDS Imaging Development Systems GmbH under USB 2.0.

Note that due to the high performance of modern sensors, some USB3 models are not supported in USB 2.0 mode anymore, as the USB 2.0 interface does not provide enough power.

Opening a camera

To open a camera in IDS peak Cockpit, you can select it via the camera manager or open the first available camera directly with the icon in the main toolbar.

Integrating cameras into own applications

How to integrate IDS industrial cameras with IDS peak in your own application is described in the further documentation of IDS peak which can be found in:

List of contained files / dependencies   

The software includes some parts that are copyright-protected from access by third parties, and which were published under Open Source licensing conditions, see either list on https://en.ids-imaging.com/open-source.html or "C:\Program Files\IDS\ids_peak\licenses". The Open Source parts may be used under the terms and conditions of their corresponding Open Source licenses. You will find the Open Source licenses in the "thirdparty_licenses.txt" file.

Uninstallation   

Use the control panel function of Windows to uninstall IDS peak. After uninstalling, the PC must be restarted. It is recommended to remove existing IDS peak installations before installing a new version.

Known issues   

Issue Details Solution
During runtime, changes to the network configuration are not detected by the GenTL. The GenTL cannot handle changes to the system's network configuration during runtime. If you want to change the network configuration, first close the application and restart the application after you changed the network configuration.
This behavior also affects the IDS peak cockpit.
It is not possible to operate a uEye XLE USB 3 camera on a USB 2.0 port. USB 3 uEye cameras are optimized for use on USB 3.0 ports. In some cases, certain models can be used with restrictions on USB 2.0 ports. uEye XLE USB 3 camera models does not support USB 2.0 operation.
LabVIEW and template functions LabVIEW does not support template functions as they are used for FindNode() for example (IDS peak genericSDK). As a workaround, all possible templates of FindNode, FindInvalidatedNode, FindInvalidatingNode, FindSelectedNode, and FindSelectingNode are provided as separate functions in addition to the regular generic function.
Performance issue with Windows update KB5043145 and WindowsForms with C# A performance issue was noticed when you use  WindowsForms with C# after the Windows update KB5043145 was installed. We recommend to install the latest Windows update KB5046633 from November 2024 to resolve this performance issue: Windows Update KB5046633.

Contact   

IDS Imaging Development Systems GmbH
Dimbacher Str. 10
74182 Obersulm/Germany

T: +49 7134 96196-0
E: info@ids-imaging.com
W: https://en.ids-imaging.com

© IDS Imaging Development Systems GmbH, December 2024