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.18.0.tar.gz (156.4 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.18.0-cp314-cp314-win_amd64.whl (982.5 kB view details)

Uploaded CPython 3.14Windows x86-64

zivid-2.18.0-cp313-cp313-win_amd64.whl (960.1 kB view details)

Uploaded CPython 3.13Windows x86-64

zivid-2.18.0-cp312-cp312-win_amd64.whl (960.2 kB view details)

Uploaded CPython 3.12Windows x86-64

zivid-2.18.0-cp311-cp311-win_amd64.whl (947.5 kB view details)

Uploaded CPython 3.11Windows x86-64

zivid-2.18.0-cp310-cp310-win_amd64.whl (946.2 kB view details)

Uploaded CPython 3.10Windows x86-64

zivid-2.18.0-cp39-cp39-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.9Windows x86-64

zivid-2.18.0-cp38-cp38-win_amd64.whl (945.5 kB view details)

Uploaded CPython 3.8Windows x86-64

zivid-2.18.0-cp37-cp37m-win_amd64.whl (920.5 kB view details)

Uploaded CPython 3.7mWindows x86-64

File details

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

File metadata

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

File hashes

Hashes for zivid-2.18.0.tar.gz
Algorithm Hash digest
SHA256 9337f7fe60d2ba091ada4bf8a43bb4c4692423dbe748f57b7b922d4b7a011ae5
MD5 ce363d037d35b822fb27afc4abe4a2f6
BLAKE2b-256 55ab2c7635c53d1674885e5ebbf4a307bffcb48b038c815b8a35d1749f185bcc

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for zivid-2.18.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 25d1115076b5a807f228e87deab5dddc497990613d5ddcb85a232c5fe191ce3a
MD5 984f45633caf93f1b8618c257e495867
BLAKE2b-256 235914d3f8af7bf6aba061953f4f3e3be57e0ee1e56d1854f096de34dd7f749f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for zivid-2.18.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e8af831d759f3536b77f387cc56d2bcae209fcbd25d821bc474c9bd861627abc
MD5 a90aa4e6df466cc37b903eab62d82e69
BLAKE2b-256 1961044fafcc4b99876b0e0941776003aecbe9f0c64fea45fd4c0ccfe23a6e4f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for zivid-2.18.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 cf2717395f9d72467e642593887486224c4c3b52009ebc1a23b5508a66e2a420
MD5 d0b18a0556c59b276f2c2e705a016b07
BLAKE2b-256 cf4418fe79672b2267bb195d75c07f5b70a6a4f3cdb01e49ce1cf4276c38784e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for zivid-2.18.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4586e18b44c075de495f935bca28f13e1966a0216e60bc87fbd2a91b09a3f29d
MD5 d330ec285aea83f28f2c1e6e7f9aeb14
BLAKE2b-256 024c142bb88c102545c54c98f60f8bffeef815ac916206c4d5a28c9ef667282d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for zivid-2.18.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ba728170283ac0f1c54909a8e79270b0ecfbe2538009e54c2f93ca8f712d3bed
MD5 26c9b0bbb71f7072281d33b247432ea0
BLAKE2b-256 a25f867365f2f5a717f7bf5ae889cd782cc5b0a6991beb52f52f0d342bf9ac8e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: zivid-2.18.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for zivid-2.18.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 76665e03e134265403cad33cf31f793bc4ea49fd46542ec8ec97c31135e1fafe
MD5 d52eb23202d608168ba7e14724121539
BLAKE2b-256 45efceb6f5ec7ea3b3228be232a7b3a25f33c635d37f5e3085a1233cc90b3dbe

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for zivid-2.18.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 c356ad0a2ad2dbe83729b8e4c4263c9608ff8748233409ab0f5d8bd6e6104afa
MD5 24d51f3ef24a1d375672d79636730b87
BLAKE2b-256 27b0d483a936a001ed4a447fdcd0f1f8778748b1417af74ba377b10feef0eecb

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for zivid-2.18.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 117d7765f140725c45f178450dee58fcc3d468104293d5b2284aca361225956c
MD5 25802689d8b773cca9f1e729ad6eac23
BLAKE2b-256 7e56a67a70685d07dea1a8615c729ad6f0cb741dbf5e94a00fa2b0cc8c966b2b

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