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.2.2.14.2.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.2.2.14.2-cp313-cp313-win_amd64.whl (686.1 kB view details)

Uploaded CPython 3.13Windows x86-64

zivid-2.14.2.2.14.2-cp312-cp312-win_amd64.whl (686.1 kB view details)

Uploaded CPython 3.12Windows x86-64

zivid-2.14.2.2.14.2-cp311-cp311-win_amd64.whl (685.7 kB view details)

Uploaded CPython 3.11Windows x86-64

zivid-2.14.2.2.14.2-cp310-cp310-win_amd64.whl (685.5 kB view details)

Uploaded CPython 3.10Windows x86-64

zivid-2.14.2.2.14.2-cp39-cp39-win_amd64.whl (605.4 kB view details)

Uploaded CPython 3.9Windows x86-64

zivid-2.14.2.2.14.2-cp38-cp38-win_amd64.whl (685.4 kB view details)

Uploaded CPython 3.8Windows x86-64

zivid-2.14.2.2.14.2-cp37-cp37m-win_amd64.whl (659.4 kB view details)

Uploaded CPython 3.7mWindows x86-64

File details

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

File metadata

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

File hashes

Hashes for zivid-2.14.2.2.14.2.tar.gz
Algorithm Hash digest
SHA256 b179a69f44cc7782c0cfab20689ce8718ce2d8288b7080f7890c064566489934
MD5 46e74730f94ec0db1a2099a7968d95eb
BLAKE2b-256 9e1196fbabf29ea44da0d464f31609dcfd1a3a9e6ed561a28a37c8ebde495820

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.2.2.14.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 65ab99234d761483f8b304a6eaa0ba33c3f24c31d31f3806db4daa23d8da754a
MD5 0b7dcab3b3da6ffbb19cdf3fc92ed3d6
BLAKE2b-256 b1f36ea8804db1df149effbcc7b29bc06f43e18af6c6b9400b317931bdf2b130

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.2.2.14.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0bf1688127346c6c4cd5d8a7a709af04ca23b5fd289756b42603d58b5c593947
MD5 9de8cfcee02db06727e273e7fa77e53e
BLAKE2b-256 443a0b5560318f1e1a29355b725babf39dff5dc1cdfab4d9c1df274790c38e66

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.2.2.14.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 06adb14e4a81161487682ab6aedf4d0dd1a3c8cf3f63beba260f9c03bf3339d3
MD5 1fb1509992a487c1eb40ee8cb9280a33
BLAKE2b-256 e8cabf2e70c4fd84a9bb6d6a95b035b0dd18c99acda998a62dace1b8a5cee48d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.2.2.14.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cecb2c9e7fc1a77fe4bca8fd7497c78e379694eceef869685e5ee6a1da77580b
MD5 877af667350cd919a2dfef7216c5561d
BLAKE2b-256 ce8ee84fcf80ee327a129964513a78ea49dbaf86ee301d3e43e63ef1f1b46262

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.2.2.14.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 e1a3d2a9b5734e2df0298c3bef72250a87319f0fc5514fb79fa2645912be404c
MD5 f6c429d3a412379c450ed08a29829bc1
BLAKE2b-256 c21065f7a01a1a642db9f39726d2f716381df65b3c8b4dd30a8ede4605dbc2b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.2.2.14.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 acde3db875e52588909bb9fae60aa36580099cb301903695158760f85bb73fe5
MD5 af2cd588746476c27103731d55a06299
BLAKE2b-256 6362e86088f5df59b0ac3db465c1c741f0dbac84ef5cc0a0b216fc84dc5b2eea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.2.2.14.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 023ec265b727910a82c7ab47f97d455a3f0ac17e5bfaa0db600891c62cc9c1ef
MD5 69bb6bf1bc2d6b0141cc30a35b18edab
BLAKE2b-256 1140003e35a45d1445446394d57bf605a517dfb7b038d8d730bf807631b7de7d

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