Programming Interfaces

Pleora eBUS SDK

Bottlenose cameras are GigE Vision 2.1 compliant. To interact with the camera from a GigE-enabled framework or a programming language, you may need to install the eBUS SDK from Pleora®. Follow these steps to download and install the SDK.

Microsoft Windows

  1. Download the SDK from our GitHub Release Page. For Windows®, get the eBUS_SDK_Windows-64-bit.exe file.
  2. Double-click on the file to install the SDK.
  3. Ensure Install GigE Vision Driver is checked as part of the installation process.

Ubuntu Linux and Nividia Jetpack

  1. Download the SDK from our Github SDK Sample Release Page. For Ubuntu Linux please choose eBUS_SDK_Ubuntu-VV.VV-....deb where VV.VV stands for your target Ubuntu version; for example 22.04 or eBUS_SDK_Jetson_4.6_linux-aarch64-arm-....deb for Nvidia Jetpack
  2. Install this package with the dpkg utility in a terminal as follows.
    This step has to be repeated every time you update your Linux kernel.
sudo dpkg -i eBUS_SDK_Ubuntu-VV.VV-....deb
  1. Should the eBus Driver installation fail, please ensure that Ubuntu was installed with secure/UEFI boot disabled and that the current kernel version is less than or including Linux Kernel 5.19. You can check for these in a terminal as follows.
# kernel version
uname -a
# Secure boot
mokutil --sb 
# Expected output
SecureBoot disabled
Platform is in Setup Mode

More information on how to revert a newer installed Ubuntu Desktop Kernel back to the LTS Enablement Stack can be found here. If reinstalling the Kernel or reinstalling without UEFI boot is an issue, Bottlenose will still function but likely with degraded performance.

eBUS Player™

Any vision framework or tool that supports the GigE Vision 2.1 protocol can be used to interact with a Bottlenose camera. For a short list of such frameworks. A comprehensive tool to interactively exercise all features of the camera via the GigE Vision 2.1 interface is eBus Player which is installed as part of the above-mentioned SDK.

Microsoft Windows

eBus Player can be started directly from the Windows Start Menu.

Ubuntu Linux

eBus Player can be started from any Terminal as follows.

/opt/pleora/ebus_sdk/Ubuntu-<Ubuntu version>/bin/eBUSPlayer

Supported Programming Languages

Bottlenose cameras can be interfaced from languages such as C/C++ and Python. Refer to our GitHub repository for demos and code samples.

Python Support

We support various versions of Python 3 for different operating systems.

Microsoft Windows

To enable Python support for Microsoft Windows 10 or 11 please download and install the wheel to your corresponding Python interpreter from the releases page of the SDK Samples repository. We support the following Python versions in Microsoft Windows.

Python VersionMatching Wheel
3.6.x (*)ebus_python-*-py36-none-win_amd64.whl
3.7.xebus_python-*-py37-none-win_amd64.whl
3.8.xebus_python-*-py38-none-win_amd64.whl
3.8.xebus_python-*-py39-none-win_amd64.whl
3.10.xebus_python-*-py310-none-win_amd64.whl

* Note some of our code samples utilize Pyside6, which requires at least Python 3.7.

All of the above wheels require that you install Pleora eBUS SDK first.

Ubuntu Linux and Nvidia Jetpack

For Linux distribution, Python support is enabled by a SWIG wrapper which is installed as part of the Pleora SDK. To configure the PYTHONPATH to locate the required packages, please run the following script in the same terminal that your Python code executes.

source /opt/pleora/ebus_sdk/Ubuntu-<Ubuntu version>/bin/set_puregev_env.sh

C++ Support

We support C++ for interfacing with the Bottlenose camera. Please note that this interface provides very low-level interfaces. We highly recommend first-time users to use Python. A comprehensive example on how to use C++ to interact with Bottlenose via C++ is found in the sources of the Bottlenose Stereo Viewer. We provide meson build files for Ubuntu 20.04, 22.04, and Microsoft Windows 10 and 11.

ROS2 Support

We provide a ROS2 driver for Bottlenose. The driver has been tested for the following platforms.

  1. Ubuntu Linux 20.04 using ROS2 Foxy
  2. Ubuntu Linux 22.04 using ROS2 Humble, and up to Linux Kernel 5.19