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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.8Windows x86-64

zivid-2.14.1.2.14.1-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.1.2.14.1.tar.gz.

File metadata

  • Download URL: zivid-2.14.1.2.14.1.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.1.2.14.1.tar.gz
Algorithm Hash digest
SHA256 04cd7bddbfb8dcf6e29d256df323b13290fda242421e279eaabaf62d74d54fc3
MD5 ba064eae29b7c628fd62b9ba114130eb
BLAKE2b-256 6d7aace05e7261f0c518e771bdb345a50785e803e0ed9f5edc16341011ba6aa9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.1.2.14.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b0cd968f12156ca7b328bbaf38a3d705bd24fe2cd4b0779e3e41938d617cffc3
MD5 315812483e5904044f08e031bb42e71b
BLAKE2b-256 0d7b3584d2ce1b4258437235cd0ffe7e34bb10f5644fc474c2582651984fbc04

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.1.2.14.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 289a894f8aac9a99688b82bd9bdaab089befbd720b97f35198532f868085b96f
MD5 38b8e57aa0c8265e0146afe725963cbc
BLAKE2b-256 79a8cd71a187b1293acba40b6f8d36a3dff2f6fc8f35447e8e591c889e172885

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.1.2.14.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bf5ac1cb589e6523570bda5081e191eb8187d7f03f384cb221de58659e848afa
MD5 c01f662117d6e2e76d3a8923513c0e49
BLAKE2b-256 92c614d5bf57e3eded61c96d41ea9485f313c6c4f4f0f2a984452929b546bbce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.1.2.14.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e8f104409b6b6e7353f2ec4033bf0cb847fa7b56cc26e7fd3842ddcef66dcc44
MD5 2649fa93d61442070d2021d132744423
BLAKE2b-256 c638cd4be1a1ef3efde2995657c664cdc8d1743bf67474a7a870b4fb516ec36c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.1.2.14.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ea473b83d7069e0e564d14c6b0ad4f388e632cd4ad3eb3057353e78c8ae99e4f
MD5 de978412571cb938dc5bb9c1a88b6cf3
BLAKE2b-256 89fbb4b00b27abe1933e33b74d991cc51cf3b1838d64e3c32cb69ec6c3a22891

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.1.2.14.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 41093b4e896ed8c635dec2fb484453b38fa66bf0799f1338efaaa5e4e3a902f2
MD5 88a252bd5eed71f9b458a073f9a1c2ac
BLAKE2b-256 0b694c4bacfb91e9a277192acace47663c72c8108ed967271fcef50467a25cdc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for zivid-2.14.1.2.14.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 c65743f3df8da6427e8feb7ccc9ba38fa41d71aaa1aa18fd0f3d29b4a4e8ef1c
MD5 f8d01c6a3c749ac309ff5441c8a4bbf5
BLAKE2b-256 80177c44f29e8370f30d21d466d1459a87bb5d3ade8e0db36b4ecffef0771cbb

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