Skip to main content

LibMultiSense python package wrapped using pybind11

Project description

LibMultiSense

LibMultiSense is a C++ and Python library designed to simplify interaction with the MultiSense S family of stereo sensors developed by Carnegie Robotics. It provides a comprehensive, easy-to-use API for capturing and processing stereo sensor data an generating depth images, color images, and 3D point clouds.

Official product page: Carnegie Robotics MultiSense Products

Detailed documentation: LibMultiSense Documentation

LibMultiSense was recently refactored to have a new API. The following examples in the README all assume the user is using the new API. To build with the new API, the following CMake arguments should be set.

-DBUILD_LEGACY_API=0FF

The README for the Legacy API can be found here.

Table of Contents

Client Networking Prerequisite

The MultiSense comes preconfigured with a static 10.66.171.21 IP address with a /24 subnet. To connect to the MultiSense, a client machine must be updated with an IP address on the 10.66.171 subnet.

Please see the host network configuration for details on how to set a client machine's IP address and MTU.

Quickstart Guide

Below are minimal examples demonstrating basic usage of LibMultiSense to capture rectified images from the camera.

Before running the examples make sure LibMultiSense is installed, and your machines network is properly configured.

Python

import libmultisense as lms
import cv2

channel_config = lms.ChannelConfig()
channel_config.ip_address = "10.66.171.21"
with lms.Channel.create(channel_config) as channel:
    channel.start_streams([lms.DataSource.LEFT_RECTIFIED_RAW, lms.DataSource.RIGHT_RECTIFIED_RAW])

    while True:
        frame = channel.get_next_image_frame()
        if frame:
            for source, image in frame.images.items():
                cv2.imwrite(str(source) + ".png", image.as_array)

C++

#include <MultiSense/MultiSenseChannel.hh>
#include <MultiSense/MultiSenseUtilities.hh>

int main()
{
    const auto channel = lms::Channel::create(lms::Channel::ChannelConfig{"10.66.171.21"});
    channel->start_streams({lms::DataSource::LEFT_RECTIFIED_RAW, lms::DataSource::RIGHT_RECTIFIED_RAW});

    while(true)
    {
        if (const auto image_frame = channel->get_next_image_frame(); image_frame)
        {
            for (const auto &[source, image]: image_frame->images)
            {
                const auto path = std::to_string(image_frame->frame_id) +  "_" +
                                  std::to_string(static_cast<int>(source)) + ".png";
                lms::write_image(image, path);
            }
        }
    }
    return 0;
}

Optional Dependencies

OpenCV

LibMultiSense optionally has OpenCV utility functions to make the LibMultiSense client API easier to integrate with existing systems. To build the OpenCV helpers the following CMake argument should be set

-DBUILD_OPENCV=ON

This will require a system installation of OpenCV, or an installation which can be pointed to with CMake's CMAKE_PREFIX_PATH argument

nlohmann json

LibMultiSense optionally uses nlohmann_json for serialization of base LibMultiSense types. To build the nlohmann_json serialization helpers the following CMake argument should be set

-DBUILD_JSON_SERIALIZATION=ON

This will require a system installation of nlohmann_json, or an installation which can be pointed to with CMake's CMAKE_PREFIX_PATH argument

pybind11

LibMultiSense optionally uses pybind11 to generate python bindings for the C++ API. To build the pybind11 python bindings the following CMake argument should be set

-DBUILD_PYTHON_BINDINGS=ON

This will require a system installation of pybind11, or an installation which can be pointed to with CMake's CMAKE_PREFIX_PATH argument

googletest

LibMultiSense optionally uses googletest for unit testing the C++ API. To build the googletest unit tests the following CMake argument should be set

-DBUILD_TESTS=ON

This will require a system installation of googletest, or an installation which can be pointed to with CMake's CMAKE_PREFIX_PATH argument


Installation

Linux

Python

Pre-Compiled Wheel

The latest LibMultiSense Release includes PIP wheels which can be installed on a x86 Linux system in lieu of installing from source. Wheels can be installed with pip using the following command:

pip install <path-to-wheel>

You must install the LibMultiSense wheel which matches your installed Python version. You can check your current Python version with python --version.

For example if python --version returned 3.12.3, you would select the released Linux wheel with cp312 in the name.

From Source

LibMultiSense uses pybind11 to generate Python bindings for the base LibMultiSense API. These bindings can be installed via pip into a Python virtual environment or a local Python project.

To install the LibMultiSense Python bindings

> sudo apt install build-essential pybind11-dev nlohmann-json3-dev

> git clone https://github.com/carnegierobotics/LibMultiSense.git
> cd LibMultiSense
> pip install .

C++

LibMultiSense uses CMake for its build system.

To build the standalone LibMultiSense library and demonstration applications.

# Note this only needs to be run once before building
> sudo apt install build-essential nlohmann-json3-dev

> git clone https://github.com/carnegierobotics/LibMultiSense.git
> cd LibMultiSense
> mkdir build
> cd build && cmake -DBUILD_LEGACY_API=OFF -DBUILD_JSON_SERIALIZATION=ON -DCMAKE_INSTALL_PREFIX=../install ..
> make install
> cd ../install

To build the standalone LibMultiSense library without the demonstration applications, set the cmake variable -DMULTISENSE_BUILD_UTILITIES=OFF


MacOS

Python

Pre-Compiled Wheel

The latest LibMultiSense Release includes PIP wheels which can be installed on a ARM64 Mac system in lieu of installing from source. Wheels can be installed with pip using the following command:

pip install <path-to-wheel>

You must install the LibMultiSense wheel which matches your installed Python version. You can check your current Python version with python --version.

For example if python --version returned 3.13.2, you would select the released MacOS wheel with cp313 in the name.

From Source

LibMultiSense uses pybind11 to generate Python bindings for the base LibMultiSense API. These bindings can be installed via pip into a Python virtual environment or a local Python project.

To install the LibMultiSense Python bindings

> brew install pybind11 nlohmann-json

> git clone https://github.com/carnegierobotics/LibMultiSense.git
> cd LibMultiSense
> pip install .

C++

LibMultiSense uses CMake for its build system.

To build the standalone LibMultiSense library and demonstration applications.

# Note this only needs to be run once before building
> brew install nlohmann-json

> git clone https://github.com/carnegierobotics/LibMultiSense.git
> cd LibMultiSense
> mkdir build
> cd build && cmake -DBUILD_LEGACY_API=OFF -DBUILD_JSON_SERIALIZATION=ON -DCMAKE_INSTALL_PREFIX=../install ..
> make install
> cd ../install

To build the standalone LibMultiSense library without the demonstration applications, set the cmake variable -DMULTISENSE_BUILD_UTILITIES=OFF


Windows

Python

The latest LibMultiSense Release includes PIP wheels which can be installed on a x86 Windows system in lieu of installing from source. Wheels can be installed with pip using the following command in PowerShell:

pip install <path-to-wheel>

You must install the LibMultiSense wheel which matches your installed Python version. You can check your current Python version in PowerShell with python --version. If Python is not installed on your system, you can use the Microsoft Store on Windows 11 to install the correct version of Python.

For example if python --version returned 3.9.13, you would select the released Windows wheel with cp39 in the name.

Pre-Compiled Wheel
From Source

LibMultiSense uses pybind11 to generate Python bindings for the base LibMultiSense API. These bindings can be installed via pip into a Python virtual environment or a local Python project. To ensure Windows has the proper build tools installed, please install Microsoft Visual Studio with the C++ and CMake extensions.

Note you will need to have a version of Python installed on your Windows system. This was tested with Python 3.9 installed via the Microsoft Store on Windows 11.

To install the LibMultiSense Python bindings open a powershell terminal and execute the following commands

> git clone https://github.com/carnegierobotics/LibMultiSense.git
> cd LibMultiSense
> git clone https://github.com/microsoft/vcpkg.git
> ./vcpkg/bootstrap-vcpkg.bat

> $Env:VCPKG_ROOT = ./vcpkg

> pip install .

C++

LibMultiSense uses CMake and vcpkg to build the LibMultiSense library. To ensure Windows has the proper build tools installed, please install Microsoft Visual Studio with the C++ and CMake extensions.

Open a powershell terminal and execute the following commands:

> git clone https://github.com/carnegierobotics/LibMultiSense.git
> cd LibMultiSense
> git clone https://github.com/microsoft/vcpkg.git
> ./vcpkg/bootstrap-vcpkg.bat

> $Env:VCPKG_ROOT = ./vcpkg

> cmake --build build --config Release --target install

CMake Project Integration

Integrating LibMultiSense into an existing CMake project is easy. There are two primary methods for integration: a local install on your system, or a submodule clone within your repository

Local Installation

LibMultiSense is installed on your system (i.e. in a location like /opt/multisense)

find_package(MultiSense)
target_link_libraries(<your-library-or-binary> MultiSense)

When running CMake, make sure to specify the location of the LibMultiSense install via -DCMAKE_PREFIX_PATH

Git Submodule

Clone the LibMultiSense repository into the existing project's source tree. In the main CMakeLists.txt file of the project, add the following lines:

 include_directories(LibMultiSense/source/LibMultiSense)
 add_subdirectory(LibMultiSense/source/LibMultiSense)

Documentation

Documentation of high-level LibMultiSense concepts can be found here

Doxygen documentation can be built for LibMultisense by running the Doxygen configuration file located in the docs directory

> cd LibMultiSense/docs
> doxygen Doxyfile

HTML and LaTex documentation will be generated in the docs directory.

Usage examples are included in the Doxygen documentation.


Support

To report an issue with this library or request a new feature, please use the GitHub issues system

For product support, please see the support section of our website Individual support requests can be created in our support portal


Camera Configuration

Camera settings like resolution, exposure, FPS, gain, gamma, and white balance can be configured via the LibMultiSense image::Config

Python

import libmultisense as lms
import cv2

def main(args):
    channel_config = lms.ChannelConfig()
    channel_config.ip_address = "10.66.171.21"

    with lms.Channel.create(channel_config) as channel:
        if not channel:
            print("Invalid channel")
            exit(1)

        config = channel.get_config()
        config.frames_per_second = 10.0
        config.width = 960
        config.height = 600
        config.disparities = lms.MaxDisparities.D256
        config.image_config.auto_exposure_enabled = True
        config.image_config.gamma = 2.2
        if channel.set_config(config) != lms.Status.OK:
            print("Cannot set configuration")
            exit(1)

C++

#include <MultiSense/MultiSenseChannel.hh>
#include <MultiSense/MultiSenseUtilities.hh>

namespace lms = multisense;

int main(int argc, char** argv)
{
    const auto channel = lms::Channel::create(lms::Channel::ChannelConfig{"10.66.171.21"});
    if (!channel)
    {
        std::cerr << "Failed to create channel" << std::endl;;
        return 1;
    }

    auto config = channel->get_config();
    config.frames_per_second = 10.0;
    config.width = 960;
    config.height = 600;
    config.disparities = lms::MultiSenseConfiguration::MaxDisparities::D256;
    config.image_config.auto_exposure_enabled = true;
    config.image_config.gamma = 2.2;
    if (const auto status = channel->set_config(config); status != lms::Status::OK)
    {
        std::cerr << "Cannot set config" << std::endl;
        return 1;
    }

    return 0;
}

Point Cloud Generation

Disparity images can be converted to 3D point cloud images using the client API.

The following modified version of the Quickstart example, converts disparity images to 3D point clouds colorized using the left rectified image.

Python

import libmultisense as lms
import cv2

def main(args):
    channel_config = lms.ChannelConfig()
    channel_config.ip_address = "10.66.171.21"

    with lms.Channel.create(channel_config) as channel:
        if not channel:
            print("Invalid channel")
            exit(1)

        if channel.start_streams([lms.DataSource.LEFT_RECTIFIED_RAW, lms.DataSource.LEFT_DISPARITY_RAW]) != lms.Status.OK:
            print("Unable to start streams")
            exit(1)

        while True:
            frame = channel.get_next_image_frame()
            if frame:
                point_cloud = lms.create_gray8_pointcloud(frame,
                                                         args.max_range,
                                                         lms.DataSource.LEFT_RECTIFIED_RAW,
                                                         lms.DataSource.LEFT_DISPARITY_RAW)

                print("Saving pointcloud for frame id: ", frame.frame_id)
                lms.write_pointcloud_ply(point_cloud, str(frame.frame_id) + ".ply")

C++

#include <MultiSense/MultiSenseChannel.hh>
#include <MultiSense/MultiSenseUtilities.hh>

namespace lms = multisense;

int main(int argc, char** argv)
{
    const auto channel = lms::Channel::create(lms::Channel::ChannelConfig{"10.66.171.21"});
    if (!channel)
    {
        std::cerr << "Failed to create channel" << std::endl;;
        return 1;
    }

    if (const auto status = channel->start_streams({lms::DataSource::LEFT_RECTIFIED_RAW,
                                                    lms::DataSource::LEFT_DISPARITY_RAW}); status != lms::Status::OK)
    {
        std::cerr << "Cannot start streams: " << lms::to_string(status) << std::endl;
        return 1;
    }

    while(!done)
    {
        if (const auto image_frame = channel->get_next_image_frame(); image_frame)
        {
            if (const auto point_cloud = lms::create_color_pointcloud<uint8_t>(image_frame.value(),
                                                                               max_range,
                                                                               lms::DataSource::LEFT_RECTIFIED_RAW,
                                                                               lms::DataSource::LEFT_DISPARITY_RAW); point_cloud)
            {
                std::cout << "Saving pointcloud for frame id: " << image_frame->frame_id << std::endl;
                lms::write_pointcloud_ply(point_cloud.value(), std::to_string(image_frame->frame_id) + ".ply");
            }
        }
    }

    return 0;
}

Depth Image Generation

Disparity images can be converted to depth images using the client API

The following modified version of the Quickstart example, converts disparity images to openni depth images and saves them to disk using OpenCV.

Python

import libmultisense as lms
import cv2

def main(args):
    channel_config = lms.ChannelConfig()
    channel_config.ip_address = "10.66.171.21"

    with lms.Channel.create(channel_config) as channel:
        if not channel:
            print("Invalid channel")
            exit(1)

        if channel.start_streams([lms.DataSource.LEFT_DISPARITY_RAW]) != lms.Status.OK:
            print("Unable to start streams")
            exit(1)

        while True:
            frame = channel.get_next_image_frame()
            if frame:
                # MONO16 depth images are quantized to 1 mm per 1 pixel value to match the OpenNI standard
                depth_image = lms.create_depth_image(frame, lms.PixelFormat.MONO16, lms.DataSource.LEFT_DISPARITY_RAW, 65535)
                if depth_image:
                    print("Saving depth image for frame id: ", frame.frame_id)
                    cv2.imwrite(str(frame.frame_id) + ".png", depth_image.as_array)

C++

#include <MultiSense/MultiSenseChannel.hh>
#include <MultiSense/MultiSenseUtilities.hh>

namespace lms = multisense;

int main(int argc, char** argv)
{
    const auto channel = lms::Channel::create(lms::Channel::ChannelConfig{"10.66.171.21"});
    if (!channel)
    {
        std::cerr << "Failed to create channel" << std::endl;;
        return 1;
    }

    if (const auto status = channel->start_streams({lms::DataSource::LEFT_DISPARITY_RAW}); status != lms::Status::OK)
    {
        std::cerr << "Cannot start streams: " << lms::to_string(status) << std::endl;
        return 1;
    }

    while(!done)
    {
        if (const auto image_frame = channel->get_next_image_frame(); image_frame)
        {
            //
            // MONO16 depth will be quantized to mm to match OpenNI's depth format
            //
            if (const auto depth_image = lms::create_depth_image(image_frame.value(),
                                                                 lms::Image::PixelFormat::MONO16,
                                                                 lms::DataSource::LEFT_DISPARITY_RAW,
                                                                 65535); depth_image)
            {
                std::cout << "Saving depth image for frame id: " << image_frame->frame_id << std::endl;
                cv::imwrite(std::to_string(image_frame->frame_id) + ".png", depth_image->cv_mat());
            }
        }
    }

    return 0;
}

Color Image Generation

Luma and Chroma Aux images can be converted to BGR color images using the client API

The following modified version of the Quickstart example, converts luma and chroma aux images to BGR images and saves them to disk using OpenCV.

Python

import libmultisense as lms
import cv2

def main(args):
    channel_config = lms.ChannelConfig()
    channel_config.ip_address = "10.66.171.21"

    with lms.Channel.create(channel_config) as channel:
        if not channel:
            print("Invalid channel")
            exit(1)

        if channel.start_streams([lms.DataSource.AUX_RAW]) != lms.Status.OK:
            print("Unable to start streams")
            exit(1)

        while True:
            frame = channel.get_next_image_frame()
            if frame:
                bgr = lms.create_bgr_image(frame, lms.DataSource.AUX_RAW)
                if bgr:
                    cv2.imwrite(str(frame.frame_id) + ".png", bgr.as_array)

C++

#include <MultiSense/MultiSenseChannel.hh>
#include <MultiSense/MultiSenseUtilities.hh>

namespace lms = multisense;

int main(int argc, char** argv)
{
    const auto channel = lms::Channel::create(lms::Channel::ChannelConfig{"10.66.171.21"});
    if (!channel)
    {
        std::cerr << "Failed to create channel" << std::endl;;
        return 1;
    }

    if (const auto status = channel->start_streams({lms::DataSource::LEFT_DISPARITY_RAW}); status != lms::Status::OK)
    {
        std::cerr << "Cannot start streams: " << lms::to_string(status) << std::endl;
        return 1;
    }

    while(!done)
    {
        if (const auto image_frame = channel->get_next_image_frame(); image_frame)
        {
            if (const auto bgr = create_bgr_image(frame, source); bgr)
            {
                cv::imwrite(std::to_string(image_frame->frame_id) + ".png", bgr->cv_mat());
            }
        }
    }

    return 0;
}

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.

libmultisense-7.1.0-cp313-cp313-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.13Windows x86-64

libmultisense-7.1.0-cp313-cp313-win32.whl (1.6 MB view details)

Uploaded CPython 3.13Windows x86

libmultisense-7.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

libmultisense-7.1.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (2.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

libmultisense-7.1.0-cp313-cp313-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

libmultisense-7.1.0-cp312-cp312-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.12Windows x86-64

libmultisense-7.1.0-cp312-cp312-win32.whl (1.6 MB view details)

Uploaded CPython 3.12Windows x86

libmultisense-7.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

libmultisense-7.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (2.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

libmultisense-7.1.0-cp312-cp312-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

libmultisense-7.1.0-cp311-cp311-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.11Windows x86-64

libmultisense-7.1.0-cp311-cp311-win32.whl (1.6 MB view details)

Uploaded CPython 3.11Windows x86

libmultisense-7.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

libmultisense-7.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (2.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

libmultisense-7.1.0-cp311-cp311-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

libmultisense-7.1.0-cp310-cp310-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.10Windows x86-64

libmultisense-7.1.0-cp310-cp310-win32.whl (1.6 MB view details)

Uploaded CPython 3.10Windows x86

libmultisense-7.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

libmultisense-7.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (2.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

libmultisense-7.1.0-cp310-cp310-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

libmultisense-7.1.0-cp39-cp39-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.9Windows x86-64

libmultisense-7.1.0-cp39-cp39-win32.whl (1.6 MB view details)

Uploaded CPython 3.9Windows x86

libmultisense-7.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

libmultisense-7.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (2.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

libmultisense-7.1.0-cp39-cp39-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

libmultisense-7.1.0-cp38-cp38-win_amd64.whl (1.9 MB view details)

Uploaded CPython 3.8Windows x86-64

libmultisense-7.1.0-cp38-cp38-win32.whl (1.6 MB view details)

Uploaded CPython 3.8Windows x86

libmultisense-7.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

libmultisense-7.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (2.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686

libmultisense-7.1.0-cp38-cp38-macosx_11_0_arm64.whl (1.6 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

Details for the file libmultisense-7.1.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 90250af8e65bab1660ca008c62e38d8502231645d3a0edd862ab530ad7b6262e
MD5 455ebcf11cb7887e60edc44058dc45a1
BLAKE2b-256 331a79981d4616874b1cc36f6f050f938a9b5eb2526c05e1eacd71258c68508d

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: libmultisense-7.1.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for libmultisense-7.1.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 c1e8bdc43b8e5a4f65136398690f2a6848926240828e2c5fc2592ab15a33501c
MD5 5b0fff03d57837bc79fa0a2215b5f124
BLAKE2b-256 10bb965756b804cc1f74afdc42a17172383fea277a5d8d3103a1da832ff259f2

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aa6f6fdcfe343799f6404e542dcdca4ff2d69c71a19f9c664f2ca684ba11ac80
MD5 5149af8797dc74266789771810b30637
BLAKE2b-256 d1b4286d0c8c6fd68280f03df15010d5013c82d2498d85490cf2b4202d77368f

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 016b7b711aeec67579f77e01ad6169872c8b9f66c01b9b1996eacc2710fabc23
MD5 465b0cb422b450f59b0378314c22111f
BLAKE2b-256 1d690a8f7c52df5a6284aaf391316af5221c4797057690a35a94648d9af9023c

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 379480d3497796d3796328e280f757c4087a423661e02ceaf449cfc4eca0e738
MD5 99516e93cfa557b0e64fea9fe760e11d
BLAKE2b-256 b022f571a0f9f73159be7b14c22621c20b5f1f98c7afed8a0e9ac2d8f72110b2

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 29603ab04c1d11ad74223428a624b7d73b4376d58aa6b3731db6383710f4fa31
MD5 59c800a13bcccf072eb148c0b2fd816c
BLAKE2b-256 2711d089b6f7819f9fa599b7437260d1864efb57bd0c4045129348da22e94fb8

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: libmultisense-7.1.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for libmultisense-7.1.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 d661d24ee1190c9471b72cf969dccea6ea956917b3fac6d384c8c636bc17662e
MD5 7b3b60760a20621cab2e7555c5be2e62
BLAKE2b-256 3a37465a81a14b863b5120af6fc5492e3abaa96fda4811edb9a4875708e320f5

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b048033e2cfa2bf5570df413147bf754eb83152c087bcd2c62a1be6df5814b31
MD5 8fabd81993cdc94ecfdb7d89c2250bae
BLAKE2b-256 002356b0bcb640c8c5315d94f7b0e86890105e2417f2c57bc39976e4cadb8515

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 58161b2755896124c1b661b9338154817e278d6fa05a47ee663acf28f4518faf
MD5 29c7d15792c5f1d5a04c539732e5c6cc
BLAKE2b-256 e765dba6dc424667dfdd0c7ef4862b991d125e05afde101df7a710e79a72afd2

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f1213ebf7a3bed71203e68f6f02f581b53fd46144f863c32d19d0560620fb1bd
MD5 f6f362883fb9644659d58fce55ec743e
BLAKE2b-256 f197f7f683395e8a398f673ec06cd01d975592b20b98f4ae66464705b30749f3

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 96b1fb911db6003f4f01d7eb3e836a8358f000580d38a7f94323afa0eeb50124
MD5 29de00754d53659d213304bc3ad3039c
BLAKE2b-256 b126c54fe450f716f4723f48a1766c2c1b8745b5e82ff6f3a81d75c9b7344c38

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: libmultisense-7.1.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for libmultisense-7.1.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 f0be5a702ff775275ffa676ce5753cc1d65cae18623b0a8df639e86abfc86921
MD5 7d82ab39bed856175121733d7893f4f1
BLAKE2b-256 bf0b6c523cd4918323f398b322a4995d75ddef75d61ad64cb60e4c97a95622f6

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 502f001d83e363b1076c2c38735287112b64ddf5d8d71a55787fb1d2c0c5c91d
MD5 e25242bbeb491ab71f205a0d0d240df7
BLAKE2b-256 469d3c933a574827a71bc8495f9f50bc9d10c4352a569180bba64e151bc42476

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3ba0d9b104c5a40b41046da8d247b29f66188a2deeacb38dc0acab3ab8d87e31
MD5 b326af43fc88383552b8b34338331c89
BLAKE2b-256 ba8e865cecf35e2a628971930222f3d0f0f8a6d58f92963519754b1959660761

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6d0de8d64e293b54d05e4b186dfcf284e2109a802af9d60ee30294b1eb7faa0b
MD5 c58a491a3e8cf697e9cb79620a8afe42
BLAKE2b-256 6b9c74e0cdd441dd5c2f5dc7f3abd2ff8a61f58399ef76e6ab270b708d3593b4

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b5ad8acd4f84e24ee5850b9b638a3e9248ec76ddfba7cdcba444b2a09a3bf732
MD5 88ad20d649ed6b2ed0778d4aaf769a65
BLAKE2b-256 737b07d7981d7c91af491d07ad12b772adb6c4ef80251ea169ecf8e5498f45a9

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: libmultisense-7.1.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for libmultisense-7.1.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 3efdc7059e78544b10e5e511319f0b8f44f53091e31ac981ce0aa872a222f6de
MD5 2e6a3a6e682822adcd2172a206f86598
BLAKE2b-256 3e6328e8956f6c20132fca2ca6e6a84afe6710b77b5251b3968b0e4e146a407f

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9abd025b93bf88c4ccfea8713f4d32d59b381851ed8738731ebc1f69150158e6
MD5 b959f30d4b95a0cde64ac87e59d86f9f
BLAKE2b-256 4b4f626f0a20b8d680ad92bed19d8bf85f3b703e2b6bfc4a6b5410e220049286

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 88e0b3a1b73b1b768b7f2191dacd51c1ca778ae3d1d78c17daa6f1a0ee8c36d8
MD5 35b4bdfada2b7695620f5303f35aeed8
BLAKE2b-256 d1d21c62e2b7489e87e81df0ba6a7ebb4b96fee06374791cb458c4e5cdb7e40f

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4a7d2b6a3ac14038c7efe1339d351c48781e9e0670976535b9fba842cf593778
MD5 07f2ebcbf9907f240e3401a69b160bde
BLAKE2b-256 33011706f5c0c8e9e038a3753f66bfd8dadc57107ebf74ee294ecf3b0c08d31c

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 c001fcc0a48897c6ea52a21b3f66564c665b30cdb5dcab80f9b6692a88bb2280
MD5 aab06d7807fa7a24cea78fd7393cf61b
BLAKE2b-256 78454d57c6aaac9bec68406cc33bd2bbb4b9a2ada484ec65339f1f0daf0ba3a3

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: libmultisense-7.1.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for libmultisense-7.1.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 19439b26f6c2f659a0492f061c044cb888bff91df503511c21efcee5dd07897c
MD5 dab7f9b284dbfd14c75158359a2941b5
BLAKE2b-256 87aef540f6a8d2c83635b17a20fd54bdc50a39e12be3486e57942a179a29835f

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 631e75c861888dc41cc43b24b0705ebae5ea2bbde38e8ef9ed974a9e1ef1c711
MD5 78bff0e748dfaa725b0784b66466053a
BLAKE2b-256 6c8098cc1b6dda551327db6919f606700e4fb6bcc3ed1e6b57dd73dae3f7fd16

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d410f59a210facedf4b2d119e88fe416979fd1bc68bce25089816bc1b829e57e
MD5 4b0db13a1268911841d5393175b33ddc
BLAKE2b-256 f07b87a538fbd9a2827d9eebbb7b6061e7068fc8dbb9d129ee0ded944a3ca28c

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 404bbf4039371e3862a29e8560a9814cb6cf056e07ba40caeaf49e6a12d109b0
MD5 537df611d9ef7c47a2e9c10e5c486634
BLAKE2b-256 43bde1e86359ebffdf6f42f4d45e820126f218674e3f7c6c97ff8c4d745dbb0e

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 356f1206abfeb316ded33b7cc2b9e99713f8f4ebeda98d71439a1d3d11771cfd
MD5 f83aea12a9463ffb35fdbb9c8e8d8a62
BLAKE2b-256 63c4849139729a6d74828fe4e5e54d3280be978d8095d6fe2acc83cf0bc3ef51

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: libmultisense-7.1.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for libmultisense-7.1.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 f6afe3fecffef698ffa23203f62a059655d0a0cead2fd0c3d34d1fe513ec8b3e
MD5 09add1a980c4566e97f6ec575055f51e
BLAKE2b-256 90c243b2a97e364ed194ad82e69cca6549b4bc061e529437acb185a002baa1a7

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 acee1905d75de62e3aa0bb6b6b34b8a57d6245599416b9471f3a0c121bd6c73d
MD5 1056e0e3a2f5d631686aad965ef56728
BLAKE2b-256 b197e5d28496353843b18b171957e0d4e5178b9117e4cd6e06dd3b12cf8ebca9

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ced0156c6023d6eeb72205a2cc72f32d06c15cb7a806a2e360f1c6ae8bb641e2
MD5 578757698dbcf4ad03df2b3987c5f26c
BLAKE2b-256 e167fe80868b3f06812f45b64eadf5470df9c717db99057748442d548d88c265

See more details on using hashes here.

File details

Details for the file libmultisense-7.1.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for libmultisense-7.1.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 49e939bbb95cf44a4f20274df8f6622142d31cbfd628d8f19ec8ab9bed047d49
MD5 59512e338639a891e61e65a411de220c
BLAKE2b-256 5e9d28cd4a8a7bcb179df165fd90dcfcfd31d95545e7cb90d373c9cc8fb2d555

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