Skip to main content

Library for working with ifm pmd-based 3D ToF Cameras

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ifm3dpy-1.6.12-cp313-cp313-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.13Windows x86-64

ifm3dpy-1.6.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

ifm3dpy-1.6.12-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

ifm3dpy-1.6.12-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12Windows x86-64

ifm3dpy-1.6.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

ifm3dpy-1.6.12-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

ifm3dpy-1.6.12-cp311-cp311-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11Windows x86-64

ifm3dpy-1.6.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

ifm3dpy-1.6.12-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

ifm3dpy-1.6.12-cp310-cp310-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10Windows x86-64

ifm3dpy-1.6.12-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

ifm3dpy-1.6.12-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

ifm3dpy-1.6.12-cp39-cp39-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.9Windows x86-64

ifm3dpy-1.6.12-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

ifm3dpy-1.6.12-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

File details

Details for the file ifm3dpy-1.6.12-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ifm3dpy-1.6.12-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.1.dev3+g239ffd2 CPython/3.13.5

File hashes

Hashes for ifm3dpy-1.6.12-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c5fdfcbea6f08e8e635fbfe8cf4ca904494436d0e7cd71d2a41459bee5673cb7
MD5 c8b98b44a8ee2ec6939da75031068f00
BLAKE2b-256 80c4fd026d8c5302d2056656951e20fa3ff76edfe62a3e7d00dcbe16d444cbce

See more details on using hashes here.

File details

Details for the file ifm3dpy-1.6.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ifm3dpy-1.6.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 08f3f68af400496e580c62f826d7c3ec8b4bc6a08b820fae8d0ef588a3e4619f
MD5 db9b0d7a5cc6d87ceec277aa8fa077cc
BLAKE2b-256 5846df4c33f85cdfbcb7168585f5eb4a3abff5f6047d4c5d46686623cc3f2f98

See more details on using hashes here.

File details

Details for the file ifm3dpy-1.6.12-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for ifm3dpy-1.6.12-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 76597a3b4a3db2982898449f3c2974d5a9dc93c81f686e97fcae7d9e6d85cbde
MD5 e2af6c489d3a906ed11caaa88f758faa
BLAKE2b-256 a2216d6eedd7c5f3c3e6d9092eacfaa92b8116b217d9cc0e5b5407c9426d2ee6

See more details on using hashes here.

File details

Details for the file ifm3dpy-1.6.12-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ifm3dpy-1.6.12-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.1.dev3+g239ffd2 CPython/3.13.5

File hashes

Hashes for ifm3dpy-1.6.12-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f8881abf98077222c30b248f6cb060f7c7b0e639d1b3f9647a4e6d51721f6669
MD5 21b980c46fa4e31276af6c2f6c9c5ac9
BLAKE2b-256 91bcfe4bcf23c6bb90f45dd6ff8bcb6308994d5875545a8f0bdafee8becdc99b

See more details on using hashes here.

File details

Details for the file ifm3dpy-1.6.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ifm3dpy-1.6.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 62ffd54ce1d41657b321b19b9eece9afcd35630c28be6342871154131a80370e
MD5 ecce08a1f400219276ea15e91cec8ec0
BLAKE2b-256 8bc95fba4a8684f9e2ba1ccf1366c267d7e0c30d405a2ad10294e14cdc60f229

See more details on using hashes here.

File details

Details for the file ifm3dpy-1.6.12-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for ifm3dpy-1.6.12-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 2578aae596082bc93b8752b893f3e5bbb1560c85b68868f7c2b91fec6dfbe819
MD5 c5b1dd703ebf7375dd2a445aa63d0ed7
BLAKE2b-256 fe4b3b164cd24a4446b8e5a67aac6e8451675d60fada096a72032637a12eac3a

See more details on using hashes here.

File details

Details for the file ifm3dpy-1.6.12-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ifm3dpy-1.6.12-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.1.dev3+g239ffd2 CPython/3.13.5

File hashes

Hashes for ifm3dpy-1.6.12-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 0a9aa14a1da5fdaed729112db6ee799205f0d5f40455b03a37c11bda518bab7b
MD5 e4de3c431a904fd71bcfddf9585903eb
BLAKE2b-256 d49386f00dea7fd60724c933576d40315607a4a4ce3ddbd90986fd144c77dd4e

See more details on using hashes here.

File details

Details for the file ifm3dpy-1.6.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ifm3dpy-1.6.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8460f8a8aaad95fb5118453ead1bf9dbc710e226609ac1d427e832d5be83138e
MD5 367f86b1bc8848b6101b40d5ec0602b3
BLAKE2b-256 e8cbf8a0b6a97ddff6f34fcd59fdbe5107ef26eeacce96b3d1632d11769688c8

See more details on using hashes here.

File details

Details for the file ifm3dpy-1.6.12-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for ifm3dpy-1.6.12-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 951669c0859446231fad638c9f325e88bd4a3fc56c86a8bd8309779f6902a500
MD5 5f1a54fc76b598e1b3e2eea9258bbd9a
BLAKE2b-256 1e9e71f83311dbcbffebe5fcdb79280bda4911159f566e7dd90ee5bfc84a446e

See more details on using hashes here.

File details

Details for the file ifm3dpy-1.6.12-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ifm3dpy-1.6.12-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.1.dev3+g239ffd2 CPython/3.13.5

File hashes

Hashes for ifm3dpy-1.6.12-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5fe5bc3dafdaad4ada760aa8ffd9f813bddb67151e45863ebb833face0eb44c5
MD5 41b4e77de3aee7d3d7909f3814c8f853
BLAKE2b-256 1af3633c1e87a9edd950b2544a97fa25da6bd5840f7961afbf21417f4d0f03e1

See more details on using hashes here.

File details

Details for the file ifm3dpy-1.6.12-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ifm3dpy-1.6.12-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 e95878d5734fccd0a039823f411525a0f79aa35cc0be13fa365d350aa12cb095
MD5 462c28177b89a985013cb411bce0d941
BLAKE2b-256 aee2b1a1f49190a8a99df96d3afa6d26ae3cbc3c35fc970ea2d3adcedd878010

See more details on using hashes here.

File details

Details for the file ifm3dpy-1.6.12-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for ifm3dpy-1.6.12-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 80e2a563e38bf74165236e0c1bb92eb8db2b92b877e81823fe37656b18e16d96
MD5 8d58daa10255683af47aaf926a238a61
BLAKE2b-256 2112ebf1c026b6298d12358b038cbc262c538a7a7f7b7d68258f16d45e86b21b

See more details on using hashes here.

File details

Details for the file ifm3dpy-1.6.12-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: ifm3dpy-1.6.12-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.1.dev3+g239ffd2 CPython/3.13.5

File hashes

Hashes for ifm3dpy-1.6.12-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7fc0d33cfa81009795996db01a6458a7eada2075605ee906d4ff7a60bef86a51
MD5 96202e34ec4c9848114b9c0280e207ac
BLAKE2b-256 cf815c3d9525cf437c1a63ced958d4750603db0058a9bd8a56b9ff4f060d376d

See more details on using hashes here.

File details

Details for the file ifm3dpy-1.6.12-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ifm3dpy-1.6.12-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 8131c07e21e26e0bfaddee56af0fae45e77736ace1ada65d44bcc5c6f5cd9dbb
MD5 626ee4f55cded3bf2001fc36eb62de1e
BLAKE2b-256 c8d017cdf42679a5eb33e32acd638a5468f55119d7f1f800f47e833611108767

See more details on using hashes here.

File details

Details for the file ifm3dpy-1.6.12-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for ifm3dpy-1.6.12-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 69ea98582cec4b5947932cb46a38df60a50270143b6539ae3d676180b1b90646
MD5 c63213fc875a1500d3694ef0cbdbad8a
BLAKE2b-256 75b47873363ddc4e3ddda3e459f4063c2530adcf9aaf2eb2783af981a58c11d9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page