Skip to content

IDS

SUMMARY

The IDS class provides a Python interface for IDS industrial cameras, supporting single-image capture, continuous video streaming, and remote control over BabyROS. It wraps the IDS Peak SDK to handle device connection, buffer allocation, parameter management, and safe teardown.

Requirements: IDS Peak Cockpit 2.9.0.0 and IDS Peak 2.20.0.0-484 must be installed, and a supported IDS camera must be connected via USB3.

Tested devices:

  • IDS U3-36PxXCP-C with IDS 8.5mm 1:2.8 C 1.1" lens
  • IDS U3-35L0XC

Use Cases

Vision Based Pick and Place

Input 2

Eye-in-Hand calibrated IDS U3-35L0XC mounted on the robot arm.

Quality Assurance

Input 1

Statically mounted IDS U3-36PxXCP-C with IDS 8.5mm 1:2.8 C 1.1" lens.

Installation

  1. Install Medulla as described in the overview.
  2. Install the IDS SDK (Windows) from the official website:
    https://de.ids-imaging.com/download-peak.html
    Follow the installation wizard and restart your PC.
  3. Install the optional IDS dependencies from the medulla folder:
    bash
    pip install .[ids]

Getting Started

WARNING

Examples were tested on Windows 11 only.

After installing the IDS software, connect your IDS camera and open IDS Peak Cockpit to configure it:

  1. Open the camera manager and start the camera by selecting your camera in the left panel and clicking the camera button:
IDS Peak Cockpit open camera

Under U3V Producers you will see all cameras connected to your PC. The list shows the camera model (e.g. U3-36PxXCP-C) followed by its serial number (e.g. 4108909352).

  1. Adjust camera parameters as needed (e.g. analog gain, exposure):
IDS Peak Cockpit adjust settings

Cameras run in free-run mode by default — parameter changes are reflected immediately in the viewer.

  1. Close IDS Peak Cockpit before running any medulla script.

WARNING

Only one program can access the camera at a time. Close IDS Peak Cockpit before running medulla. Parameter changes persist as long as the camera remains connected and the PC is not restarted.

  1. Capture an image using medulla:
python
from medulla.cameras import ids

camera = ids.IDS(name="my_ids_camera", serial_number="4108909352")
camera.connect()
image = camera.capture_single_color_frame()
camera.disconnect()

Examples

ExampleDescription
Capture Single ImageCapture one color frame and visualize with Rerun
Stream Live VideoStream continuous frames to a Rerun viewer
Publish Live Video with BabyROSControl streaming remotely via BabyROS topics
Advanced BabyROS UsageCombine capture and streaming through a BabyROS client