# IDS peak 2.2 for Windows

## Contents

- System requirements
- IDS peak components
- Installation
- First start
- List of contained files / dependencies
- Uninstallation
- Known issues
- Contact

## System requirements ⇑

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

- Disk space: approx. 450 MB (full installation)
- Operating system: Windows 10 (32/64-bit) / Windows 11 (64-bit)
  IDS peak has been tested with the following versions:
  - Edition: Windows 11 Pro
    Version 21H2
  - Edition: Windows 10 Pro
    Version: 21H2, 21H1, 20H2, 2004

Optional

- CMake (minimum version 3.8) to build the samples yourself (if required)
- C++ 14 compiler (for samples, IDS peak comfortSDK, and IDS peak genericSDK)
- .NET Framework 4.6 or later (for C# samples)
- Python 3.5/3.6/3.7/3.8/3.9/3.10 (for samples and IDS peak genericSDK binding)

## IDS peak components ⇑

### IDS peak applications

- IDS peak Cockpit (recommended)
  The IDS peak Cockpit is a graphical user interface program for easy camera evaluation. The IDS peak Cockpit allows you to easily manage your cameras with the integrated camera manager, save your workspace settings, save images automatically and much more.
- Tools
  - IDS IP Config - Command line tool for setting camera IP and network settings for GigE Vision cameras
  - IDS Device Update - Command line tool for updating the camera firmware for GigE and USB3 Vision cameras
  - IDS Device Command - Command line tool for manually controlling the camera settings and commands
  - IDS Device Password GUI/IDS Device Password - GUI/command line tool for editing the password of a password-protected camera (certain models only)
- IDS Vision Cockpit
  The IDS Vision Cockpit is the predecessor of the IDS peak Cockpit. It is still included in this release of IDS peak, but will be dropped in future versions. However, it has been discontinued and is no longer recommended for new applications.

### USB3 Vision Transport Layer

- GenTL Producer for IDS USB3 Vision cameras (necessary for image processing programs based on the GenICam interface).

### GigE Vision Transport Layer

- Socket (GEV)
  Installs the GenTL Producer (necessary for image processing programs based on the GenICam interface). This producer can be installed as an alternative to "Kernel" if it is not possible to install a kernel driver in the system.
- Kernel (GEVK)
  Installs the GenTL Producer (necessary for image processing programs based on the GenICam interface) and a kernel driver to improve Ethernet performance (recommended).

### uEye Transport Layer

- The uEye Transport Layer allows you to use uEye cameras (UI models) with IDS peak.
  You can install the uEye Transport Layer via the custom installation of IDS peak. Note that you must also install IDS Software Suite 4.94 or higher to operate uEye cameras (UI models) with IDS peak.

### IDS peak comfortSDK

- Library
  Installs the IDS peak comfortSDK. Here, you can use numerous simple functions without going deep into the GenICam standard. It is possible to program in C.
- Samples
  Install source code samples for IDS peak comfortSDK.

### IDS peak genericSDK

- Libraries
  Installs the IDS peak genericSDK (based on GenICam) for programming and a library for basic image processing (IDS peak IPL). It is possible to program in C++, .NET (incl. C#), C, or Python.
- Samples
  Installs source code samples for IDS peak genericSDK.

### Thrid Party Samples

- Installs source code samples for HALCON and MIL (Matrox Imaging Library)

## Installation ⇑

NOTICE! If a previous version of IDS peak (or IDS Vision Suite) has been installed, IDS peak (or IDS Vision Suite) must be uninstalled before installing the current version.

Administrator privileges are required to install the software.

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 setup.

### Installation of Python

Note: It is neccessary to reinstall the Python bindings after re-installing 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:

- 3.5 (32/64-bit)
- 3.6 (32/64-bit)
- 3.7 (32/64-bit)
- 3.8 (32/64-bit)
- 3.9 (32/64-bit)
- 3.10 (32/64-bit)

For installing the IDS peak API Python binding, proceed as following:

1. After installation of IDS peak got to the directory:
   `C:\Program Files\IDS\ids_peak\generic_sdk\api\binding\python\wheel\x86_[32|64]`
2. Choose "File > Open Windows PowerShell" in Windows Explorer.
3. Enter in the command line:
   `pip install ids_peak-<version>-cp<version>-cp<version>[m]-[win32|win_amd64].whl`

The Python binding for IDS peak API is installed.

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>`

Execute the same steps for the IDS peak IPL in the directory:
`C:\Program Files\IDS\ids_peak\generic_sdk\ipl\binding\python\wheel\x86_[32|64]`

## 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 icon in front of an 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:

- Windows (32/64-bit): Qt 5.15.1

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

#### Note on C# versions

- C# 6.0 or later
- .NET Framework 4.6 or later

#### Samples for IDS peak comfortSDK

Sample comfortC | Content
configure_camera_gfa | Demonstrates the 'generic feature access' which allows direct access to the camera's NodeMap.
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.
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.
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

Sample genericC++ | Content
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.
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 user set "Default" is loaded and activated.
open_camera_select_cti | Using a specific CTI to create and open a camera object.
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) 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" UserSet.
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.

Sample genericC# | Content
open_camera | Simple creation and opening of a camera object.
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.

Sample genericPython | Content
open_camera | Simple creation and opening of a camera object.
simple_live_qtwidgets | Simple example for usage with Qt widgets GUI to display images.

#### Third party samples for HALCON

Sample | Content
simple_live_halcon | Opening a camera and grabbing images.
triggered_live_halcon | Configuring and using triggered image acquisition.

#### Third party sample for MIL

Sample | Content
simple_live_mil | Opening a camera and grabbing images.
triggered_live_mil | Configuring and using triggered image acquisition.

### 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.
   - Select "New network configuration".
   - Either enter an IP address and subnet mask for the camera or click on the "Find IP address and subnet mask" button.
   - 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 recommend 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.

### 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:

- IDS peak comfortSDK: "C:\Program Files\IDS\ids_peak\comfort_sdk\api\doc"
- IDS peak genericSDK: "C:\Program Files\IDS\ids_peak\generic_sdk\api\doc"
- IDS peak IPL: "C:\Program Files\IDS\ids_peak\generic_sdk\ipl\doc"

## 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
The reconnect function will not work if the IP address of a GigE camera is changed. | The reconnect feature (and the GenTL) cannot handle changes to the IP address of a GigE camera while the camera is in use. | Close the camera application before you change the camera's IP address and then restart the application.
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.
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.
The reconnect feature cannot be deactivated in the IDS Vision Cockpit. | The reconnect feature is supported by GigE cameras. The reconnect feature cannot be deactivated in the IDS Vision Cockpit because the node is set to read-only. | If the reconnect feature should be deactivated, the IDS Vision Cockpit must be restarted.
If multiple cameras are open in tiled view in IDS Vision Cockpit, no scroll bar is displayed at the bottom. | In IDS Vision Cockpit you can switch between different views. If you have opened multiple cameras the bottom scroll bar is not visible at all times. | This problem will not be solved. Use the IDS peak Cockpit instead.

## Contact ⇑

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

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

© IDS Imaging Development Systems GmbH, October 2022