Experimental Features

Some features in the Zivid SDK are marked as experimental. This page explains what that label means and how to work with experimental features in your application.

What "experimental" means

Zivid releases features as experimental to make them available to you sooner and to gather feedback from real-world use. This lets us refine the design before it becomes a permanent part of the API.

In practice, an experimental feature is one where Zivid may change the API or behavior.

How to recognize an experimental feature

You cannot use an experimental feature without explicitly referencing the word Experimental. Depending on the feature, this appears in:

  • the namespace, for example Zivid::Experimental,

  • the settings path, for example Settings::Experimental::..., or

  • the name of the tool, for example ZividExperimentalHandEyeCalibration

This is intentional: it ensures you always know when your code depends on an experimental feature.

What to expect

警告

Experimental features are subject to change or removal. The interface may change between SDK releases, which means you may need to update your code when you upgrade. Review the changelog before upgrading, and pin to a specific SDK version in production if you need a stable interface.

Quality

Experimental features are generally held to the same quality bar as the rest of the SDK at the time they ship, with no known instabilities and reasonable test coverage. Where this is not the case, the limitation is stated in the documentation for that specific feature.

Wrapper availability

An experimental feature may not be available in every language wrapper. For example, it might exist in the C++ API but not yet in the Python or .NET wrappers.

Using experimental features safely

  • Check the documentation for the specific feature for any stated limitations.

  • Pin your SDK version and review the changelog when upgrading, since the interface may change.

  • If you plan to deploy an experimental feature in production, or you have questions about its maturity, contact Customer Success at customersuccess@zivid.com.

Availability by SDK and Wrapper

The table below shows which wrappers each experimental feature is available in today. A Yes means the feature is available in that wrapper, and a No means it is not.

  • C++ - the C++ SDK (Zivid::Experimental).

  • .NET - the .NET SDK (Zivid.NET.Experimental).

  • Python - the zivid-python wrapper (zivid.experimental).

  • ROS - the zivid-ros ROS 2 driver.

  • HALCON - the GenICam (GenTL) producer used from HALCON and other GenICam consumers.

Experimental feature

C++

.NET

Python

ROS

HALCON

Camera intrinsics

Yes

Yes

Yes

Yes

No

Pixel mapping

Yes

No

Yes

No

No

Hand-eye calibration for low-DOF robots

Yes

Yes

Yes

Yes

No

Point cloud export (ZDF, PLY, XYZ, PCD)

Yes

Yes

Yes

Yes

No

Point cloud registration (stitching)

Yes

Yes

Yes

No

No

Barcode detection

Yes

No

Yes

No

No

Reprocessing

Yes

No

No

No

No

Settings info

Yes

Partial

No

No

No

Experimental settings nodes

Yes

Yes

Yes

Yes

Yes

备注

  • Settings info in the .NET SDK exposes Resolution only; the defaultValue / validValues / validRange queries are not wrapped.

  • ROS and HALCON consume a full settings object, so the experimental settings nodes work even though the experimental APIs are not individually wrapped. The ROS driver additionally wraps camera intrinsics, hand-eye low-DOF calibration, and point cloud export through dedicated services.

The GenICam / HALCON wrapper

The GenICam GenTL producer, used to operate Zivid cameras from HALCON and other GenICam consumers, is itself experimental. The installer presents it as GenICam GenTL Producer (Experimental), and the same expectations as above apply: the interface and feature set may change between releases.