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.14.0.2.14.0.tar.gz (98.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.14.0.2.14.0-cp313-cp313-win_amd64.whl (685.4 kB view details)

Uploaded CPython 3.13Windows x86-64

zivid-2.14.0.2.14.0-cp312-cp312-win_amd64.whl (685.4 kB view details)

Uploaded CPython 3.12Windows x86-64

zivid-2.14.0.2.14.0-cp311-cp311-win_amd64.whl (685.1 kB view details)

Uploaded CPython 3.11Windows x86-64

zivid-2.14.0.2.14.0-cp310-cp310-win_amd64.whl (684.7 kB view details)

Uploaded CPython 3.10Windows x86-64

zivid-2.14.0.2.14.0-cp39-cp39-win_amd64.whl (605.0 kB view details)

Uploaded CPython 3.9Windows x86-64

zivid-2.14.0.2.14.0-cp38-cp38-win_amd64.whl (684.9 kB view details)

Uploaded CPython 3.8Windows x86-64

zivid-2.14.0.2.14.0-cp37-cp37m-win_amd64.whl (658.9 kB view details)

Uploaded CPython 3.7mWindows x86-64

File details

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

File metadata

  • Download URL: zivid-2.14.0.2.14.0.tar.gz
  • Upload date:
  • Size: 98.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for zivid-2.14.0.2.14.0.tar.gz
Algorithm Hash digest
SHA256 c11841d9de79216de9ac7b1e30b9a532ad65466a72b2982efc29cb7d0809f40d
MD5 c9e7831b236baeaf6258a065954edbf8
BLAKE2b-256 4f75af9f86bf6cd5339da31b2e1461ad827dc6fdb861a503d9bc42d8ba51a07b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.0.2.14.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 bd140f8c310bdd9cc318f388961199ca6a2540a51d86302ca630f7ce7df452e1
MD5 4df301320e925e54e0deb0444c28311d
BLAKE2b-256 2b4db925f3e625bb61ae9c0008c67eb8ff89c6be2b571780d113b5fbdf3c0d8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.0.2.14.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f1b3a9d71c526c279b7d23eef809bbf4146c3c41b0a5055857d55a31c607bcb6
MD5 ae46c64f13e26eef367dcc6c23761a92
BLAKE2b-256 af454ac0cef7f9666563041734741ed45d500932815c23c03e5265177cfd5841

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.0.2.14.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9420846468dba26db9ee9156e9d0e92343af888290698780cce51bc5d0186edc
MD5 81c13b18c72bd4dfb3ba3690c7c6787f
BLAKE2b-256 6c3e7bbe3725f81a2933c82d0f411165ff94c3c34787f46c95c0a6d280007da4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.0.2.14.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 232284946e4cdf5a6f3ffdf3dd85644aa530c020f2bfd166333e92e55c0439c9
MD5 d99570e7aad40df90f61d71aa07d8702
BLAKE2b-256 86c84ffa4444fcb9cb5b9edb7bf093a859ce56e521890b7cfe7329a7a8e78435

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.0.2.14.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ac7d0d1fe8ff807b78504d254c153539b94245aa540ef0d29bb50174bda771e2
MD5 5c51ab52847b370f7290c8a862e1cb4d
BLAKE2b-256 317c7975d0e0d7d76c0a5a11ab73144a3d694ea83334540aa3d41eaf060d31d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.0.2.14.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 80e12fe80cdd6d9ce8a7277cbaf58436195298453c7f06eb26c8add0f13f6760
MD5 b71f62117f00c3e9f6808c28a5717e67
BLAKE2b-256 ed9aa9681972f10ff31ea2f40b2fb5996c045b3295ce0b62085064149ffb6601

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.0.2.14.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 e92d3e015b69a45d0a365e645996cc3b27b3b37e2c53a3d8c8ca58dce8d5b910
MD5 d8ed1f623b194939079b2a2c1e55cdb6
BLAKE2b-256 076e12bf73eda36862945ace44902d0c3aec6e992db1f6a669b51434e59ef1db

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