Library and utilities for working with ifm pmd-based 3D Time-of-Flight cameras, supporting O3R, O3D, and O3X platforms.
ifm3d is a software library and utility suite for interfacing with ifm's pmd-based 3D Time-of-Flight cameras, such as the O3R, O3D, and O3X platforms. It provides APIs for camera configuration, data acquisition, and firmware management, solving the problem of integrating 3D vision hardware into robotics and automation systems.
Robotics engineers, computer vision developers, and industrial automation specialists working with ifm's 3D ToF cameras who need to programmatically control hardware and process 3D data.
Developers choose ifm3d for its native multi-language support (C++ and Python), zero-copy data access for performance, and comprehensive tooling that simplifies camera management and integration into complex systems like ROS-based robotics.
Library and Utilities for working with ifm pmd-based 3D ToF Cameras
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides full feature parity between C++ and Python APIs, with additional wrappers for ROS and ROS2, ensuring consistent development across languages for robotics integration.
Uses pybind11 for zero-copy exposure of image data as NumPy arrays in Python, minimizing overhead and enabling efficient real-time processing of 3D streams.
Includes a command-line tool for interactive camera management and scripted fleet operations, plus pre-built Docker containers for streamlined deployment and testing.
Organized into focused modules like device for configuration and framegrabber for streaming, allowing developers to integrate only necessary components for cleaner code.
O3D and O3X camera support is explicitly marked as experimental in the README, making it unreliable for production environments that depend on these devices.
Officially supports only specific Ubuntu LTS versions and Windows Server 2019, with other distributions untested, which can hinder deployment on diverse systems.
Installation instructions and comprehensive documentation are hosted externally on ifm3d.com, not in the repository, potentially slowing down setup and access to up-to-date info.
The main branch is described as a work in progress, requiring users to rely on tagged releases for stability, which may delay access to latest features and fixes.