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.0.2.15.0.tar.gz (102.6 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.0.2.15.0-cp313-cp313-win_amd64.whl (719.5 kB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

zivid-2.15.0.2.15.0-cp311-cp311-win_amd64.whl (719.2 kB view details)

Uploaded CPython 3.11Windows x86-64

zivid-2.15.0.2.15.0-cp310-cp310-win_amd64.whl (719.1 kB view details)

Uploaded CPython 3.10Windows x86-64

zivid-2.15.0.2.15.0-cp39-cp39-win_amd64.whl (633.3 kB view details)

Uploaded CPython 3.9Windows x86-64

zivid-2.15.0.2.15.0-cp38-cp38-win_amd64.whl (719.3 kB view details)

Uploaded CPython 3.8Windows x86-64

zivid-2.15.0.2.15.0-cp37-cp37m-win_amd64.whl (691.2 kB view details)

Uploaded CPython 3.7mWindows x86-64

File details

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

File metadata

  • Download URL: zivid-2.15.0.2.15.0.tar.gz
  • Upload date:
  • Size: 102.6 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.0.2.15.0.tar.gz
Algorithm Hash digest
SHA256 e5189c3f15e9b24570cc29e297d68d17e6e4fa1832bdaa702f7678b8ec9ed441
MD5 3bc77382d941560c268fa219ad6324a0
BLAKE2b-256 b09c8410a5ac19c9bfa901c39547c347fb7fb7feb92d650ae1ef93103c1b4ebe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.15.0.2.15.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 575a27c9db5250d1519d7ccd307916d8b956442d8b8026eb76478f990c6537c5
MD5 78680c996d14867bba0fb29d556af1c2
BLAKE2b-256 9b4d20fc7a5e8924680e5a541ccc7ff17d656ecc6b81d035d7ac05684fc2a2b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.15.0.2.15.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2562f60a085c4e63e32325b034954b632964110c623930e44a17c2760af7d083
MD5 c0f3e0578602b27cfc5931c6b5e0a052
BLAKE2b-256 56c49e348f748111ff668cb696a22e6b42683b907b3180919dcbe7c46a90f9b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.15.0.2.15.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fdd946fc3582a4e76317b09ffcd19cbd156aaa53c6cc2b6c8306b63042bb767f
MD5 eadf3337d9c7636885a8d8cea9902b99
BLAKE2b-256 b955c1060e2b6ffbafa25c98cd1015a2a31637426bd2716e34176a13114c0617

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.15.0.2.15.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4c43913c2b18b1c9a593fe459a675412bbcd8e0fce78d7da13d3851d72b70c2f
MD5 53c0041e5ef5988367826525b09db5d4
BLAKE2b-256 de378df5192179e952c0b9658905c5c839d8d69472c65df40d4e07f705fefcfe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.15.0.2.15.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 781f93ea6f615690f0c1e09def1549bb03f699f9d83de8f29aa801748a008bdc
MD5 68186e09042dff5a23d1220957baf1a4
BLAKE2b-256 8e7c1781115361a27477cc6fef4051af9382e3074389642f08e0f212f550706c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.15.0.2.15.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 7ead8fb63dde18baf50008d3540d0cf0d54c7b0d0e617dae74631723f3e540c4
MD5 f5e1c4138d20b8819278dcbe4e1948d4
BLAKE2b-256 0ecced1bc708ec16fe5967b085077975bc8c0c404d37a396cb198e27c78c6b15

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.15.0.2.15.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 40ec27fba56be0af4c586ec093759ecf6236663afcd9586dd3af0322dd953ea0
MD5 c65b87c475cd5aca650c9a204cf43b16
BLAKE2b-256 611d90c9a3a82e08b92f8849031fbad9422650fc07d2a9ad8143c633062db1c7

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