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 sdk_version.json 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 released with the same version number as the Zivid SDK that it supports. The Zivid SDK is using semantic versioning with major, minor, and patch versions.

If a patch is released to fix an issue with this python module separately from a Zivid SDK patch release, then a fourth number signifying the patch version of the python module will be added to the end:

Version breakdown

                              Zivid SDK version = 2.16.0
                              v vv v
Zivid Python module version = 2.16.0.1
                                     ^
                                     Zivid Python module patch version (omitted if 0)

[!NOTE] Versioning Prior to 2.16.0

Before version 2.16.0, this python module used a similar but different versioning scheme with six numbers. In this scheme, the first three numbers specified the semantic version of the python module while the next three numbers specified the semantic version of the supported Zivid SDK. In some early versions of the python module, these semantic versions could be different, but eventually they were synced up, and from version 2.16.0 the versioning system was simplified as explained above.

PyPI

When installing using PIP it is possible to specify the required version. This can be useful if using an older version of the Zivid SDK.

To see the complete list of released versions of this python module, see zivid-python-releases-url or run pip index versions zivid.

Note that as explained above, the versioning system was simplified starting with version 2.16.0 such that the Zivid Python is the same as the supported Zivid SDK version. Older releases used a different versioning scheme, which is also explained above.

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

pip install zivid

Note: The installation may fail if the latest available version of Zivid SDK is not installed on the system. See Installation.

Install a specific version of Zivid Python

pip install zivid==2.16.0

This requires Zivid SDK version 2.16.0 to be installed on the system.

Using the old versioning scheme, install version 2.6.0 of the Zivid Python wrapper supporting Zivid SDK 2.7.0

pip install zivid==2.6.0.2.7.0

This requires Zivid SDK version 2.7.0 to be installed on the system.

License

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

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

The test matrix shows which Python versions and operating systems are tested in CI. Check text matrix here to go to the test matrix.

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.17.1.tar.gz (122.9 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.17.1-cp314-cp314-win_amd64.whl (798.3 kB view details)

Uploaded CPython 3.14Windows x86-64

zivid-2.17.1-cp313-cp313-win_amd64.whl (781.5 kB view details)

Uploaded CPython 3.13Windows x86-64

zivid-2.17.1-cp312-cp312-win_amd64.whl (781.6 kB view details)

Uploaded CPython 3.12Windows x86-64

zivid-2.17.1-cp311-cp311-win_amd64.whl (772.1 kB view details)

Uploaded CPython 3.11Windows x86-64

zivid-2.17.1-cp310-cp310-win_amd64.whl (770.9 kB view details)

Uploaded CPython 3.10Windows x86-64

zivid-2.17.1-cp39-cp39-win_amd64.whl (953.2 kB view details)

Uploaded CPython 3.9Windows x86-64

zivid-2.17.1-cp38-cp38-win_amd64.whl (770.3 kB view details)

Uploaded CPython 3.8Windows x86-64

zivid-2.17.1-cp37-cp37m-win_amd64.whl (751.0 kB view details)

Uploaded CPython 3.7mWindows x86-64

File details

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

File metadata

  • Download URL: zivid-2.17.1.tar.gz
  • Upload date:
  • Size: 122.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.8

File hashes

Hashes for zivid-2.17.1.tar.gz
Algorithm Hash digest
SHA256 edc53e3e77068b19bf8dafc71cb891314af0842b14ac419a58a19cd2e2f24fe1
MD5 50dcd88a0cbc89b63dd8b98a17bcfdee
BLAKE2b-256 19558bd1d5a36a033d1bc5df2e203c840ca48e2812bee38d60172c6e52171f34

See more details on using hashes here.

File details

Details for the file zivid-2.17.1-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: zivid-2.17.1-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 798.3 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.8

File hashes

Hashes for zivid-2.17.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 a3b54355cb613cbabd850101168a17c69504f0ac93d8780977f228d7e6d24902
MD5 60da4020af94e237645337497d1697af
BLAKE2b-256 bb2900ecc571345d423de973d20d8c96bb3c87869f976f761dfa3687f6a9e6b3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zivid-2.17.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 781.5 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.8

File hashes

Hashes for zivid-2.17.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 aafc897608c2c366ac9a761ff93fc257a1d340512f852bf198a3d2a9af5ee4ac
MD5 cb898cc4f21b992401f57edb663ce2ea
BLAKE2b-256 04259ef8fdc1e19e9af1528cade66a3e69ef5f595537ce4d240c595ceba64594

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zivid-2.17.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 781.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.8

File hashes

Hashes for zivid-2.17.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 08f7ba47247022ec5312e8fb0d5808db2ff863ce43e52b1d7e9d11faf16d78b4
MD5 a95a2be70266b4682e60bab62ddac16a
BLAKE2b-256 318dcbeb48f926ce019d1fec756ab60682b43a211ee7000736eb72f1dd1edb76

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zivid-2.17.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 772.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.8

File hashes

Hashes for zivid-2.17.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e880daf59c19708123a612e3b2e1fa8ac91fcca7e857760b536d2fccb06c9d1f
MD5 9c1da0009727d573b66fcf1947a1ce9a
BLAKE2b-256 d619041d6a880800f54c3f660378a6a83d72a09e2a95284944091eb09dac0b95

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zivid-2.17.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 770.9 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.8

File hashes

Hashes for zivid-2.17.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 6ef391160547d15b10d06c00768631b454ec12347e035bdc97654f7fbd551281
MD5 dbd5882ba40e5ab6cdd5439428290bfb
BLAKE2b-256 c206373c06434203bb59463e042d82c35c69c3cec1ecd98186591fe439d03077

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zivid-2.17.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 953.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.8

File hashes

Hashes for zivid-2.17.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3b9cac049986cf13d08e1c9e7ff93bf6d4fec34cb5d8c10a55b558251a7dbeb0
MD5 c7178c8530e24a4bbe7e2004da00f287
BLAKE2b-256 56e6b833f2ea32d8d147264c0c246cba1ead1e33a9e456d1faf8419bf2e9883c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zivid-2.17.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 770.3 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.8

File hashes

Hashes for zivid-2.17.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2698d5607f5d695cfc22600a889ab47fdb20ebc9d7f23913fb949da96898a7d0
MD5 484380e5963555fdd14304c77fb112c7
BLAKE2b-256 e27766396c32a195a0c75cb7f234dbfa01871ebf7ae043703491fc3ae24e8867

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zivid-2.17.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 751.0 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.8

File hashes

Hashes for zivid-2.17.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 cece60b7fff24de619e6092ce488b79a54ee34847ff9e068878a5e248418b81e
MD5 b0334f34adf8a7cbeeedf5ff40fc2474
BLAKE2b-256 43d4a7e929f138c2c3f80af6e4baec27d67f9547a9d8a4c2bd2579b0e43c01c5

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