Skip to main content

Defining the Future of 3D Machine Vision

Project description

Zivid Python

Zivid Python is the official Python package for Zivid 3D cameras. Read more about Zivid at zivid.com.

Build Status PyPI Package Zivid Image


Contents: Installation | Quick Start | Examples | Versioning | License | Support | Test Matrix


Installation

Dependencies

Ubuntu users must install Python headers (apt install python3-dev) in addition to the regular python3 package.

Windows users also needs to make sure that the Zivid SDK installation folder is in system PATH before using the package, not only the terminal PATH variable. The default install location that should be added to system PATH is C:\Program Files\Zivid\bin.

Installing official version from PyPI using PIP

After having installed the latest Zivid SDK, the easiest way to install Zivid Python is to use PIP to fetch the latest official version from PyPI:

pip install zivid

Note:

If you don't use the latest Zivid SDK version you need to manually specify the version. See Versioning.

Installation may take some time since the setup.py script will download additional dependencies and compile C++ source code in the background.

On some systems Python 3 pip is called pip3. In this guide we assume it is called pip. When using PIP version 19 or higher build dependencies are handled automatically.

Old PIP

If you are using a version of PIP older than version 19 please manually install the dependencies listed in pyproject.toml before installing zivid.

pip install <packages listed in pyproject.toml>
pip install zivid

Installing from source

git clone <zivid-python clone URL>
cd zivid-python
pip install .

The above pip install . command may give permission issues on some Windows machines. If so, try the following instead:

python continuous-integration/windows/create_binary_distribution.py
pip install ./dist/*.whl

You may want to build Zivid Python against a different (but compatible) version of Zivid SDK. An example would be if Zivid SDK 2.1 was released but the official Zivid Python still formally only supports SDK 2.0. Since all the features of the 2.0 API exist in the 2.1 API, Zivid Python can still be built with the new SDK (but without wrapping the latest features). In order to achieve this, edit setup.py to target the new SDK version before doing pip install .. Note that this option is considered experimental/unofficial.

Quick Start

Point cloud capture

To quickly capture a point cloud using default settings, run the following code:

import zivid
app = zivid.Application()
camera = app.connect_camera()
settings = zivid.Settings(
    acquisitions=[zivid.Settings.Acquisition()],
    color=zivid.Settings2D(acquisitions=[zivid.Settings2D.Acquisition()]),
)
frame = camera.capture_2d_3d(settings)
frame.save("result.zdf")

Instead of using the API to define capture settings, it is also possible to load them from YML files that have been exported from Zivid Studio or downloaded from the Zivid Knowledge Base settings library. This can be done by providing the filesystem path to such a file, for example:

settings = Settings.load("ZividTwo_Settings_2xHDR_Normal.yml")
frame = camera.capture_2d_3d(settings)

Point cloud data access

Data can easily be accessed in the form of Numpy arrays:

import zivid
app = zivid.Application()
camera = app.connect_camera()
settings = zivid.Settings(
    acquisitions=[zivid.Settings.Acquisition()],
    color=zivid.Settings2D(acquisitions=[zivid.Settings2D.Acquisition()]),
)
frame = camera.capture_2d_3d(settings)
xyz = frame.point_cloud().copy_data("xyz") # Get point coordinates as [Height,Width,3] float array
rgba = frame.point_cloud().copy_data("rgba") # Get point colors as [Height,Width,4] uint8 array
bgra = frame.point_cloud().copy_data("bgra") # Get point colors as [Height,Width,4] uint8 array

Capture Assistant

Instead of manually adjusting settings, the Capture Assistant may be used to find the optimal settings for your scene:

import zivid
app = zivid.Application()
camera = app.connect_camera()
capture_assistant_params = zivid.capture_assistant.SuggestSettingsParameters()
settings = zivid.capture_assistant.suggest_settings(camera, capture_assistant_params)
frame = camera.capture_2d_3d(settings)
frame.save("result.zdf")

Using camera emulation

If you do not have a camera, you can use the FileCameraZivid2M70.zfc file in the Sample Data to emulate a camera.

import zivid
app = zivid.Application()
camera = app.create_file_camera("path/to/FileCameraZivid2M70.zfc")
settings = zivid.Settings(acquisitions=[zivid.Settings.Acquisition()])
frame = camera.capture_3d(settings)
frame.save("result.zdf")

Examples

Basic example programs can be found in the samples directory. Many more advanced example programs may be found in the separate zivid-python-samples repository.

Versioning

This python module is using PEP 440 for versioning. The features available in the module depends on the Zivid SDK version used when building the module. When updating this Python package it is recommended to also update to the latest Zivid SDK. Refer to the Test Matrix for supported version.

The version number of the Zivid Python module consists of six numbers. The three first numbers of the version is the semantic version of the code in this repository. The last three numbers is the version of the underlying Zivid SDK library used by the Python module.

To check which version of zivid-python that corresponds to a specific version of Zivid SDK, check out zivid-python-releases-url or run pip index versions zivid.

Version breakdown

                                    Zivid SDK version = 1.4.1 (semantic version)
                                    v v v
Zivid Python module version = 1.0.0.1.4.1
                              ^ ^ ^
                              Wrapper code version = 1.0.0 (semantic version)

PyPI

When installing using PIP it is possible to specify the required version. This can be useful if upgrading Zivid SDK is not desired, but you want to update Zivid Python.

Install latest version of Zivid Python using latest version of Zivid SDK

pip install zivid

Install version 1.0.0 of Zivid Python using latest version of Zivid SDK

pip install zivid==1.0.0

Install version 1.0.0 of Zivid Python using Zivid SDK version 1.4.0

pip install zivid==1.0.0.1.4.0

Install version 1.0.0 of Zivid Python using Zivid SDK version 1.3.0

pip install zivid==1.0.0.1.3.0

Support for older versions of Zivid SDK will be discontinued when they are no longer compatible with latest version of the wrapper code.

License

This project is licensed, see the LICENSE file for details. The licenses of dependencies are listed here.

Support

Please visit Zivid Knowledge Base for general information on using Zivid 3D cameras. If you cannot find a solution to your issue, please contact customersuccess@zivid.com.

Test matrix

Operating System Python version
Ubuntu 24.10 3.12
Ubuntu 24.04 3.12
Ubuntu 22.04 3.10
Ubuntu 20.04 3.8
Fedora 40 3.12
Fedora 41 3.13
Windows 10 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13

Project details


Download files

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

Source Distribution

zivid-2.15.1.2.15.0.tar.gz (102.7 kB view details)

Uploaded Source

Built Distributions

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

zivid-2.15.1.2.15.0-cp313-cp313-win_amd64.whl (719.5 kB view details)

Uploaded CPython 3.13Windows x86-64

zivid-2.15.1.2.15.0-cp312-cp312-win_amd64.whl (719.5 kB view details)

Uploaded CPython 3.12Windows x86-64

zivid-2.15.1.2.15.0-cp311-cp311-win_amd64.whl (719.3 kB view details)

Uploaded CPython 3.11Windows x86-64

zivid-2.15.1.2.15.0-cp310-cp310-win_amd64.whl (719.2 kB view details)

Uploaded CPython 3.10Windows x86-64

zivid-2.15.1.2.15.0-cp39-cp39-win_amd64.whl (633.4 kB view details)

Uploaded CPython 3.9Windows x86-64

zivid-2.15.1.2.15.0-cp38-cp38-win_amd64.whl (719.2 kB view details)

Uploaded CPython 3.8Windows x86-64

zivid-2.15.1.2.15.0-cp37-cp37m-win_amd64.whl (691.3 kB view details)

Uploaded CPython 3.7mWindows x86-64

File details

Details for the file zivid-2.15.1.2.15.0.tar.gz.

File metadata

  • Download URL: zivid-2.15.1.2.15.0.tar.gz
  • Upload date:
  • Size: 102.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for zivid-2.15.1.2.15.0.tar.gz
Algorithm Hash digest
SHA256 4a74d62638780962b6fc0ead7d3e14bb4e47fde2aab2289d20eff1209c0b3b0a
MD5 f56f285e4c0476ff1c76f1d4acc309ef
BLAKE2b-256 0802e86b6cd26e06f85864ed4d61c03fc8c6f9a7417cc45741f14ff431fdd2e2

See more details on using hashes here.

File details

Details for the file zivid-2.15.1.2.15.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for zivid-2.15.1.2.15.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9ee79cd58634670d10edac588914c7b58525e56ac0b92aa8a0ccebd775a02301
MD5 93c14c7310227b45f4f91cfa924bb71a
BLAKE2b-256 afa7196e378c94ce9544e5090a8b6172731f8a7ba479006db22c5b1e608e14db

See more details on using hashes here.

File details

Details for the file zivid-2.15.1.2.15.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for zivid-2.15.1.2.15.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 73052a5ab5c37c7663e3f8e5abaae4c039f09ab4658eecd28f6fc320eeacb133
MD5 20cc9df540eae477baaa6341e74bd8a5
BLAKE2b-256 c3402665e0b3f98f36410ffb286ff373073b00e6953d03055943fefc1bf8d6b1

See more details on using hashes here.

File details

Details for the file zivid-2.15.1.2.15.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for zivid-2.15.1.2.15.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9ac266507a56071f29afeecb547c74a820f15836a4147d7be912593ce1240bfb
MD5 8f8c3cfd39abfd5c59f1ceaaf548f079
BLAKE2b-256 1b7a2aae683d0cfa7b48520089d02f74ae874ca5122a87c1bcf57650c92cbf96

See more details on using hashes here.

File details

Details for the file zivid-2.15.1.2.15.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for zivid-2.15.1.2.15.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7b43b34b2136d73a9a2944b42d81edb71088c25b0f9906e910825741de6bd44b
MD5 c7e638b124a6a15efeda3357d5212601
BLAKE2b-256 9db917627e71c27ebbe2c370fa4416c7fce2ae400ed52a487112928ede15e2f3

See more details on using hashes here.

File details

Details for the file zivid-2.15.1.2.15.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for zivid-2.15.1.2.15.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ccf210a8419048f57bc0845ee373d65b71c5d2f7db613ed471acd6d1894af203
MD5 264b269669d15d49eb37ba0e574c7386
BLAKE2b-256 a82ffb9996a1417980cca596f64a96c0e3b57a1b3239ee92316b0987c7bdfbf8

See more details on using hashes here.

File details

Details for the file zivid-2.15.1.2.15.0-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for zivid-2.15.1.2.15.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 00b9f1b326de93bff43918dbb228650629f1506fcbf56645d2d388f7b1eddb52
MD5 8c77b138faa998bb10f15007a0327d1d
BLAKE2b-256 1dba3e074d80b21ceb961b9098689fbf128ea31e825a06f6b29d60f3aa430ce9

See more details on using hashes here.

File details

Details for the file zivid-2.15.1.2.15.0-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for zivid-2.15.1.2.15.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8a6f27ce9b63a00ea7bda96c3a4dd497b0f97101e7fad7a708deea1e949d48d8
MD5 98497ed7fc859ce700a834ebf95f128e
BLAKE2b-256 6794492e23cab14426c45ea1cc0b33b140d72c77036a61bcefe48c51b53a58f6

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