Skip to main content

ifm3d Overview

Library and utilities for working with ifm pmd-based 3D ToF Perception devices. Compatible with the O3R, O3D and O3X platforms. This library is available in Python, C++, and has wrappers for ROS and ROS2.
C++ API Reference
Python API Reference
Comprehensive documentation is available on ifm3d.com.

Build (Ubuntu) Build (Windows)

3D cloud Distance RGB
3D cloud of a stack of boxes Distance image of a stack of boxes RGB image of a stack of boxes

Released Versions

⚠️ Note that the main branch is generally in a work in progress state and you probably want to use a tagged release version for production.

⚠️ Note that O3D and O3X support is currently experimental- Use at your own risk!.

For a full compatibility matrix between the ifm3d library, the O3R firmware and the Vision Assistant GUI, please refer to the compatibility matrix on ifm3d.com.

Supported languages

ifm3d is a C++ based library, with a Python wrapper mirroring the available features. We support the following versions of these two languages:

Name Versions
Python 3.9, 3.10, 3.11, 3.12, 3.13
C++ GCC 7.5+, MSVC 2019+

Supported operating systems

ifm3d currently support the following OS:

Name Versions Comment
Ubuntu 20.04, 22.04, 24.04
Windows Windows server 2019 ifm3d is known to work for other Windows distributions but is not explicitly tested.

Organization of the Software

The ifm3d software is organized into modules, they are:

Module name Description
device Provides an implementation of the XMLRPC protocol for configuring the camera and pmd imager settings.
framegrabber Provides an implementation of the PCIC protocol for streaming pixel data and triggered image acquisition.
swupdater Provides utilities for managing the SWUpdate subsystem of the camera.
pcicclient Direct access to PCIC to, for example, actuate digital IO.
tools Provides the ifm3d command line tool for manipulating and introspecting the hardware interactively. It is also suitable for usage within shell scripts to, for example, manage fleets of cameras.
pybind11 Provides Python bindings through pybind11 to the native C++ API. Supports all general camera functionality as well as a zero-copy interface to image data, exposed as NumPy arrays.
deserialize Provides definitions and functions for deserializing structs sent over PCIC.

Installation instructions

Please refer to the corresponding section on ifm3d.com.

Supported docker containers

Docker containers are available for the ifm3d library, both on GHCR and on the dockerhub. You can pull them with:

docker pull ghcr.io/ifm/ifm3d:stable

OR

docker pull ifmrobotics/ifm3d:stable

Note that we provide 2 tags, stable always points to the latest tagged version, and latest is built nightly with the latest changes on the main branch. The latest tag is typically a work in progress.
For more details on the available containers, see here.
For more details on docker and the O3R platform see here.

Examples

Examples for the ifm3d library can be found in the ifm3d-examples repository.

Report a bug and check the known issues

Please see the GitHub Issue Tracker, or contact support.robotics@ifm.com.

LICENSE

Please see the LICENSE file.

Metadata

Release files for ifm3dpy 1.6.16

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for ifm3dpy 1.6.16
File
ifm3dpy-1.6.16-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
ifm3dpy-1.6.16-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
ifm3dpy-1.6.16-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
ifm3dpy-1.6.16-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
ifm3dpy-1.6.16-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
ifm3dpy-1.6.16-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
ifm3dpy-1.6.16-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
ifm3dpy-1.6.16-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
ifm3dpy-1.6.16-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
ifm3dpy-1.6.16-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
ifm3dpy-1.6.16-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
ifm3dpy-1.6.16-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
ifm3dpy-1.6.16-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
ifm3dpy-1.6.16-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
ifm3dpy-1.6.16-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details

Total release size: 27.5 MB

Release files / ifm3dpy-1.6.16-cp313-cp313-win_amd64.whl

Download URL ifm3dpy-1.6.16-cp313-cp313-win_amd64.whl
Size 1.1 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
f85a40c3507f0688fe8af6fcb1bd8137cabecf58e7d09fe40cc5ce8fe5efd417
BLAKE2b-256 checksum
How to use checksums
0263dd2fff8ef133a08056f32ec5ad151f489ba21b6498981aa79c2ae188bb3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.1.dev3+g239ffd2f6 CPython/3.14.7

Release files / ifm3dpy-1.6.16-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL ifm3dpy-1.6.16-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 2.3 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
bbede0fc2ab853c75bdcede57e851872dbab99a6ceef5964a4c2bdfea67528c4
BLAKE2b-256 checksum
How to use checksums
b44bf09fe95b34ed480ef92d9823c7cb8ea7d9d175fb4af0046b50bf719cf479
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.1.dev3+g239ffd2f6 CPython/3.14.7

Release files / ifm3dpy-1.6.16-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL ifm3dpy-1.6.16-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 2.1 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
b7354614eed5c8c7fde404f1f34f2038ddb0b86bb75ebaf2f6a319b23628eb4b
BLAKE2b-256 checksum
How to use checksums
82df94107a6734009f430d86b3ca588e6944dc0d10f7eafb396a4c6edbfad291
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.1.dev3+g239ffd2f6 CPython/3.14.7

Release files / ifm3dpy-1.6.16-cp312-cp312-win_amd64.whl

Download URL ifm3dpy-1.6.16-cp312-cp312-win_amd64.whl
Size 1.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
e43733bf3cd45c341f9a842c33a0e0764ea2d6d64ead78deca0d5d277ebd9fa1
BLAKE2b-256 checksum
How to use checksums
3922abf24f378a77d3b21c1408b1ea1c3b65b3abb97fbba714582ca303490036
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.1.dev3+g239ffd2f6 CPython/3.14.7

Release files / ifm3dpy-1.6.16-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL ifm3dpy-1.6.16-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 2.3 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f43e13222aaf127e9a0c00e070bd4e542bd8339d4ebdd5fa5c21cab07a4294f6
BLAKE2b-256 checksum
How to use checksums
9e847df68a7503da9f7b241b87857954931678ed6fcd3b3d4e5773a212f0ee40
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.1.dev3+g239ffd2f6 CPython/3.14.7

Release files / ifm3dpy-1.6.16-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL ifm3dpy-1.6.16-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 2.1 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
80bed3b98a5a880eaca1008f2ed2a8ca31ce5615d32ff723323a06c4de1c0e9f
BLAKE2b-256 checksum
How to use checksums
f54f600914104a439a0979624acd7b964490b7f37f54dc7081f1781e5c4efb11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.1.dev3+g239ffd2f6 CPython/3.14.7

Release files / ifm3dpy-1.6.16-cp311-cp311-win_amd64.whl

Download URL ifm3dpy-1.6.16-cp311-cp311-win_amd64.whl
Size 1.1 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
88ced7153541c387cb5c50ccf5192ecb502ef4e7926b0cbf6e96f0d4c0390042
BLAKE2b-256 checksum
How to use checksums
c24cb388a4f578ee5273d64ea2f34e9e44be615b2267ddc2d184f049a16baec0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.1.dev3+g239ffd2f6 CPython/3.14.7

Release files / ifm3dpy-1.6.16-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL ifm3dpy-1.6.16-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 2.3 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
90f7f9ff1ce3f07e8198fecda99d674b64fe7861795937623986da817e71fddd
BLAKE2b-256 checksum
How to use checksums
48702b5efaea077ddfdb76f9837233a6a55745063e075ba7a487007abbd4a426
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.1.dev3+g239ffd2f6 CPython/3.14.7

Release files / ifm3dpy-1.6.16-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL ifm3dpy-1.6.16-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 2.1 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
e8108acc53d4d15d6fb6735646bd33cf0a68d49f65c36a04e8832df888381f08
BLAKE2b-256 checksum
How to use checksums
fb3b1ff600250752c3bf585fe473da2a23bfbeebb3aa4bba47b610a9c69ec8bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.1.dev3+g239ffd2f6 CPython/3.14.7

Release files / ifm3dpy-1.6.16-cp310-cp310-win_amd64.whl

Download URL ifm3dpy-1.6.16-cp310-cp310-win_amd64.whl
Size 1.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
e46f4a8d42f97d2ca55c801081b41ae3cbb7b58722f7f48200c1c53d9a9dd16f
BLAKE2b-256 checksum
How to use checksums
97c534e37bb0a256b9fdf4b4ebdd2734e0183000962f1008db08cf10e8e54424
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.1.dev3+g239ffd2f6 CPython/3.14.7

Release files / ifm3dpy-1.6.16-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL ifm3dpy-1.6.16-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 2.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9d01f4cb3be6ca7628a864e01ca09c9003a63ea4b749dd3a778e70d54831729c
BLAKE2b-256 checksum
How to use checksums
e9c756d12a8e3dedbc14104d8560035e2a68418e38a37a18269eedc89d226102
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.1.dev3+g239ffd2f6 CPython/3.14.7

Release files / ifm3dpy-1.6.16-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL ifm3dpy-1.6.16-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 2.1 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
8907a4c1cfcb278e19db1af6705e338efab0053b37324ffa34972422cffffe9d
BLAKE2b-256 checksum
How to use checksums
7520ff963e50e31d1548f7591a463876916244d5b4544bdc90484d671996da9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.1.dev3+g239ffd2f6 CPython/3.14.7

Release files / ifm3dpy-1.6.16-cp39-cp39-win_amd64.whl

Download URL ifm3dpy-1.6.16-cp39-cp39-win_amd64.whl
Size 1.1 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
848581d3fe2879c07188a30305622023aef2f4fef0f7e1fa877985ac985d9f4f
BLAKE2b-256 checksum
How to use checksums
9269e0632dcbbee4fbe2fa6312b5007cd42fd73663231af3b1a856dc4c0211a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.1.dev3+g239ffd2f6 CPython/3.14.7

Release files / ifm3dpy-1.6.16-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL ifm3dpy-1.6.16-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 2.3 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b7c3a21685e2cbf050934be5f8f59cd385d43c0a4eb7f2c1682e82a8c782b0e4
BLAKE2b-256 checksum
How to use checksums
94d86e172039ef117412582c5adfa6061879a018ba5a590b2d423bbe5328473f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.1.dev3+g239ffd2f6 CPython/3.14.7

Release files / ifm3dpy-1.6.16-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl

Download URL ifm3dpy-1.6.16-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Size 2.1 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
f0c0ddf1e327630fad7e99e374b8a4e4ac2857bea61f7bc6dbafd3c7fb57032c
BLAKE2b-256 checksum
How to use checksums
1c9fbd75b736c2ec236b861ae6063e3c10577291f61408b6be9d045569808d1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.1.dev3+g239ffd2f6 CPython/3.14.7

Release history Release notifications | RSS feed

This release

1.6.16 This release

15 release files

1.6.8

15 release files

1.5.3

15 release files

1.4.3

12 release files

1.2.6

12 release files

1.0.1

10 release files

1.0.0

10 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page