Skip to content

muthhus/aditof_sdk

 
 

Repository files navigation

Analog Devices 3D ToF software suite

Overview

The ADI ToF SDK is a cross platform library for the Analog Devices depth cameras based on the ADDI9036 TOF Signal Processor. It provides support for data processing on the embedded processor platform as well as for USB, Ethernet or Wi-Fi to connect to a host computer. This flexibility enables evaluation across a wide range of use cases and environments.

The SDK provides an API to control the ToF camera and stream data. Windows and Linux support are built into the SDK as well as sample code and wrappers for various languages including Python, C/C++ and Matlab.

License : License

Supported host platforms

For more details on building the SDK on a host platform please check the User Guide specified below for either Windows OS or Linux OS.

Operating System Documentation GitHub master status Downloads
Windows User Guide
Build Instructions
Build status aditof-demo installer
Linux User Guide
Build Instructions
Build Status sdk release

Supported embedded platforms

Designed using a modular approach, the 3D ToF platforms enable connectivity to the to a variety of embedded processing platforms. For more details on running the SDK on your processing platform of choice please check the corresponding User Guide below.

AD-3DSMARTCAM1-PRZ

Platform details : Hardware

Documentation GitHub master status Downloads
User Guide
Build Instructions
Build Status sdk release

AD-FXTOF1-EBZ

Platform details : Hardware

Platform Documentation GitHub master status Downloads
Raspberry Pi 3,4 User Guide
Build Instructions
Build Status SD card image
Sha256sum Checksum
Nvidia Jetson Nano User Guide
Build Instructions
Build Status SD card image
Sha256sum Checksum
Nvidia Jetson Xavier NX User Guide
Build Instructions
Build Status SD card image
Sha256sum Checksum

AD-96TOF1-EBZ

Platform details : Hardware

Platform Documentation GitHub master status Downloads
DragonBoard 410c User Guide
Build Instructions
Build Status SD card image
Sha256sum Checksum
Raspberry Pi 3,4 User Guide
Build Instructions
Build Status SD card image
Sha256sum Checksum
Nvidia Jetson Nano User Guide
Build Instructions
Build Status SD card image
Sha256sum Checksum
Nvidia Jetson Xavier NX User Guide
Build Instructions
Build Status SD card image
Sha256sum Checksum
Thor96 Arrow Electronics Github - -

How to write the SD card image onto the SD card?

SDK documentation

From an architectural point of view, the SDK consists of two layers. One layer is the high level API which allows to easily create a camera object, configure it and request frames. The other layer is the low level API which exposes an interface through which advanced configuration operations can be executed on the camera hardware.

For more details about the SDK check the links below:

Software stack documentation

Camera details documentation

API Doxygen documentation

Building and installing the SDK

SDK examples

Example Language Description
aditof-demo C++ An application that displays the infrared and depth images.
first-frame C++
Python
An example code that shows the steps required to get to the point where camera frames can be captured.
first-frame-network C++ An application that shows how to use the aditof sdk to talk to a remote ToF camera over the network.
low_level_example Python A simple example of how to get access to the low-level API of the camera.
dnn Python with OpenCV
C++ with OpenCV
A simple object detection example.
imshow C++ with OpenCV A basic example that displays data provided by the Aditof SDK.
Image Acquisition Toolbox MATLAB Examples of how to use the AD-96TOF1-EBZ camera in MATLAB over USB and Network.
Hand Gesture Detection MATLAB Detecting hand signs to play Rock, Paper and Scissors.
showPointCloud Python with Open3D
C++ with Open3D
A basic example that displays a pointcloud built using the Open3D library and the data provided by the Aditof SDK.
showPointCloud
camera node
C++ with ROS A simple example of how to use AD-96TOF1-EBZ with the ROS distribution.

Directory Structure

Directory Description
apps Applications specific to various targets and hosts
bindings SDK bindings to other languages
ci Useful scripts for continuous integration
doc Documentation
examples Example code for the supported programming languages
misc Calibration and kernel files
scripts Useful development scripts
sdk SDK source code
tools Camera calibration tools
utils Various utils for the embedded platforms

Contributing to the SDK

Formating

The SDK is formated using clang-format 6.0.

Before creating a PR please run ./scrips/format.sh from the root of the project.

In order to prevent a file from being formated add it to .clangformatignore

Packages

No packages published

Languages

  • C++ 71.3%
  • C 11.2%
  • Python 9.6%
  • Shell 2.9%
  • CMake 2.4%
  • JavaScript 1.5%
  • Other 1.1%