Settings (2D + 3D)

Capture settings for the combined 2D + 3D pipeline.

class Settings

Settings used when capturing a 3D capture or 2D+3D capture with a Zivid camera.

Public Functions

Settings()

Default constructor.

explicit Settings(const std::string &fileName)

Construct Settings by loading from file.

std::string serialize() const

Serialize to a string.

See also fromSerialized. The returned string is formatted in YAML, and is compatible with the contents of files saved using save.

template<typename ...Args>
inline explicit Settings(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Settings then invoking set(args).

The provided arguments must be descendants of Settings. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Settings. These types can be provided:

template<typename ...Args>
inline Settings copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Settings object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Settings. These types can be provided:

inline const Acquisitions &acquisitions() const

Get Acquisitions.

inline Acquisitions &acquisitions()

Get Acquisitions.

inline Settings &set(const Acquisitions &value)

Set Acquisitions.

inline const Color &color() const

Get Color.

inline Color &color()

Get Color.

inline Settings &set(const Color &value)

Set Color.

inline const Diagnostics &diagnostics() const

Get Diagnostics.

inline Diagnostics &diagnostics()

Get Diagnostics.

inline Settings &set(const Diagnostics &value)

Set Diagnostics.

inline Settings &set(const Diagnostics::Enabled &value)

Set Diagnostics::Enabled.

inline const Engine &engine() const

Get Engine.

inline Engine &engine()

Get Engine.

inline Settings &set(const Engine &value)

Set Engine.

inline const Processing &processing() const

Get Processing.

inline Processing &processing()

Get Processing.

inline Settings &set(const Processing &value)

Set Processing.

inline Settings &set(const Processing::Color &value)

Set Processing::Color.

inline Settings &set(const Processing::Color::Balance &value)

Set Processing::Color::Balance.

inline Settings &set(const Processing::Color::Balance::Blue &value)

Set Processing::Color::Balance::Blue.

inline Settings &set(const Processing::Color::Balance::Green &value)

Set Processing::Color::Balance::Green.

inline Settings &set(const Processing::Color::Balance::Red &value)

Set Processing::Color::Balance::Red.

inline Settings &set(const Processing::Color::Experimental &value)

Set Processing::Color::Experimental.

inline Settings &set(const Processing::Color::Experimental::Mode &value)

Set Processing::Color::Experimental::Mode.

inline Settings &set(const Processing::Color::Gamma &value)

Set Processing::Color::Gamma.

inline Settings &set(const Processing::Filters &value)

Set Processing::Filters.

inline Settings &set(const Processing::Filters::Cluster &value)

Set Processing::Filters::Cluster.

inline Settings &set(const Processing::Filters::Cluster::Removal &value)

Set Processing::Filters::Cluster::Removal.

inline Settings &set(const Processing::Filters::Cluster::Removal::Enabled &value)

Set Processing::Filters::Cluster::Removal::Enabled.

inline Settings &set(const Processing::Filters::Cluster::Removal::MaxNeighborDistance &value)

Set Processing::Filters::Cluster::Removal::MaxNeighborDistance.

inline Settings &set(const Processing::Filters::Cluster::Removal::MinArea &value)

Set Processing::Filters::Cluster::Removal::MinArea.

inline Settings &set(const Processing::Filters::Experimental &value)

Set Processing::Filters::Experimental.

inline Settings &set(const Processing::Filters::Experimental::ContrastDistortion &value)

Set Processing::Filters::Experimental::ContrastDistortion.

inline Settings &set(const Processing::Filters::Experimental::ContrastDistortion::Correction &value)

Set Processing::Filters::Experimental::ContrastDistortion::Correction.

inline Settings &set(const Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled &value)

Set Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled.

inline Settings &set(const Processing::Filters::Experimental::ContrastDistortion::Correction::Strength &value)

Set Processing::Filters::Experimental::ContrastDistortion::Correction::Strength.

inline Settings &set(const Processing::Filters::Experimental::ContrastDistortion::Removal &value)

Set Processing::Filters::Experimental::ContrastDistortion::Removal.

inline Settings &set(const Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled &value)

Set Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled.

inline Settings &set(const Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold &value)

Set Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold.

inline Settings &set(const Processing::Filters::Hole &value)

Set Processing::Filters::Hole.

inline Settings &set(const Processing::Filters::Hole::Repair &value)

Set Processing::Filters::Hole::Repair.

inline Settings &set(const Processing::Filters::Hole::Repair::Enabled &value)

Set Processing::Filters::Hole::Repair::Enabled.

inline Settings &set(const Processing::Filters::Hole::Repair::HoleSize &value)

Set Processing::Filters::Hole::Repair::HoleSize.

inline Settings &set(const Processing::Filters::Hole::Repair::Strictness &value)

Set Processing::Filters::Hole::Repair::Strictness.

inline Settings &set(const Processing::Filters::Noise &value)

Set Processing::Filters::Noise.

inline Settings &set(const Processing::Filters::Noise::Removal &value)

Set Processing::Filters::Noise::Removal.

inline Settings &set(const Processing::Filters::Noise::Removal::Enabled &value)

Set Processing::Filters::Noise::Removal::Enabled.

inline Settings &set(const Processing::Filters::Noise::Removal::Threshold &value)

Set Processing::Filters::Noise::Removal::Threshold.

inline Settings &set(const Processing::Filters::Noise::Repair &value)

Set Processing::Filters::Noise::Repair.

inline Settings &set(const Processing::Filters::Noise::Repair::Enabled &value)

Set Processing::Filters::Noise::Repair::Enabled.

inline Settings &set(const Processing::Filters::Noise::Suppression &value)

Set Processing::Filters::Noise::Suppression.

inline Settings &set(const Processing::Filters::Noise::Suppression::Enabled &value)

Set Processing::Filters::Noise::Suppression::Enabled.

inline Settings &set(const Processing::Filters::Outlier &value)

Set Processing::Filters::Outlier.

inline Settings &set(const Processing::Filters::Outlier::Removal &value)

Set Processing::Filters::Outlier::Removal.

inline Settings &set(const Processing::Filters::Outlier::Removal::Enabled &value)

Set Processing::Filters::Outlier::Removal::Enabled.

inline Settings &set(const Processing::Filters::Outlier::Removal::Threshold &value)

Set Processing::Filters::Outlier::Removal::Threshold.

inline Settings &set(const Processing::Filters::Reflection &value)

Set Processing::Filters::Reflection.

inline Settings &set(const Processing::Filters::Reflection::Removal &value)

Set Processing::Filters::Reflection::Removal.

inline Settings &set(const Processing::Filters::Reflection::Removal::Enabled &value)

Set Processing::Filters::Reflection::Removal::Enabled.

inline Settings &set(const Processing::Filters::Reflection::Removal::Mode &value)

Set Processing::Filters::Reflection::Removal::Mode.

inline Settings &set(const Processing::Filters::Smoothing &value)

Set Processing::Filters::Smoothing.

inline Settings &set(const Processing::Filters::Smoothing::Gaussian &value)

Set Processing::Filters::Smoothing::Gaussian.

inline Settings &set(const Processing::Filters::Smoothing::Gaussian::Enabled &value)

Set Processing::Filters::Smoothing::Gaussian::Enabled.

inline Settings &set(const Processing::Filters::Smoothing::Gaussian::Sigma &value)

Set Processing::Filters::Smoothing::Gaussian::Sigma.

inline Settings &set(const Processing::Resampling &value)

Set Processing::Resampling.

inline Settings &set(const Processing::Resampling::Mode &value)

Set Processing::Resampling::Mode.

inline const RegionOfInterest &regionOfInterest() const

Get RegionOfInterest.

inline RegionOfInterest &regionOfInterest()

Get RegionOfInterest.

inline Settings &set(const RegionOfInterest &value)

Set RegionOfInterest.

inline Settings &set(const RegionOfInterest::Box &value)

Set RegionOfInterest::Box.

inline Settings &set(const RegionOfInterest::Box::Enabled &value)

Set RegionOfInterest::Box::Enabled.

inline Settings &set(const RegionOfInterest::Box::Extents &value)

Set RegionOfInterest::Box::Extents.

inline Settings &set(const RegionOfInterest::Box::PointA &value)

Set RegionOfInterest::Box::PointA.

inline Settings &set(const RegionOfInterest::Box::PointB &value)

Set RegionOfInterest::Box::PointB.

inline Settings &set(const RegionOfInterest::Box::PointO &value)

Set RegionOfInterest::Box::PointO.

inline Settings &set(const RegionOfInterest::Depth &value)

Set RegionOfInterest::Depth.

inline Settings &set(const RegionOfInterest::Depth::Enabled &value)

Set RegionOfInterest::Depth::Enabled.

inline Settings &set(const RegionOfInterest::Depth::Range &value)

Set RegionOfInterest::Depth::Range.

inline const Sampling &sampling() const

Get Sampling.

inline Sampling &sampling()

Get Sampling.

inline Settings &set(const Sampling &value)

Set Sampling.

inline Settings &set(const Sampling::Color &value)

Set Sampling::Color.

inline Settings &set(const Sampling::Pixel &value)

Set Sampling::Pixel.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Settings &other) const

Equality operator.

bool operator!=(const Settings &other) const

Inequality operator.

std::string toString() const

Get the value as string.

void save(const std::string &fileName) const

Save to the given file.

void load(const std::string &fileName)

Load from the given file.

Public Static Functions

static Settings fromSerialized(const std::string &value)

Construct a new Settings instance from a previously serialized string.

See also serialize.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {""}

The full path for this value.

static constexpr const char *name = {"Settings"}

The name of this value.

static constexpr const char * description  {R"description(Settingsused when capturing a 3D capture or 2D+3D capture with a Zivid camera.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Settings &value)

Operator to send the value as string to a stream.

class Acquisition

Settings for a single acquisition.

Public Functions

Acquisition()

Default constructor.

template<typename ...Args>
inline explicit Acquisition(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Acquisition then invoking set(args).

The provided arguments must be descendants of Acquisition. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Acquisition. These types can be provided:

template<typename ...Args>
inline Acquisition copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Acquisition object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Acquisition. These types can be provided:

inline const Aperture &aperture() const

Get Aperture.

inline Aperture &aperture()

Get Aperture.

inline Acquisition &set(const Aperture &value)

Set Aperture.

inline const Brightness &brightness() const

Get Brightness.

inline Brightness &brightness()

Get Brightness.

inline Acquisition &set(const Brightness &value)

Set Brightness.

inline const ExposureTime &exposureTime() const

Get ExposureTime.

inline ExposureTime &exposureTime()

Get ExposureTime.

inline Acquisition &set(const ExposureTime &value)

Set ExposureTime.

inline const Gain &gain() const

Get Gain.

inline Gain &gain()

Get Gain.

inline Acquisition &set(const Gain &value)

Set Gain.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Acquisition &other) const

Equality operator.

bool operator!=(const Acquisition &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Acquisition"}

The full path for this value.

static constexpr const char *name = {"Acquisition"}

The name of this value.

static constexpr const char * description   = { R"description(Settings for a single acquisition.)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Acquisition &value)

Operator to send the value as string to a stream.

class Aperture

Aperture setting for the camera.

Specified as an f-number (the ratio of lens focal length to the effective aperture diameter).

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

Aperture() = default

Default constructor.

inline explicit constexpr Aperture(double value)

Constructor.

double value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Aperture &other) const

Comparison operator.

inline bool operator!=(const Aperture &other) const

Comparison operator.

inline bool operator<(const Aperture &other) const

Comparison operator.

inline bool operator>(const Aperture &other) const

Comparison operator.

inline bool operator<=(const Aperture &other) const

Comparison operator.

inline bool operator>=(const Aperture &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for Aperture.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Acquisition/Aperture"}

The full path for this value.

static constexpr const char *name = {"Aperture"}

The name of this value.

static constexpr const char * description  {R"description(Aperturesetting for the camera. Specified as an f-number (the ratio of lens focal length tothe effectiveaperturediameter).)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Aperture &value)

Operator to serialize the value to a stream.

class Brightness

Brightness controls the light output from the projector.

Brightness above 1.0 may be needed when the distance between the camera and the scene is large, or in case of high levels of ambient lighting.

When brightness is above 1.0 the duty cycle of the camera (the percentage of time the camera can capture) will be reduced. The duty cycle in boost mode is 50%. The duty cycle is calculated over a 10 second period. This limitation is enforced automatically by the camera. Calling capture when the duty cycle limit has been reached will cause the camera to first wait (sleep) for a duration of time to cool down, before capture will start.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

Brightness() = default

Default constructor.

inline explicit constexpr Brightness(double value)

Constructor.

double value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Brightness &other) const

Comparison operator.

inline bool operator!=(const Brightness &other) const

Comparison operator.

inline bool operator<(const Brightness &other) const

Comparison operator.

inline bool operator>(const Brightness &other) const

Comparison operator.

inline bool operator<=(const Brightness &other) const

Comparison operator.

inline bool operator>=(const Brightness &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for Brightness.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Acquisition/Brightness"}

The full path for this value.

static constexpr const char *name = {"Brightness"}

The name of this value.

static constexpr const char * description  {R"description(Brightness controls the light output from the projector.  Brightnessabove 1.0 may be needed when the distance between the camera and the scene is large,or in case of high levels of ambient lighting.Whenbrightnessis above 1.0 the duty cycle of the camera (the percentage of time the cameracan capture) will be reduced. The duty cycle in boost mode is 50%. The duty cycle is calculatedover a 10 second period. This limitation is enforced automatically by the camera. Calling capturewhen the duty cycle limit has been reached will cause the camera to first wait (sleep) for aduration of time to cool down, before capture will start.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Brightness &value)

Operator to serialize the value to a stream.

class ExposureTime

Exposure time for each single image in the measurement. Affects frame rate.

Public Types

using ValueType = std::chrono::microseconds

The type of the underlying value.

Public Functions

ExposureTime() = default

Default constructor.

inline explicit constexpr ExposureTime(std::chrono::microseconds value)

Constructor.

std::chrono::microseconds value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const ExposureTime &other) const

Comparison operator.

inline bool operator!=(const ExposureTime &other) const

Comparison operator.

inline bool operator<(const ExposureTime &other) const

Comparison operator.

inline bool operator>(const ExposureTime &other) const

Comparison operator.

inline bool operator<=(const ExposureTime &other) const

Comparison operator.

inline bool operator>=(const ExposureTime &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<std::chrono::microseconds> validRange()

The range of valid values for ExposureTime.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Acquisition/ExposureTime"}

The full path for this value.

static constexpr const char *name = {"ExposureTime"}

The name of this value.

static constexpr const char * description  {R"description(Exposure time for each single image in the measurement. Affectsframerate.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const ExposureTime &value)

Operator to serialize the value to a stream.

class Gain

Analog gain in the camera.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

Gain() = default

Default constructor.

inline explicit constexpr Gain(double value)

Constructor.

double value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Gain &other) const

Comparison operator.

inline bool operator!=(const Gain &other) const

Comparison operator.

inline bool operator<(const Gain &other) const

Comparison operator.

inline bool operator>(const Gain &other) const

Comparison operator.

inline bool operator<=(const Gain &other) const

Comparison operator.

inline bool operator>=(const Gain &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for Gain.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Acquisition/Gain"}

The full path for this value.

static constexpr const char *name = {"Gain"}

The name of this value.

static constexpr const char * description   = { R"description(Analog gain in the camera.)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Gain &value)

Operator to serialize the value to a stream.

class Acquisitions

List of Acquisition objects.

Public Types

using ValueType = std::vector<Settings::Acquisition>

The type of the underlying value.

using Iterator = std::vector<Settings::Acquisition>::iterator

Iterator type for Acquisitions.

using ConstIterator = std::vector<Settings::Acquisition>::const_iterator

Constant iterator type for Acquisitions.

Public Functions

Acquisitions() = default

Default constructor.

inline explicit Acquisitions(std::vector<Settings::Acquisition> value)

Constructor.

inline explicit Acquisitions(std::initializer_list<Settings::Acquisition> value)

Constructor.

const std::vector<Settings::Acquisition> &value() const

Get the value.

std::string toString() const

Get the value as string.

std::size_t size() const noexcept

Get the size of the list.

bool isEmpty() const noexcept

Check if the list is empty.

template<typename ...Args>
inline void emplaceBack(Args&&... args)

Appends a new element to the end of the list.

The new element is constructed in-place. The provided arguments Args are forwarded to the constructor of Settings::Acquisition. Invoking this method may invalidate all references to elements in the list.

Settings::Acquisition &at(std::size_t pos)

Returns a reference to the element at position pos in the list.

This function checks that pos is within the bounds (from 0 to size - 1). If pos is not within bounds an exception is thrown.

const Settings::Acquisition &at(std::size_t pos) const

Returns a const reference to the element at position pos in the list.

This function checks that pos is within the bounds (from 0 to size - 1). If pos is not within bounds an exception is thrown.

Settings::Acquisition &operator[](std::size_t pos)

Returns a reference to the element at position pos in the list.

pos must be within the bounds (from 0 to size - 1). No bounds checking is performed. at(size_t) will check the bounds and throw an exception if pos it out of bounds.

const Settings::Acquisition &operator[](std::size_t pos) const

Returns a const reference to the element at position pos in the list.

pos must be within the bounds (from 0 to size - 1). No bounds checking is performed. at(size_t) const will check the bounds and throw an exception if pos it out of bounds.

template<typename F>
inline void forEach(const F &f)

Run the given function on each element in the list.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each element in the list.

Iterator begin() noexcept

Returns an iterator to the first element of the list.

Iterator end() noexcept

Returns an iterator to the element following the last element of the list.

ConstIterator begin() const noexcept

Returns a constant iterator to the first element of the list.

ConstIterator end() const noexcept

Returns a constant iterator to the element following the last element of the list.

ConstIterator cbegin() const noexcept

Returns a constant iterator to the first element of the list.

ConstIterator cend() const noexcept

Returns a constant iterator to the element following the last element of the list.

inline bool operator==(const Acquisitions &other) const

Comparison operator.

inline bool operator!=(const Acquisitions &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<ValueType::size_type> validSize()

The valid sizes for Acquisitions.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafDataModelList

The type of this node.

static constexpr const char *path = {"Acquisitions"}

The full path for this value.

static constexpr const char *name = {"Acquisitions"}

The name of this value.

static constexpr const char * description   = { R"description(List of Acquisition objects.)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Acquisitions &value)

Operator to serialize the value to a stream.

class Color

Specify the settings used for the 2D color image when doing a 2D+3D capture.

The value type of this node is a Zivid::Settings2D object.

This setting was introduced in SDK 2.14, as the recommended way to define the acquisition and processing settings for the 2D color image when doing 2D+3D captures.

When this setting is set, it controls how the 2D color image of the 2D+3D capture is acquired and processed. This setting can be used to specify custom acquisition and processing settings that apply only to the 2D color image. These provided settings does not affect the 3D acquisition or processing.

When this setting is not set, then the 2D color image is acquired based on Settings/Acquisitions and Settings/Sampling/Color, and processed based on Settings/Processing/Color. If Settings/Sampling/Color is set to disabled, then no 2D color image is acquired. This behavior is to be consistent with SDK 2.13 and earlier.

In the next SDK major version, SDK 3.0, only this Color setting will control the 2D color image settings. The Settings/Sampling/Color and Settings/Processing/Color settings are deprecated as of 2.14, and will be removed from the API in SDK 3.0. Zivid recommends all users to use Settings/Color to define the 2D color image settings. Tip: If you want to convert an existing settings.yml file to use Settings/Color, you can import the .yml file into Zivid Studio and then re-export it to .yml.

Public Types

using ValueType = Zivid::Settings2D

The type of the underlying value.

Public Functions

Color() = default

Default constructor.

inline explicit Color(Zivid::Settings2D value)

Constructor.

const Zivid::Settings2D &value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

Zivid::Settings2D &value()

Get a mutable reference to the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Color &other) const

Comparison operator.

inline bool operator!=(const Color &other) const

Comparison operator.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Color"}

The full path for this value.

static constexpr const char *name = {"Color"}

The name of this value.

static constexpr const char * description  {R"description(Specify the settings used for the 2Dcolor image when doing a 2D+3D capture. The valuetype of this nodeis a `Zivid::Settings2D` object.This setting was introduced in SDK 2.14, as the recommended way to define the acquisition andprocessing settings for the 2D colorimage when doing 2D+3D captures.When this setting isset, it controls how the 2D colorimage of the 2D+3D capture is acquired and processed.This setting can be used to specify custom acquisition andprocessing settings that apply only to the 2D colorimage. These provided settings does not affect the 3D acquisition or processing.When this setting is notset, then the 2D color image is acquired based on `Settings/Acquisitions` and`Settings/Sampling/Color`, and processed based on `Settings/Processing/Color`. If `Settings/Sampling/Color`isset to `disabled`, then no 2D colorimage is acquired. This behavior is to be consistent with SDK 2.13and earlier.In the next SDK majorversion, SDK 3.0, only this `Color` setting will control the 2D colorimage settings.The `Settings/Sampling/Color` and `Settings/Processing/Color` settings are deprecated as of 2.14, and willbe removed from the API in SDK 3.0. Zivid recommends all users to use `Settings/Color` to define the 2D color image settings. Tip: If you want to convert an existing settings.yml file to use `Settings/Color`,you can import the .yml file into Zivid Studio and then re-export it to .yml.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Color &value)

Operator to serialize the value to a stream.

class Diagnostics

When Diagnostics is enabled, additional diagnostic data is recorded during capture and included when saving the frame to a .zdf file.

This enables Zivid’s Customer Success team to provide better assistance and more thorough troubleshooting.

Enabling Diagnostics increases the capture time and the RAM usage. It will also increase the size of the .zdf file. It is recommended to enable Diagnostics only when reporting issues to Zivid’s support team.

Public Functions

Diagnostics()

Default constructor.

template<typename ...Args>
inline explicit Diagnostics(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Diagnostics then invoking set(args).

The provided arguments must be descendants of Diagnostics. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Diagnostics. These types can be provided:

template<typename ...Args>
inline Diagnostics copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Diagnostics object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Diagnostics. These types can be provided:

inline const Enabled &isEnabled() const

Get Enabled.

inline Enabled &isEnabled()

Get Enabled.

inline Diagnostics &set(const Enabled &value)

Set Enabled.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Diagnostics &other) const

Equality operator.

bool operator!=(const Diagnostics &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Diagnostics"}

The full path for this value.

static constexpr const char *name = {"Diagnostics"}

The name of this value.

static constexpr const char * description  {R"description(WhenDiagnosticsis enabled, additional diagnostic data is recorded during capture and included when savingtheframeto a .zdf file. This enables Zivid's Customer Success team to provide better assistance and morethorough troubleshooting.EnablingDiagnosticsincreases the capture time and the RAM usage. It will also increase the size of the.zdf file. It is recommended to enableDiagnosticsonly when reporting issues to Zivid's support team.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Diagnostics &value)

Operator to send the value as string to a stream.

class Enabled

Enable or disable diagnostics.

Public Types

using ValueType = bool

The type of the underlying value.

Public Functions

Enabled() = default

Default constructor.

inline explicit constexpr Enabled(bool value)

Constructor.

bool value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Enabled &other) const

Comparison operator.

inline bool operator!=(const Enabled &other) const

Comparison operator.

Public Static Functions

static inline std::set<bool> validValues()

All valid values of Enabled.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Diagnostics/Enabled"}

The full path for this value.

static constexpr const char *name = {"Enabled"}

The name of this value.

static constexpr const char * description   = { R"description(Enable or disable diagnostics.)description" }

The description for this value.

static const Enabled yes

On/enabled.

static const Enabled no

Off/disabled.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Enabled &value)

Operator to serialize the value to a stream.

class Engine

Set the Zivid Vision Engine to use.

The Phase Engine is the fastest choice in terms of both acquisition time and total capture time, and is a good compromise between quality and speed. The Phase Engine is recommended for objects that are diffuse, opaque, and slightly specular, and is suitable for applications in logistics such as parcel induction.

The Stripe Engine is built for exceptional point cloud quality in scenes with highly specular reflective objects. This makes the engine suitable for applications such as factory automation, manufacturing, and bin picking. Additional acquisition and processing time are required for the Stripe Engine.

The Omni Engine is built for exceptional point cloud quality on all scenes, including scenes with extremely specular reflective objects, as well as transparent objects. This makes the Omni Engine suitable for applications such as piece picking. Same as for the Stripe Engine, it trades off speed for quality. The Omni Engine is only available for Zivid 2+ and Zivid 2+R.

The Sage engine is built for use cases that require all points to be correct/accurate with particularly high confidence. This can be very suitable for eliminating problems such as reflection artifacts. This validation comes at the cost of speed, and sometimes reduced number of valid points due to the removal of low-confidence data. The Sage Engine is only available for Zivid 2+R.

Public Types

enum class ValueType

The type of the underlying value.

Values:

enumerator phase
enumerator stripe
enumerator omni
enumerator sage

Public Functions

Engine() = default

Default constructor.

inline explicit constexpr Engine(ValueType value)

Constructor.

ValueType value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Engine &other) const

Comparison operator.

inline bool operator!=(const Engine &other) const

Comparison operator.

Public Static Functions

static inline std::set<ValueType> validValues()

All valid values of Engine.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Engine"}

The full path for this value.

static constexpr const char *name = {"Engine"}

The name of this value.

static constexpr const char * description   = { R"description(Set the Zivid Vision Engineto use.The PhaseEngineis the fastest choice in terms of both acquisition time and total capturetime, and is a good compromise between quality and speed. The PhaseEngineis recommended forobjects that are diffuse, opaque, and slightly specular, and is suitable for applications inlogistics such as parcel induction.The StripeEngineis built for exceptional point cloud quality in scenes with highly specularreflective objects. This makes theenginesuitable for applications such as factory automation,manufacturing, and bin picking. Additional acquisition andprocessingtime are required forthe Stripe Engine.The OmniEngineis built for exceptional point cloud quality on all scenes, including sceneswith extremely specular reflective objects, as well as transparent objects. This makes the OmniEngine suitable for applications such as piece picking. Same as for the Stripe Engine, it tradesoff speed for quality. The OmniEngineis only available for Zivid 2+ and Zivid 2+R.The Sageengineis built for use cases that require all points to be correct/accurate withparticularly high confidence. This can be very suitable for eliminating problems such asreflection artifacts. This validation comes at the cost of speed, and sometimes reduced numberof valid points due to the removal of low-confidence data. The SageEngineis only availablefor Zivid 2+R.)description" }

The description for this value.

static const Engine phase

phase

static const Engine stripe

stripe

static const Engine omni

omni

static const Engine sage

sage

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Engine::ValueType &value)

Operator to serialize ValueType to a stream.

inline friend std::ostream &operator<<(std::ostream &stream, const Engine &value)

Operator to serialize the value to a stream.

class Processing

Settings related to processing of a capture, including filters and color balance.

Public Functions

Processing()

Default constructor.

template<typename ...Args>
inline explicit Processing(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Processing then invoking set(args).

The provided arguments must be descendants of Processing. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Processing. These types can be provided:

template<typename ...Args>
inline Processing copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Processing object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Processing. These types can be provided:

inline const Color &color() const

Get Color.

inline Color &color()

Get Color.

inline Processing &set(const Color &value)

Set Color.

inline Processing &set(const Color::Balance &value)

Set Color::Balance.

inline Processing &set(const Color::Balance::Blue &value)

Set Color::Balance::Blue.

inline Processing &set(const Color::Balance::Green &value)

Set Color::Balance::Green.

inline Processing &set(const Color::Balance::Red &value)

Set Color::Balance::Red.

inline Processing &set(const Color::Experimental &value)

Set Color::Experimental.

inline Processing &set(const Color::Experimental::Mode &value)

Set Color::Experimental::Mode.

inline Processing &set(const Color::Gamma &value)

Set Color::Gamma.

inline const Filters &filters() const

Get Filters.

inline Filters &filters()

Get Filters.

inline Processing &set(const Filters &value)

Set Filters.

inline Processing &set(const Filters::Cluster &value)

Set Filters::Cluster.

inline Processing &set(const Filters::Cluster::Removal &value)

Set Filters::Cluster::Removal.

inline Processing &set(const Filters::Cluster::Removal::Enabled &value)

Set Filters::Cluster::Removal::Enabled.

inline Processing &set(const Filters::Cluster::Removal::MaxNeighborDistance &value)

Set Filters::Cluster::Removal::MaxNeighborDistance.

inline Processing &set(const Filters::Cluster::Removal::MinArea &value)

Set Filters::Cluster::Removal::MinArea.

inline Processing &set(const Filters::Experimental &value)

Set Filters::Experimental.

inline Processing &set(const Filters::Experimental::ContrastDistortion &value)

Set Filters::Experimental::ContrastDistortion.

inline Processing &set(const Filters::Experimental::ContrastDistortion::Correction &value)

Set Filters::Experimental::ContrastDistortion::Correction.

inline Processing &set(const Filters::Experimental::ContrastDistortion::Correction::Enabled &value)

Set Filters::Experimental::ContrastDistortion::Correction::Enabled.

inline Processing &set(const Filters::Experimental::ContrastDistortion::Correction::Strength &value)

Set Filters::Experimental::ContrastDistortion::Correction::Strength.

inline Processing &set(const Filters::Experimental::ContrastDistortion::Removal &value)

Set Filters::Experimental::ContrastDistortion::Removal.

inline Processing &set(const Filters::Experimental::ContrastDistortion::Removal::Enabled &value)

Set Filters::Experimental::ContrastDistortion::Removal::Enabled.

inline Processing &set(const Filters::Experimental::ContrastDistortion::Removal::Threshold &value)

Set Filters::Experimental::ContrastDistortion::Removal::Threshold.

inline Processing &set(const Filters::Hole &value)

Set Filters::Hole.

inline Processing &set(const Filters::Hole::Repair &value)

Set Filters::Hole::Repair.

inline Processing &set(const Filters::Hole::Repair::Enabled &value)

Set Filters::Hole::Repair::Enabled.

inline Processing &set(const Filters::Hole::Repair::HoleSize &value)

Set Filters::Hole::Repair::HoleSize.

inline Processing &set(const Filters::Hole::Repair::Strictness &value)

Set Filters::Hole::Repair::Strictness.

inline Processing &set(const Filters::Noise &value)

Set Filters::Noise.

inline Processing &set(const Filters::Noise::Removal &value)

Set Filters::Noise::Removal.

inline Processing &set(const Filters::Noise::Removal::Enabled &value)

Set Filters::Noise::Removal::Enabled.

inline Processing &set(const Filters::Noise::Removal::Threshold &value)

Set Filters::Noise::Removal::Threshold.

inline Processing &set(const Filters::Noise::Repair &value)

Set Filters::Noise::Repair.

inline Processing &set(const Filters::Noise::Repair::Enabled &value)

Set Filters::Noise::Repair::Enabled.

inline Processing &set(const Filters::Noise::Suppression &value)

Set Filters::Noise::Suppression.

inline Processing &set(const Filters::Noise::Suppression::Enabled &value)

Set Filters::Noise::Suppression::Enabled.

inline Processing &set(const Filters::Outlier &value)

Set Filters::Outlier.

inline Processing &set(const Filters::Outlier::Removal &value)

Set Filters::Outlier::Removal.

inline Processing &set(const Filters::Outlier::Removal::Enabled &value)

Set Filters::Outlier::Removal::Enabled.

inline Processing &set(const Filters::Outlier::Removal::Threshold &value)

Set Filters::Outlier::Removal::Threshold.

inline Processing &set(const Filters::Reflection &value)

Set Filters::Reflection.

inline Processing &set(const Filters::Reflection::Removal &value)

Set Filters::Reflection::Removal.

inline Processing &set(const Filters::Reflection::Removal::Enabled &value)

Set Filters::Reflection::Removal::Enabled.

inline Processing &set(const Filters::Reflection::Removal::Mode &value)

Set Filters::Reflection::Removal::Mode.

inline Processing &set(const Filters::Smoothing &value)

Set Filters::Smoothing.

inline Processing &set(const Filters::Smoothing::Gaussian &value)

Set Filters::Smoothing::Gaussian.

inline Processing &set(const Filters::Smoothing::Gaussian::Enabled &value)

Set Filters::Smoothing::Gaussian::Enabled.

inline Processing &set(const Filters::Smoothing::Gaussian::Sigma &value)

Set Filters::Smoothing::Gaussian::Sigma.

inline const Resampling &resampling() const

Get Resampling.

inline Resampling &resampling()

Get Resampling.

inline Processing &set(const Resampling &value)

Set Resampling.

inline Processing &set(const Resampling::Mode &value)

Set Resampling::Mode.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Processing &other) const

Equality operator.

bool operator!=(const Processing &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing"}

The full path for this value.

static constexpr const char *name = {"Processing"}

The name of this value.

static constexpr const char * description  {R"description(Settings related to processing of a capture, including filters and colorbalance.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Processing &value)

Operator to send the value as string to a stream.

class Color

Color settings.

These settings are deprecated as of SDK 2.14. These settings will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a Settings2D object in the Settings/Color node. Tip: If you want to convert an existing settings.yml file to use the Settings/Color node, you can import the .yml file into Zivid Studio and then re-export it to .yml.

Public Functions

Color()

Default constructor.

template<typename ...Args>
inline explicit Color(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Color then invoking set(args).

The provided arguments must be descendants of Color. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Color. These types can be provided:

template<typename ...Args>
inline Color copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Color object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Color. These types can be provided:

inline const Balance &balance() const

Get Balance.

inline Balance &balance()

Get Balance.

inline Color &set(const Balance &value)

Set Balance.

inline Color &set(const Balance::Blue &value)

Set Balance::Blue.

inline Color &set(const Balance::Green &value)

Set Balance::Green.

inline Color &set(const Balance::Red &value)

Set Balance::Red.

inline const Experimental &experimental() const

Get Experimental.

inline Experimental &experimental()

Get Experimental.

inline Color &set(const Experimental &value)

Set Experimental.

inline Color &set(const Experimental::Mode &value)

Set Experimental::Mode.

inline const Gamma &gamma() const

Get Gamma.

inline Gamma &gamma()

Get Gamma.

inline Color &set(const Gamma &value)

Set Gamma.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Color &other) const

Equality operator.

bool operator!=(const Color &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Color"}

The full path for this value.

static constexpr const char *name = {"Color"}

The name of this value.

static constexpr const char * description   = { R"description(Colorsettings.These settings are deprecated as of SDK 2.14. These settings will be removed in the next SDK majorversion (SDK 3.0). The recommended way to do a 2D+3D capture is to set a `Settings2D` objectin the `Settings/Color` node. Tip: If you want to convert an existing settings.yml file to use the`Settings/Color` node, you can import the .yml file into Zivid Studio and then re-export it to .yml.)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Color &value)

Operator to send the value as string to a stream.

class Balance

Color balance settings.

Public Functions

Balance()

Default constructor.

template<typename ...Args>
inline explicit Balance(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Balance then invoking set(args).

The provided arguments must be descendants of Balance. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Balance. These types can be provided:

template<typename ...Args>
inline Balance copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Balance object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Balance. These types can be provided:

inline const Blue &blue() const

Get Blue.

inline Blue &blue()

Get Blue.

inline Balance &set(const Blue &value)

Set Blue.

inline const Green &green() const

Get Green.

inline Green &green()

Get Green.

inline Balance &set(const Green &value)

Set Green.

inline const Red &red() const

Get Red.

inline Red &red()

Get Red.

inline Balance &set(const Red &value)

Set Red.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Balance &other) const

Equality operator.

bool operator!=(const Balance &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Color/Balance"}

The full path for this value.

static constexpr const char *name = {"Balance"}

The name of this value.

static constexpr const char * description   = { R"description(Color balance settings.)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Balance &value)

Operator to send the value as string to a stream.

class Blue

Digital gain applied to blue channel.

This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a Settings2D object in the Settings/Color node. Tip: If you want to convert an existing settings.yml file to use the Settings/Color node, you can import the .yml file into Zivid Studio and then re-export it to .yml.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

Blue() = default

Default constructor.

inline explicit constexpr Blue(double value)

Constructor.

double value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Blue &other) const

Comparison operator.

inline bool operator!=(const Blue &other) const

Comparison operator.

inline bool operator<(const Blue &other) const

Comparison operator.

inline bool operator>(const Blue &other) const

Comparison operator.

inline bool operator<=(const Blue &other) const

Comparison operator.

inline bool operator>=(const Blue &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for Blue.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Color/Balance/Blue"}

The full path for this value.

static constexpr const char *name = {"Blue"}

The name of this value.

static constexpr const char * description   = { R"description(Digital gain applied to bluechannel.This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK majorversion (SDK 3.0). The recommended way to do a 2D+3D capture is to set a `Settings2D` objectin the `Settings/Color` node. Tip: If you want to convert an existing settings.yml file to usethe `Settings/Color` node, you can import the .yml file into Zivid Studio and then re-export itto .yml.)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Blue &value)

Operator to serialize the value to a stream.

class Green

Digital gain applied to green channel.

This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a Settings2D object in the Settings/Color node. Tip: If you want to convert an existing settings.yml file to use the Settings/Color node, you can import the .yml file into Zivid Studio and then re-export it to .yml.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

Green() = default

Default constructor.

inline explicit constexpr Green(double value)

Constructor.

double value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Green &other) const

Comparison operator.

inline bool operator!=(const Green &other) const

Comparison operator.

inline bool operator<(const Green &other) const

Comparison operator.

inline bool operator>(const Green &other) const

Comparison operator.

inline bool operator<=(const Green &other) const

Comparison operator.

inline bool operator>=(const Green &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for Green.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Color/Balance/Green"}

The full path for this value.

static constexpr const char *name = {"Green"}

The name of this value.

static constexpr const char * description   = { R"description(Digital gain applied to greenchannel.This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK majorversion (SDK 3.0). The recommended way to do a 2D+3D capture is to set a `Settings2D` objectin the `Settings/Color` node. Tip: If you want to convert an existing settings.yml file to usethe `Settings/Color` node, you can import the .yml file into Zivid Studio and then re-export itto .yml.)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Green &value)

Operator to serialize the value to a stream.

class Red

Digital gain applied to red channel.

This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a Settings2D object in the Settings/Color node. Tip: If you want to convert an existing settings.yml file to use the Settings/Color node, you can import the .yml file into Zivid Studio and then re-export it to .yml.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

Red() = default

Default constructor.

inline explicit constexpr Red(double value)

Constructor.

double value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Red &other) const

Comparison operator.

inline bool operator!=(const Red &other) const

Comparison operator.

inline bool operator<(const Red &other) const

Comparison operator.

inline bool operator>(const Red &other) const

Comparison operator.

inline bool operator<=(const Red &other) const

Comparison operator.

inline bool operator>=(const Red &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for Red.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Color/Balance/Red"}

The full path for this value.

static constexpr const char *name = {"Red"}

The name of this value.

static constexpr const char * description   = { R"description(Digital gain applied to redchannel.This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK majorversion (SDK 3.0). The recommended way to do a 2D+3D capture is to set a `Settings2D` objectin the `Settings/Color` node. Tip: If you want to convert an existing settings.yml file to usethe `Settings/Color` node, you can import the .yml file into Zivid Studio and then re-export itto .yml.)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Red &value)

Operator to serialize the value to a stream.

class Experimental

Experimental color settings. These may be renamed, moved or deleted in the future.

Public Functions

Experimental()

Default constructor.

template<typename ...Args>
inline explicit Experimental(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Experimental then invoking set(args).

The provided arguments must be descendants of Experimental. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Experimental. These types can be provided:

template<typename ...Args>
inline Experimental copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Experimental object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Experimental. These types can be provided:

inline const Mode &mode() const

Get Mode.

inline Mode &mode()

Get Mode.

inline Experimental &set(const Mode &value)

Set Mode.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Experimental &other) const

Equality operator.

bool operator!=(const Experimental &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Color/Experimental"}

The full path for this value.

static constexpr const char *name = {"Experimental"}

The name of this value.

static constexpr const char * description  {R"description(Experimental colorsettings. These may be renamed, moved or deleted in the future.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Experimental &value)

Operator to send the value as string to a stream.

class Mode

This setting controls how the color image is computed.

automatic is the default option. automatic is identical to useFirstAcquisition for single-acquisition captures and multi-acquisition captures when all the acquisitions have identical (duplicated) acquisition settings. automatic is identical to toneMapping for multi-acquisition HDR captures with differing acquisition settings.

useFirstAcquisition uses the color data acquired from the first acquisition provided. If the capture consists of more than one acquisition, then the remaining acquisitions are not used for the color image. No tone mapping is performed. This option provides the most control of the color image, and the color values will be consistent over repeated captures with the same settings.

toneMapping uses all the acquisitions to create one merged and normalized color image. For HDR captures the dynamic range of the captured images is usually higher than the 8-bit color image range. toneMapping will map the HDR color data to the 8-bit color output range by applying a scaling factor. toneMapping can also be used for single-acquisition captures to normalize the captured color image to the full 8-bit output. Note that when using toneMapping mode the color values can be inconsistent over repeated captures if you move, add or remove objects in the scene. For the most control over the colors, select the useFirstAcquisition mode.

This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a Settings2D object in the Settings/Color node. Tip: If you want to convert an existing settings.yml file to use the Settings/Color node, you can import the .yml file into Zivid Studio and then re-export it to .yml.

Public Types

enum class ValueType

The type of the underlying value.

Values:

enumerator automatic
enumerator useFirstAcquisition
enumerator toneMapping

Public Functions

Mode() = default

Default constructor.

inline explicit constexpr Mode(ValueType value)

Constructor.

ValueType value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Mode &other) const

Comparison operator.

inline bool operator!=(const Mode &other) const

Comparison operator.

Public Static Functions

static inline std::set<ValueType> validValues()

All valid values of Mode.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Color/Experimental/Mode"}

The full path for this value.

static constexpr const char *name = {"Mode"}

The name of this value.

static constexpr const char * description  {R"description(This setting controls how thecolorimage is computed.`automatic` is the default option. `automatic` is identical to `useFirstAcquisition` forsingle-acquisition captures and multi-acquisition captures when all theacquisitionshaveidentical (duplicated) acquisition settings. `automatic` is identical to `toneMapping` formulti-acquisition HDR captures with differing acquisition settings.`useFirstAcquisition` uses the colordata acquired from the first acquisition provided. Ifthe capture consists of more than one acquisition, then the remainingacquisitionsare not usedfor thecolorimage. No tone mapping is performed. This option provides the most control ofthecolor image, and the colorvalues will be consistent over repeated captures with the samesettings.`toneMapping` uses all the acquisitions to create one merged and normalized colorimage. ForHDR captures the dynamic range of the captured images is usually higher than the 8-bitcolor image range. `toneMapping` will map the HDR color data to the 8-bit coloroutput range byapplying a scaling factor. `toneMapping` can also be used for single-acquisition captures tonormalize the capturedcolor image to the full 8-bit output. Note that when using `toneMapping` mode the colorvalues can be inconsistent over repeated captures if you move, add or removeobjects in the scene. For the most control over the colors, select the `useFirstAcquisition`mode.This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK majorversion (SDK 3.0). The recommended way to do a 2D+3D capture is to set a `Settings2D` objectin the `Settings/Color` node. Tip: If you want to convert an existing settings.yml file to usethe `Settings/Color` node, you can import the .yml file into Zivid Studio and then re-export itto .yml.)description"}

The description for this value.

static const Mode automatic

automatic

static const Mode useFirstAcquisition

useFirstAcquisition

static const Mode toneMapping

toneMapping

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Mode::ValueType &value)

Operator to serialize ValueType to a stream.

inline friend std::ostream &operator<<(std::ostream &stream, const Mode &value)

Operator to serialize the value to a stream.

class Gamma

Gamma applied to the color values.

Gamma less than 1 makes the colors brighter, while gamma greater than 1 makes the colors darker.

This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a Settings2D object in the Settings/Color node. Tip: If you want to convert an existing settings.yml file to use the Settings/Color node, you can import the .yml file into Zivid Studio and then re-export it to .yml.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

Gamma() = default

Default constructor.

inline explicit constexpr Gamma(double value)

Constructor.

double value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Gamma &other) const

Comparison operator.

inline bool operator!=(const Gamma &other) const

Comparison operator.

inline bool operator<(const Gamma &other) const

Comparison operator.

inline bool operator>(const Gamma &other) const

Comparison operator.

inline bool operator<=(const Gamma &other) const

Comparison operator.

inline bool operator>=(const Gamma &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for Gamma.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Color/Gamma"}

The full path for this value.

static constexpr const char *name = {"Gamma"}

The name of this value.

static constexpr const char * description  {R"description(Gamma applied to the color values. Gamma less than 1 makes the colors brighter, while gammagreater than 1 makes the colors darker.This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK majorversion (SDK 3.0). The recommended way to do a 2D+3D capture is to set a `Settings2D` objectin the `Settings/Color` node. Tip: If you want to convert an existing settings.yml file to usethe `Settings/Color` node, you can import the .yml file into Zivid Studio and then re-export itto .yml.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Gamma &value)

Operator to serialize the value to a stream.

class Filters

Filter settings.

Public Functions

Filters()

Default constructor.

template<typename ...Args>
inline explicit Filters(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Filters then invoking set(args).

The provided arguments must be descendants of Filters. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Filters. These types can be provided:

template<typename ...Args>
inline Filters copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Filters object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Filters. These types can be provided:

inline const Cluster &cluster() const

Get Cluster.

inline Cluster &cluster()

Get Cluster.

inline Filters &set(const Cluster &value)

Set Cluster.

inline Filters &set(const Cluster::Removal &value)

Set Cluster::Removal.

inline Filters &set(const Cluster::Removal::Enabled &value)

Set Cluster::Removal::Enabled.

inline Filters &set(const Cluster::Removal::MaxNeighborDistance &value)

Set Cluster::Removal::MaxNeighborDistance.

inline Filters &set(const Cluster::Removal::MinArea &value)

Set Cluster::Removal::MinArea.

inline const Experimental &experimental() const

Get Experimental.

inline Experimental &experimental()

Get Experimental.

inline Filters &set(const Experimental &value)

Set Experimental.

inline Filters &set(const Experimental::ContrastDistortion &value)

Set Experimental::ContrastDistortion.

inline Filters &set(const Experimental::ContrastDistortion::Correction &value)

Set Experimental::ContrastDistortion::Correction.

inline Filters &set(const Experimental::ContrastDistortion::Correction::Enabled &value)

Set Experimental::ContrastDistortion::Correction::Enabled.

inline Filters &set(const Experimental::ContrastDistortion::Correction::Strength &value)

Set Experimental::ContrastDistortion::Correction::Strength.

inline Filters &set(const Experimental::ContrastDistortion::Removal &value)

Set Experimental::ContrastDistortion::Removal.

inline Filters &set(const Experimental::ContrastDistortion::Removal::Enabled &value)

Set Experimental::ContrastDistortion::Removal::Enabled.

inline Filters &set(const Experimental::ContrastDistortion::Removal::Threshold &value)

Set Experimental::ContrastDistortion::Removal::Threshold.

inline const Hole &hole() const

Get Hole.

inline Hole &hole()

Get Hole.

inline Filters &set(const Hole &value)

Set Hole.

inline Filters &set(const Hole::Repair &value)

Set Hole::Repair.

inline Filters &set(const Hole::Repair::Enabled &value)

Set Hole::Repair::Enabled.

inline Filters &set(const Hole::Repair::HoleSize &value)

Set Hole::Repair::HoleSize.

inline Filters &set(const Hole::Repair::Strictness &value)

Set Hole::Repair::Strictness.

inline const Noise &noise() const

Get Noise.

inline Noise &noise()

Get Noise.

inline Filters &set(const Noise &value)

Set Noise.

inline Filters &set(const Noise::Removal &value)

Set Noise::Removal.

inline Filters &set(const Noise::Removal::Enabled &value)

Set Noise::Removal::Enabled.

inline Filters &set(const Noise::Removal::Threshold &value)

Set Noise::Removal::Threshold.

inline Filters &set(const Noise::Repair &value)

Set Noise::Repair.

inline Filters &set(const Noise::Repair::Enabled &value)

Set Noise::Repair::Enabled.

inline Filters &set(const Noise::Suppression &value)

Set Noise::Suppression.

inline Filters &set(const Noise::Suppression::Enabled &value)

Set Noise::Suppression::Enabled.

inline const Outlier &outlier() const

Get Outlier.

inline Outlier &outlier()

Get Outlier.

inline Filters &set(const Outlier &value)

Set Outlier.

inline Filters &set(const Outlier::Removal &value)

Set Outlier::Removal.

inline Filters &set(const Outlier::Removal::Enabled &value)

Set Outlier::Removal::Enabled.

inline Filters &set(const Outlier::Removal::Threshold &value)

Set Outlier::Removal::Threshold.

inline const Reflection &reflection() const

Get Reflection.

inline Reflection &reflection()

Get Reflection.

inline Filters &set(const Reflection &value)

Set Reflection.

inline Filters &set(const Reflection::Removal &value)

Set Reflection::Removal.

inline Filters &set(const Reflection::Removal::Enabled &value)

Set Reflection::Removal::Enabled.

inline Filters &set(const Reflection::Removal::Mode &value)

Set Reflection::Removal::Mode.

inline const Smoothing &smoothing() const

Get Smoothing.

inline Smoothing &smoothing()

Get Smoothing.

inline Filters &set(const Smoothing &value)

Set Smoothing.

inline Filters &set(const Smoothing::Gaussian &value)

Set Smoothing::Gaussian.

inline Filters &set(const Smoothing::Gaussian::Enabled &value)

Set Smoothing::Gaussian::Enabled.

inline Filters &set(const Smoothing::Gaussian::Sigma &value)

Set Smoothing::Gaussian::Sigma.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Filters &other) const

Equality operator.

bool operator!=(const Filters &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Filters"}

The full path for this value.

static constexpr const char *name = {"Filters"}

The name of this value.

static constexpr const char * description   = { R"description(Filter settings.)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Filters &value)

Operator to send the value as string to a stream.

class Cluster

Removes floating points and isolated clusters from the point cloud.

Public Functions

Cluster()

Default constructor.

template<typename ...Args>
inline explicit Cluster(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Cluster then invoking set(args).

The provided arguments must be descendants of Cluster. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Cluster. These types can be provided:

template<typename ...Args>
inline Cluster copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Cluster object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Cluster. These types can be provided:

inline const Removal &removal() const

Get Removal.

inline Removal &removal()

Get Removal.

inline Cluster &set(const Removal &value)

Set Removal.

inline Cluster &set(const Removal::Enabled &value)

Set Removal::Enabled.

inline Cluster &set(const Removal::MaxNeighborDistance &value)

Set Removal::MaxNeighborDistance.

inline Cluster &set(const Removal::MinArea &value)

Set Removal::MinArea.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Cluster &other) const

Equality operator.

bool operator!=(const Cluster &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Filters/Cluster"}

The full path for this value.

static constexpr const char *name = {"Cluster"}

The name of this value.

static constexpr const char * description  {R"description(Removes floating points and isolated clusters from the point cloud.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Cluster &value)

Operator to send the value as string to a stream.

class Removal

Cluster removal filter.

Public Functions

Removal()

Default constructor.

template<typename ...Args>
inline explicit Removal(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Removal then invoking set(args).

The provided arguments must be descendants of Removal. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Removal. These types can be provided:

template<typename ...Args>
inline Removal copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Removal object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Removal. These types can be provided:

inline const Enabled &isEnabled() const

Get Enabled.

inline Enabled &isEnabled()

Get Enabled.

inline Removal &set(const Enabled &value)

Set Enabled.

inline const MaxNeighborDistance &maxNeighborDistance() const

Get MaxNeighborDistance.

inline MaxNeighborDistance &maxNeighborDistance()

Get MaxNeighborDistance.

inline Removal &set(const MaxNeighborDistance &value)

Set MaxNeighborDistance.

inline const MinArea &minArea() const

Get MinArea.

inline MinArea &minArea()

Get MinArea.

inline Removal &set(const MinArea &value)

Set MinArea.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Removal &other) const

Equality operator.

bool operator!=(const Removal &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Filters/Cluster/Removal"}

The full path for this value.

static constexpr const char *name = {"Removal"}

The name of this value.

static constexpr const char * description   = { R"description(Cluster removal filter.)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Removal &value)

Operator to send the value as string to a stream.

class Enabled

Enable or disable cluster removal.

Public Types

using ValueType = bool

The type of the underlying value.

Public Functions

Enabled() = default

Default constructor.

inline explicit constexpr Enabled(bool value)

Constructor.

bool value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Enabled &other) const

Comparison operator.

inline bool operator!=(const Enabled &other) const

Comparison operator.

Public Static Functions

static inline std::set<bool> validValues()

All valid values of Enabled.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Filters/Cluster/Removal/Enabled"}

The full path for this value.

static constexpr const char *name = {"Enabled"}

The name of this value.

static constexpr const char * description  {R"description(Enable or disableclusterremoval.)description"}

The description for this value.

static const Enabled yes

On/enabled.

static const Enabled no

Off/disabled.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Enabled &value)

Operator to serialize the value to a stream.

class MaxNeighborDistance

Maximum normalized distance between neighboring points that are still classified as belonging to the same cluster.

The default value is optimal for most scenes. On messy scenes turning this setting down helps removing more bad points.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

MaxNeighborDistance() = default

Default constructor.

inline explicit constexpr MaxNeighborDistance(double value)

Constructor.

double value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const MaxNeighborDistance &other) const

Comparison operator.

inline bool operator!=(const MaxNeighborDistance &other) const

Comparison operator.

inline bool operator<(const MaxNeighborDistance &other) const

Comparison operator.

inline bool operator>(const MaxNeighborDistance &other) const

Comparison operator.

inline bool operator<=(const MaxNeighborDistance &other) const

Comparison operator.

inline bool operator>=(const MaxNeighborDistance &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for MaxNeighborDistance.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path{"Processing/Filters/Cluster/Removal/MaxNeighborDistance"}

The full path for this value.

static constexpr const char *name = {"MaxNeighborDistance"}

The name of this value.

static constexpr const char * description  {R"description(Maximum normalized distance between neighboring points that are still classified asbelonging to the same cluster. The defaultvalueis optimal for most scenes. On messyscenes turning this setting down helps removing more bad points.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const MaxNeighborDistance &value)

Operator to serialize the value to a stream.

class MinArea

Clusters with area below this threshold are removed by the filter.

The area is given in mm^2.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

MinArea() = default

Default constructor.

inline explicit constexpr MinArea(double value)

Constructor.

double value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const MinArea &other) const

Comparison operator.

inline bool operator!=(const MinArea &other) const

Comparison operator.

inline bool operator<(const MinArea &other) const

Comparison operator.

inline bool operator>(const MinArea &other) const

Comparison operator.

inline bool operator<=(const MinArea &other) const

Comparison operator.

inline bool operator>=(const MinArea &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for MinArea.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Filters/Cluster/Removal/MinArea"}

The full path for this value.

static constexpr const char *name = {"MinArea"}

The name of this value.

static constexpr const char * description  {R"description(Clusters with area below this threshold are removed by the filter.The area is given in mm^2.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const MinArea &value)

Operator to serialize the value to a stream.

class Experimental

Experimental filters. These may be renamed, moved or deleted in the future.

Public Functions

Experimental()

Default constructor.

template<typename ...Args>
inline explicit Experimental(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Experimental then invoking set(args).

The provided arguments must be descendants of Experimental. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Experimental. These types can be provided:

template<typename ...Args>
inline Experimental copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Experimental object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Experimental. These types can be provided:

inline const ContrastDistortion &contrastDistortion() const

Get ContrastDistortion.

inline ContrastDistortion &contrastDistortion()

Get ContrastDistortion.

inline Experimental &set(const ContrastDistortion &value)

Set ContrastDistortion.

inline Experimental &set(const ContrastDistortion::Correction &value)

Set ContrastDistortion::Correction.

inline Experimental &set(const ContrastDistortion::Correction::Enabled &value)

Set ContrastDistortion::Correction::Enabled.

inline Experimental &set(const ContrastDistortion::Correction::Strength &value)

Set ContrastDistortion::Correction::Strength.

inline Experimental &set(const ContrastDistortion::Removal &value)

Set ContrastDistortion::Removal.

inline Experimental &set(const ContrastDistortion::Removal::Enabled &value)

Set ContrastDistortion::Removal::Enabled.

inline Experimental &set(const ContrastDistortion::Removal::Threshold &value)

Set ContrastDistortion::Removal::Threshold.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Experimental &other) const

Equality operator.

bool operator!=(const Experimental &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Filters/Experimental"}

The full path for this value.

static constexpr const char *name = {"Experimental"}

The name of this value.

static constexpr const char * description  {R"description(Experimentalfilters. These may be renamed, moved or deleted in the future.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Experimental &value)

Operator to send the value as string to a stream.

class ContrastDistortion

Corrects artifacts that appear when imaging scenes with large texture gradients or high contrast.

These artifacts are caused by blurring in the lens. The filter works best when aperture values are chosen such that the camera has quite good focus. The filter also supports removing the points that experience a large correction.

Public Functions

ContrastDistortion()

Default constructor.

template<typename ...Args>
inline explicit ContrastDistortion(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing ContrastDistortion then invoking set(args).

The provided arguments must be descendants of ContrastDistortion. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of ContrastDistortion. These types can be provided:

template<typename ...Args>
inline ContrastDistortion copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this ContrastDistortion object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of ContrastDistortion. These types can be provided:

inline const Correction &correction() const

Get Correction.

inline Correction &correction()

Get Correction.

inline ContrastDistortion &set(const Correction &value)

Set Correction.

inline ContrastDistortion &set(const Correction::Enabled &value)

Set Correction::Enabled.

inline ContrastDistortion &set(const Correction::Strength &value)

Set Correction::Strength.

inline const Removal &removal() const

Get Removal.

inline Removal &removal()

Get Removal.

inline ContrastDistortion &set(const Removal &value)

Set Removal.

inline ContrastDistortion &set(const Removal::Enabled &value)

Set Removal::Enabled.

inline ContrastDistortion &set(const Removal::Threshold &value)

Set Removal::Threshold.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const ContrastDistortion &other) const

Equality operator.

bool operator!=(const ContrastDistortion &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Filters/Experimental/ContrastDistortion"}

The full path for this value.

static constexpr const char *name = {"ContrastDistortion"}

The name of this value.

static constexpr const char * description  {R"description(Corrects artifacts that appear when imaging scenes with large texture gradientsor high contrast. These artifacts are caused by blurring in the lens. The filterworks best when aperture values are chosen such that the camera has quite good focus.The filter also supports removing the points that experience a large correction.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const ContrastDistortion &value)

Operator to send the value as string to a stream.

class Correction

Contrast distortion correction filter.

Public Functions

Correction()

Default constructor.

template<typename ...Args>
inline explicit Correction(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Correction then invoking set(args).

The provided arguments must be descendants of Correction. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Correction. These types can be provided:

template<typename ...Args>
inline Correction copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Correction object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Correction. These types can be provided:

inline const Enabled &isEnabled() const

Get Enabled.

inline Enabled &isEnabled()

Get Enabled.

inline Correction &set(const Enabled &value)

Set Enabled.

inline const Strength &strength() const

Get Strength.

inline Strength &strength()

Get Strength.

inline Correction &set(const Strength &value)

Set Strength.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Correction &other) const

Equality operator.

bool operator!=(const Correction &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path{"Processing/Filters/Experimental/ContrastDistortion/Correction"}

The full path for this value.

static constexpr const char *name = {"Correction"}

The name of this value.

static constexpr const char * description  {R"description(Contrast distortioncorrectionfilter.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Correction &value)

Operator to send the value as string to a stream.

class Enabled

Enable or disable contrast distortion correction.

Public Types

using ValueType = bool

The type of the underlying value.

Public Functions

Enabled() = default

Default constructor.

inline explicit constexpr Enabled(bool value)

Constructor.

bool value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Enabled &other) const

Comparison operator.

inline bool operator!=(const Enabled &other) const

Comparison operator.

Public Static Functions

static inline std::set<bool> validValues()

All valid values of Enabled.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path{"Processing/Filters/Experimental/ContrastDistortion/Correction/Enabled"}

The full path for this value.

static constexpr const char *name = {"Enabled"}

The name of this value.

static constexpr const char * description  {R"description(Enable or disable contrast distortion correction.)description"}

The description for this value.

static const Enabled yes

On/enabled.

static const Enabled no

Off/disabled.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Enabled &value)

Operator to serialize the value to a stream.

class Strength

Strength of correction. Higher values give more correction.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

Strength() = default

Default constructor.

inline explicit constexpr Strength(double value)

Constructor.

double value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Strength &other) const

Comparison operator.

inline bool operator!=(const Strength &other) const

Comparison operator.

inline bool operator<(const Strength &other) const

Comparison operator.

inline bool operator>(const Strength &other) const

Comparison operator.

inline bool operator<=(const Strength &other) const

Comparison operator.

inline bool operator>=(const Strength &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for Strength.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path{"Processing/Filters/Experimental/ContrastDistortion/Correction/Strength"}

The full path for this value.

static constexpr const char *name = {"Strength"}

The name of this value.

static constexpr const char * description  {R"description(Strengthof correction. Higher values give more correction.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Strength &value)

Operator to serialize the value to a stream.

class Removal

Contrast distortion removal filter.

Public Functions

Removal()

Default constructor.

template<typename ...Args>
inline explicit Removal(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Removal then invoking set(args).

The provided arguments must be descendants of Removal. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Removal. These types can be provided:

template<typename ...Args>
inline Removal copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Removal object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Removal. These types can be provided:

inline const Enabled &isEnabled() const

Get Enabled.

inline Enabled &isEnabled()

Get Enabled.

inline Removal &set(const Enabled &value)

Set Enabled.

inline const Threshold &threshold() const

Get Threshold.

inline Threshold &threshold()

Get Threshold.

inline Removal &set(const Threshold &value)

Set Threshold.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Removal &other) const

Equality operator.

bool operator!=(const Removal &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path{"Processing/Filters/Experimental/ContrastDistortion/Removal"}

The full path for this value.

static constexpr const char *name = {"Removal"}

The name of this value.

static constexpr const char * description  {R"description(Contrast distortionremovalfilter.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Removal &value)

Operator to send the value as string to a stream.

class Enabled

Enable or disable contrast distortion removal.

Public Types

using ValueType = bool

The type of the underlying value.

Public Functions

Enabled() = default

Default constructor.

inline explicit constexpr Enabled(bool value)

Constructor.

bool value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Enabled &other) const

Comparison operator.

inline bool operator!=(const Enabled &other) const

Comparison operator.

Public Static Functions

static inline std::set<bool> validValues()

All valid values of Enabled.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path{"Processing/Filters/Experimental/ContrastDistortion/Removal/Enabled"}

The full path for this value.

static constexpr const char *name = {"Enabled"}

The name of this value.

static constexpr const char * description  {R"description(Enable or disable contrast distortion removal.)description"}

The description for this value.

static const Enabled yes

On/enabled.

static const Enabled no

Off/disabled.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Enabled &value)

Operator to serialize the value to a stream.

class Threshold

Threshold for removal. Higher values remove more points.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

Threshold() = default

Default constructor.

inline explicit constexpr Threshold(double value)

Constructor.

double value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Threshold &other) const

Comparison operator.

inline bool operator!=(const Threshold &other) const

Comparison operator.

inline bool operator<(const Threshold &other) const

Comparison operator.

inline bool operator>(const Threshold &other) const

Comparison operator.

inline bool operator<=(const Threshold &other) const

Comparison operator.

inline bool operator>=(const Threshold &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for Threshold.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path{"Processing/Filters/Experimental/ContrastDistortion/Removal/Threshold"}

The full path for this value.

static constexpr const char *name = {"Threshold"}

The name of this value.

static constexpr const char * description  {R"description(Thresholdfor removal. Higher values remove more points.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Threshold &value)

Operator to serialize the value to a stream.

class Hole

Contains filters that can be used to deal with holes in the point cloud.

Public Functions

Hole()

Default constructor.

template<typename ...Args>
inline explicit Hole(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Hole then invoking set(args).

The provided arguments must be descendants of Hole. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Hole. These types can be provided:

template<typename ...Args>
inline Hole copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Hole object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Hole. These types can be provided:

inline const Repair &repair() const

Get Repair.

inline Repair &repair()

Get Repair.

inline Hole &set(const Repair &value)

Set Repair.

inline Hole &set(const Repair::Enabled &value)

Set Repair::Enabled.

inline Hole &set(const Repair::HoleSize &value)

Set Repair::HoleSize.

inline Hole &set(const Repair::Strictness &value)

Set Repair::Strictness.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Hole &other) const

Equality operator.

bool operator!=(const Hole &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Filters/Hole"}

The full path for this value.

static constexpr const char *name = {"Hole"}

The name of this value.

static constexpr const char * description  {R"description(Containsfiltersthat can be used to deal with holes in the point cloud.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Hole &value)

Operator to send the value as string to a stream.

class Repair

Fills in point cloud holes by interpolating remaining surrounding points.

Public Functions

Repair()

Default constructor.

template<typename ...Args>
inline explicit Repair(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Repair then invoking set(args).

The provided arguments must be descendants of Repair. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Repair. These types can be provided:

template<typename ...Args>
inline Repair copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Repair object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Repair. These types can be provided:

inline const Enabled &isEnabled() const

Get Enabled.

inline Enabled &isEnabled()

Get Enabled.

inline Repair &set(const Enabled &value)

Set Enabled.

inline const HoleSize &holeSize() const

Get HoleSize.

inline HoleSize &holeSize()

Get HoleSize.

inline Repair &set(const HoleSize &value)

Set HoleSize.

inline const Strictness &strictness() const

Get Strictness.

inline Strictness &strictness()

Get Strictness.

inline Repair &set(const Strictness &value)

Set Strictness.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Repair &other) const

Equality operator.

bool operator!=(const Repair &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Filters/Hole/Repair"}

The full path for this value.

static constexpr const char *name = {"Repair"}

The name of this value.

static constexpr const char * description  {R"description(Fills in point cloud holes by interpolating remaining surrounding points.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Repair &value)

Operator to send the value as string to a stream.

class Enabled

Enable or disable hole repair.

Public Types

using ValueType = bool

The type of the underlying value.

Public Functions

Enabled() = default

Default constructor.

inline explicit constexpr Enabled(bool value)

Constructor.

bool value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Enabled &other) const

Comparison operator.

inline bool operator!=(const Enabled &other) const

Comparison operator.

Public Static Functions

static inline std::set<bool> validValues()

All valid values of Enabled.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Filters/Hole/Repair/Enabled"}

The full path for this value.

static constexpr const char *name = {"Enabled"}

The name of this value.

static constexpr const char * description  {R"description(Enable or disableholerepair.)description"}

The description for this value.

static const Enabled yes

On/enabled.

static const Enabled no

Off/disabled.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Enabled &value)

Operator to serialize the value to a stream.

class HoleSize

Relative diameter of holes to fill.

Increasing this will fill more points, but require more computation time. The maximum allowed hole size scales with distance, so that we allow filling larger holes at greater distances, measured in mm.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

HoleSize() = default

Default constructor.

inline explicit constexpr HoleSize(double value)

Constructor.

double value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const HoleSize &other) const

Comparison operator.

inline bool operator!=(const HoleSize &other) const

Comparison operator.

inline bool operator<(const HoleSize &other) const

Comparison operator.

inline bool operator>(const HoleSize &other) const

Comparison operator.

inline bool operator<=(const HoleSize &other) const

Comparison operator.

inline bool operator>=(const HoleSize &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for HoleSize.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Filters/Hole/Repair/HoleSize"}

The full path for this value.

static constexpr const char *name = {"HoleSize"}

The name of this value.

static constexpr const char * description  {R"description(Relative diameter of holes to fill. Increasing this will fill more points, but require morecomputation time. The maximum allowedholesize scales with distance, so that we allowfilling larger holes at greater distances, measured in mm.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const HoleSize &value)

Operator to serialize the value to a stream.

class Strictness

Level of strictness when considering if a point should be filled.

A higher level of strictness requires a missing point to be surrounded by valid points on more sides in order to be filled. Increasing this will fill fewer points, but it will be less likely to fill gaps that are not circular, for example between two edges.

Public Types

using ValueType = int32_t

The type of the underlying value.

Public Functions

Strictness() = default

Default constructor.

inline explicit constexpr Strictness(int32_t value)

Constructor.

int32_t value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Strictness &other) const

Comparison operator.

inline bool operator!=(const Strictness &other) const

Comparison operator.

inline bool operator<(const Strictness &other) const

Comparison operator.

inline bool operator>(const Strictness &other) const

Comparison operator.

inline bool operator<=(const Strictness &other) const

Comparison operator.

inline bool operator>=(const Strictness &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<int32_t> validRange()

The range of valid values for Strictness.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Filters/Hole/Repair/Strictness"}

The full path for this value.

static constexpr const char *name = {"Strictness"}

The name of this value.

static constexpr const char * description  {R"description(Level ofstrictness when considering if a point should be filled. A higher level of strictnessrequires a missing point to be surrounded by valid points on more sides inorder to be filled. Increasing this will fill fewer points, but it will be less likely tofill gaps that are not circular, for example between two edges.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Strictness &value)

Operator to serialize the value to a stream.

class Noise

Contains filters that can be used to clean up a noisy point cloud.

Public Functions

Noise()

Default constructor.

template<typename ...Args>
inline explicit Noise(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Noise then invoking set(args).

The provided arguments must be descendants of Noise. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Noise. These types can be provided:

template<typename ...Args>
inline Noise copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Noise object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Noise. These types can be provided:

inline const Removal &removal() const

Get Removal.

inline Removal &removal()

Get Removal.

inline Noise &set(const Removal &value)

Set Removal.

inline Noise &set(const Removal::Enabled &value)

Set Removal::Enabled.

inline Noise &set(const Removal::Threshold &value)

Set Removal::Threshold.

inline const Repair &repair() const

Get Repair.

inline Repair &repair()

Get Repair.

inline Noise &set(const Repair &value)

Set Repair.

inline Noise &set(const Repair::Enabled &value)

Set Repair::Enabled.

inline const Suppression &suppression() const

Get Suppression.

inline Suppression &suppression()

Get Suppression.

inline Noise &set(const Suppression &value)

Set Suppression.

inline Noise &set(const Suppression::Enabled &value)

Set Suppression::Enabled.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Noise &other) const

Equality operator.

bool operator!=(const Noise &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Filters/Noise"}

The full path for this value.

static constexpr const char *name = {"Noise"}

The name of this value.

static constexpr const char * description  {R"description(Containsfiltersthat can be used to clean up a noisy point cloud.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Noise &value)

Operator to send the value as string to a stream.

class Removal

Discard points with signal-to-noise ratio (SNR) values below a threshold.

Public Functions

Removal()

Default constructor.

template<typename ...Args>
inline explicit Removal(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Removal then invoking set(args).

The provided arguments must be descendants of Removal. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Removal. These types can be provided:

template<typename ...Args>
inline Removal copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Removal object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Removal. These types can be provided:

inline const Enabled &isEnabled() const

Get Enabled.

inline Enabled &isEnabled()

Get Enabled.

inline Removal &set(const Enabled &value)

Set Enabled.

inline const Threshold &threshold() const

Get Threshold.

inline Threshold &threshold()

Get Threshold.

inline Removal &set(const Threshold &value)

Set Threshold.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Removal &other) const

Equality operator.

bool operator!=(const Removal &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Filters/Noise/Removal"}

The full path for this value.

static constexpr const char *name = {"Removal"}

The name of this value.

static constexpr const char * description  {R"description(Discard points with signal-to-noise ratio (SNR) values below a threshold.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Removal &value)

Operator to send the value as string to a stream.

class Enabled

Enable or disable the SNR filter.

Public Types

using ValueType = bool

The type of the underlying value.

Public Functions

Enabled() = default

Default constructor.

inline explicit constexpr Enabled(bool value)

Constructor.

bool value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Enabled &other) const

Comparison operator.

inline bool operator!=(const Enabled &other) const

Comparison operator.

Public Static Functions

static inline std::set<bool> validValues()

All valid values of Enabled.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Filters/Noise/Removal/Enabled"}

The full path for this value.

static constexpr const char *name = {"Enabled"}

The name of this value.

static constexpr const char * description  {R"description(Enable or disable theSNRfilter.)description"}

The description for this value.

static const Enabled yes

On/enabled.

static const Enabled no

Off/disabled.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Enabled &value)

Operator to serialize the value to a stream.

class Threshold

Discard points with signal-to-noise ratio (SNR) below the given value.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

Threshold() = default

Default constructor.

inline explicit constexpr Threshold(double value)

Constructor.

double value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Threshold &other) const

Comparison operator.

inline bool operator!=(const Threshold &other) const

Comparison operator.

inline bool operator<(const Threshold &other) const

Comparison operator.

inline bool operator>(const Threshold &other) const

Comparison operator.

inline bool operator<=(const Threshold &other) const

Comparison operator.

inline bool operator>=(const Threshold &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for Threshold.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Filters/Noise/Removal/Threshold"}

The full path for this value.

static constexpr const char *name = {"Threshold"}

The name of this value.

static constexpr const char * description  {R"description(Discard points with signal-to-noise ratio (SNR) below the given value.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Threshold &value)

Operator to serialize the value to a stream.

class Repair

Get better surface coverage by repairing regions of missing data due to noisy points.

Consider disabling this filter if you require all points in your point cloud to be of high confidence.

Public Functions

Repair()

Default constructor.

template<typename ...Args>
inline explicit Repair(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Repair then invoking set(args).

The provided arguments must be descendants of Repair. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Repair. These types can be provided:

template<typename ...Args>
inline Repair copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Repair object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Repair. These types can be provided:

inline const Enabled &isEnabled() const

Get Enabled.

inline Enabled &isEnabled()

Get Enabled.

inline Repair &set(const Enabled &value)

Set Enabled.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Repair &other) const

Equality operator.

bool operator!=(const Repair &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Filters/Noise/Repair"}

The full path for this value.

static constexpr const char *name = {"Repair"}

The name of this value.

static constexpr const char * description  {R"description(Get better surface coverage by repairing regions of missing data due to noisy points.Consider disabling this filter if you require all points in your point cloud to be ofhigh confidence.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Repair &value)

Operator to send the value as string to a stream.

class Enabled

Enable or disable noise repair.

Public Types

using ValueType = bool

The type of the underlying value.

Public Functions

Enabled() = default

Default constructor.

inline explicit constexpr Enabled(bool value)

Constructor.

bool value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Enabled &other) const

Comparison operator.

inline bool operator!=(const Enabled &other) const

Comparison operator.

Public Static Functions

static inline std::set<bool> validValues()

All valid values of Enabled.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Filters/Noise/Repair/Enabled"}

The full path for this value.

static constexpr const char *name = {"Enabled"}

The name of this value.

static constexpr const char * description  {R"description(Enable or disablenoiserepair.)description"}

The description for this value.

static const Enabled yes

On/enabled.

static const Enabled no

Off/disabled.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Enabled &value)

Operator to serialize the value to a stream.

class Suppression

Reduce noise and outliers in the point cloud.

This filter can also be used to reduce ripple effects caused by interreflections. Consider disabling this filter if you need to distinguish very fine details and thus need to avoid any smoothing effects.

Public Functions

Suppression()

Default constructor.

template<typename ...Args>
inline explicit Suppression(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Suppression then invoking set(args).

The provided arguments must be descendants of Suppression. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Suppression. These types can be provided:

template<typename ...Args>
inline Suppression copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Suppression object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Suppression. These types can be provided:

inline const Enabled &isEnabled() const

Get Enabled.

inline Enabled &isEnabled()

Get Enabled.

inline Suppression &set(const Enabled &value)

Set Enabled.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Suppression &other) const

Equality operator.

bool operator!=(const Suppression &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Filters/Noise/Suppression"}

The full path for this value.

static constexpr const char *name = {"Suppression"}

The name of this value.

static constexpr const char * description  {R"description(Reducenoiseand outliers in the point cloud. This filter can also be used to reduceripple effects caused by interreflections. Consider disabling this filter if you need todistinguish very fine details and thus need to avoid anysmoothingeffects.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Suppression &value)

Operator to send the value as string to a stream.

class Enabled

Enable or disable noise suppression.

Public Types

using ValueType = bool

The type of the underlying value.

Public Functions

Enabled() = default

Default constructor.

inline explicit constexpr Enabled(bool value)

Constructor.

bool value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Enabled &other) const

Comparison operator.

inline bool operator!=(const Enabled &other) const

Comparison operator.

Public Static Functions

static inline std::set<bool> validValues()

All valid values of Enabled.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Filters/Noise/Suppression/Enabled"}

The full path for this value.

static constexpr const char *name = {"Enabled"}

The name of this value.

static constexpr const char * description  {R"description(Enable or disablenoisesuppression.)description"}

The description for this value.

static const Enabled yes

On/enabled.

static const Enabled no

Off/disabled.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Enabled &value)

Operator to serialize the value to a stream.

class Outlier

Contains a filter that removes points with large Euclidean distance to neighboring points.

Public Functions

Outlier()

Default constructor.

template<typename ...Args>
inline explicit Outlier(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Outlier then invoking set(args).

The provided arguments must be descendants of Outlier. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Outlier. These types can be provided:

template<typename ...Args>
inline Outlier copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Outlier object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Outlier. These types can be provided:

inline const Removal &removal() const

Get Removal.

inline Removal &removal()

Get Removal.

inline Outlier &set(const Removal &value)

Set Removal.

inline Outlier &set(const Removal::Enabled &value)

Set Removal::Enabled.

inline Outlier &set(const Removal::Threshold &value)

Set Removal::Threshold.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Outlier &other) const

Equality operator.

bool operator!=(const Outlier &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Filters/Outlier"}

The full path for this value.

static constexpr const char *name = {"Outlier"}

The name of this value.

static constexpr const char * description  {R"description(Contains a filter that removes points with large Euclidean distance to neighboring points.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Outlier &value)

Operator to send the value as string to a stream.

class Removal

Discard point if Euclidean distance to neighboring points is above a threshold.

Public Functions

Removal()

Default constructor.

template<typename ...Args>
inline explicit Removal(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Removal then invoking set(args).

The provided arguments must be descendants of Removal. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Removal. These types can be provided:

template<typename ...Args>
inline Removal copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Removal object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Removal. These types can be provided:

inline const Enabled &isEnabled() const

Get Enabled.

inline Enabled &isEnabled()

Get Enabled.

inline Removal &set(const Enabled &value)

Set Enabled.

inline const Threshold &threshold() const

Get Threshold.

inline Threshold &threshold()

Get Threshold.

inline Removal &set(const Threshold &value)

Set Threshold.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Removal &other) const

Equality operator.

bool operator!=(const Removal &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Filters/Outlier/Removal"}

The full path for this value.

static constexpr const char *name = {"Removal"}

The name of this value.

static constexpr const char * description  {R"description(Discard point if Euclidean distance to neighboring points is above a threshold.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Removal &value)

Operator to send the value as string to a stream.

class Enabled

Enable or disable the outlier filter.

Public Types

using ValueType = bool

The type of the underlying value.

Public Functions

Enabled() = default

Default constructor.

inline explicit constexpr Enabled(bool value)

Constructor.

bool value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Enabled &other) const

Comparison operator.

inline bool operator!=(const Enabled &other) const

Comparison operator.

Public Static Functions

static inline std::set<bool> validValues()

All valid values of Enabled.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Filters/Outlier/Removal/Enabled"}

The full path for this value.

static constexpr const char *name = {"Enabled"}

The name of this value.

static constexpr const char * description  {R"description(Enable or disable theoutlierfilter.)description"}

The description for this value.

static const Enabled yes

On/enabled.

static const Enabled no

Off/disabled.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Enabled &value)

Operator to serialize the value to a stream.

class Threshold

Discard point if Euclidean distance to neighboring points is above the given value.

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

Threshold() = default

Default constructor.

inline explicit constexpr Threshold(double value)

Constructor.

double value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Threshold &other) const

Comparison operator.

inline bool operator!=(const Threshold &other) const

Comparison operator.

inline bool operator<(const Threshold &other) const

Comparison operator.

inline bool operator>(const Threshold &other) const

Comparison operator.

inline bool operator<=(const Threshold &other) const

Comparison operator.

inline bool operator>=(const Threshold &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for Threshold.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Filters/Outlier/Removal/Threshold"}

The full path for this value.

static constexpr const char *name = {"Threshold"}

The name of this value.

static constexpr const char * description  {R"description(Discard point if Euclidean distance to neighboring points is above the given value.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Threshold &value)

Operator to serialize the value to a stream.

class Reflection

Contains a filter that removes points likely introduced by reflections (useful for shiny materials).

Public Functions

Reflection()

Default constructor.

template<typename ...Args>
inline explicit Reflection(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Reflection then invoking set(args).

The provided arguments must be descendants of Reflection. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Reflection. These types can be provided:

template<typename ...Args>
inline Reflection copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Reflection object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Reflection. These types can be provided:

inline const Removal &removal() const

Get Removal.

inline Removal &removal()

Get Removal.

inline Reflection &set(const Removal &value)

Set Removal.

inline Reflection &set(const Removal::Enabled &value)

Set Removal::Enabled.

inline Reflection &set(const Removal::Mode &value)

Set Removal::Mode.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Reflection &other) const

Equality operator.

bool operator!=(const Reflection &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Filters/Reflection"}

The full path for this value.

static constexpr const char *name = {"Reflection"}

The name of this value.

static constexpr const char * description  {R"description(Contains a filter that removes points likely introduced by reflections (useful for shiny materials).)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Reflection &value)

Operator to send the value as string to a stream.

class Removal

Discard points likely introduced by reflections (useful for shiny materials).

Public Functions

Removal()

Default constructor.

template<typename ...Args>
inline explicit Removal(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Removal then invoking set(args).

The provided arguments must be descendants of Removal. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Removal. These types can be provided:

template<typename ...Args>
inline Removal copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Removal object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Removal. These types can be provided:

inline const Enabled &isEnabled() const

Get Enabled.

inline Enabled &isEnabled()

Get Enabled.

inline Removal &set(const Enabled &value)

Set Enabled.

inline const Mode &mode() const

Get Mode.

inline Mode &mode()

Get Mode.

inline Removal &set(const Mode &value)

Set Mode.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Removal &other) const

Equality operator.

bool operator!=(const Removal &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Filters/Reflection/Removal"}

The full path for this value.

static constexpr const char *name = {"Removal"}

The name of this value.

static constexpr const char * description  {R"description(Discard points likely introduced by reflections (useful for shiny materials).)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Removal &value)

Operator to send the value as string to a stream.

class Enabled

Enable or disable the reflection filter. Note that this filter is computationally intensive and may affect the frame rate.

Public Types

using ValueType = bool

The type of the underlying value.

Public Functions

Enabled() = default

Default constructor.

inline explicit constexpr Enabled(bool value)

Constructor.

bool value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Enabled &other) const

Comparison operator.

inline bool operator!=(const Enabled &other) const

Comparison operator.

Public Static Functions

static inline std::set<bool> validValues()

All valid values of Enabled.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Filters/Reflection/Removal/Enabled"}

The full path for this value.

static constexpr const char *name = {"Enabled"}

The name of this value.

static constexpr const char * description  {R"description(Enable or disable thereflection filter. Note that this filter is computationally intensive and may affect the framerate.)description"}

The description for this value.

static const Enabled yes

On/enabled.

static const Enabled no

Off/disabled.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Enabled &value)

Operator to serialize the value to a stream.

class Mode

The reflection filter has two modes: Local and Global.

Global mode is generally better at removing outlier points in the point cloud, whereas Local mode preserves more 3D data on thin objects far from the background.

Additionally, Local mode behaves slightly differently depending on the Engine used. With Phase engine or Stripe engine, Local mode will process faster than Global mode and remove more reflection artifacts. Also with Stripe engine, Local mode might reduce the number of points resolved on shiny and reflective objects. With Omni engine, Local mode will reduce the amount of artifacts in low projector signal regions, but might also reduce coverage on surfaces with low projector signal.

It is advised to use the Cluster filter together with Local mode.

Public Types

enum class ValueType

The type of the underlying value.

Values:

enumerator global
enumerator local

Public Functions

Mode() = default

Default constructor.

inline explicit constexpr Mode(ValueType value)

Constructor.

ValueType value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Mode &other) const

Comparison operator.

inline bool operator!=(const Mode &other) const

Comparison operator.

Public Static Functions

static inline std::set<ValueType> validValues()

All valid values of Mode.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Filters/Reflection/Removal/Mode"}

The full path for this value.

static constexpr const char *name = {"Mode"}

The name of this value.

static constexpr const char * description  {R"description(Thereflection filter has two modes: Local and Global. Global modeis generally better atremovingoutlier points in the point cloud, whereas Local modepreserves more 3D data onthin objects far from the background.Additionally, Localmode behaves slightly differently depending on the Engineused. WithPhaseengine or Stripe engine, Local mode will process faster than Global modeand removemorereflection artifacts. Also with Stripe engine, Local modemight reduce the number ofpoints resolved on shiny and reflective objects. With Omniengine, Local modewill reducethe amount of artifacts in low projector signal regions, but might also reduce coverage onsurfaces with low projector signal.It is advised to use theClusterfilter together with Local mode.)description"}

The description for this value.

static const Mode global

global

static const Mode local

local

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Mode::ValueType &value)

Operator to serialize ValueType to a stream.

inline friend std::ostream &operator<<(std::ostream &stream, const Mode &value)

Operator to serialize the value to a stream.

class Smoothing

Smoothing filters.

Public Functions

Smoothing()

Default constructor.

template<typename ...Args>
inline explicit Smoothing(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Smoothing then invoking set(args).

The provided arguments must be descendants of Smoothing. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Smoothing. These types can be provided:

template<typename ...Args>
inline Smoothing copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Smoothing object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Smoothing. These types can be provided:

inline const Gaussian &gaussian() const

Get Gaussian.

inline Gaussian &gaussian()

Get Gaussian.

inline Smoothing &set(const Gaussian &value)

Set Gaussian.

inline Smoothing &set(const Gaussian::Enabled &value)

Set Gaussian::Enabled.

inline Smoothing &set(const Gaussian::Sigma &value)

Set Gaussian::Sigma.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Smoothing &other) const

Equality operator.

bool operator!=(const Smoothing &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Filters/Smoothing"}

The full path for this value.

static constexpr const char *name = {"Smoothing"}

The name of this value.

static constexpr const char * description   = { R"description(Smoothing filters.)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Smoothing &value)

Operator to send the value as string to a stream.

class Gaussian

Gaussian smoothing of the point cloud.

Public Functions

Gaussian()

Default constructor.

template<typename ...Args>
inline explicit Gaussian(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Gaussian then invoking set(args).

The provided arguments must be descendants of Gaussian. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Gaussian. These types can be provided:

template<typename ...Args>
inline Gaussian copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Gaussian object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Gaussian. These types can be provided:

inline const Enabled &isEnabled() const

Get Enabled.

inline Enabled &isEnabled()

Get Enabled.

inline Gaussian &set(const Enabled &value)

Set Enabled.

inline const Sigma &sigma() const

Get Sigma.

inline Sigma &sigma()

Get Sigma.

inline Gaussian &set(const Sigma &value)

Set Sigma.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Gaussian &other) const

Equality operator.

bool operator!=(const Gaussian &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Filters/Smoothing/Gaussian"}

The full path for this value.

static constexpr const char *name = {"Gaussian"}

The name of this value.

static constexpr const char * description  {R"description(Gaussian smoothingof the point cloud.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Gaussian &value)

Operator to send the value as string to a stream.

class Enabled

Enable or disable the smoothing filter.

Public Types

using ValueType = bool

The type of the underlying value.

Public Functions

Enabled() = default

Default constructor.

inline explicit constexpr Enabled(bool value)

Constructor.

bool value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Enabled &other) const

Comparison operator.

inline bool operator!=(const Enabled &other) const

Comparison operator.

Public Static Functions

static inline std::set<bool> validValues()

All valid values of Enabled.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Filters/Smoothing/Gaussian/Enabled"}

The full path for this value.

static constexpr const char *name = {"Enabled"}

The name of this value.

static constexpr const char * description  {R"description(Enable or disable thesmoothingfilter.)description"}

The description for this value.

static const Enabled yes

On/enabled.

static const Enabled no

Off/disabled.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Enabled &value)

Operator to serialize the value to a stream.

class Sigma

Higher values result in smoother point clouds (Standard deviation of the filter coefficients).

Public Types

using ValueType = double

The type of the underlying value.

Public Functions

Sigma() = default

Default constructor.

inline explicit constexpr Sigma(double value)

Constructor.

double value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Sigma &other) const

Comparison operator.

inline bool operator!=(const Sigma &other) const

Comparison operator.

inline bool operator<(const Sigma &other) const

Comparison operator.

inline bool operator>(const Sigma &other) const

Comparison operator.

inline bool operator<=(const Sigma &other) const

Comparison operator.

inline bool operator>=(const Sigma &other) const

Comparison operator.

Public Static Functions

static inline constexpr Range<double> validRange()

The range of valid values for Sigma.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Filters/Smoothing/Gaussian/Sigma"}

The full path for this value.

static constexpr const char *name = {"Sigma"}

The name of this value.

static constexpr const char * description  {R"description(Higher values result in smoother point clouds (Standard deviation of the filter coefficients).)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Sigma &value)

Operator to serialize the value to a stream.

class Resampling

Settings for changing the output resolution of the point cloud.

Public Functions

Resampling()

Default constructor.

template<typename ...Args>
inline explicit Resampling(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Resampling then invoking set(args).

The provided arguments must be descendants of Resampling. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Resampling. These types can be provided:

template<typename ...Args>
inline Resampling copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Resampling object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Resampling. These types can be provided:

inline const Mode &mode() const

Get Mode.

inline Mode &mode()

Get Mode.

inline Resampling &set(const Mode &value)

Set Mode.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Resampling &other) const

Equality operator.

bool operator!=(const Resampling &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Processing/Resampling"}

The full path for this value.

static constexpr const char *name = {"Resampling"}

The name of this value.

static constexpr const char * description  {R"description(Settingsfor changing the output resolution of the point cloud.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Resampling &value)

Operator to send the value as string to a stream.

class Mode

Setting for upsampling or downsampling the point cloud data by some factor.

This operation is performed after all other processing has been completed.

Downsampling is used to reduce the number of points in the point cloud. This is done by combining each 2x2 or 4x4 group of pixels in the original point cloud into one pixel in a new point cloud. This downsample functionality is identical to the downsample method on the PointCloud class. The averaging process reduces noise in the point cloud, but it will not improve capture speed. To improve capture speed, consider using the subsampling modes found in Settings/Sampling/Pixel.

Upsampling is used to increase the number of points in the point cloud. It is not possible to upsample beyond the full resolution of the camera, so upsampling may only be used in combination with the subsampling modes found in Settings/Sampling/Pixel. For example, one may combine blueSubsample2x2 with upsample2x2 to obtain a point cloud that matches a full resolution 2D capture, while retaining the speed benefits of capturing the point cloud with blueSubsample2x2. Upsampling is achieved by expanding pixels in the original point cloud into groups of 2x2 or 4x4 pixels in a new point cloud. Where possible, values are filled at the new points based on an interpolation of the surrounding original points. The points in the new point cloud that correspond to points in the original point cloud are left unchanged. Note that upsampling will lead to four (upsample2x2) or sixteen (upsample4x4) times as many pixels in the point cloud compared to no upsampling, so users should be aware of increased computational cost related to copying and analyzing this data.

Public Types

enum class ValueType

The type of the underlying value.

Values:

enumerator disabled
enumerator downsample2x2
enumerator downsample4x4
enumerator upsample2x2
enumerator upsample4x4

Public Functions

Mode() = default

Default constructor.

inline explicit constexpr Mode(ValueType value)

Constructor.

ValueType value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Mode &other) const

Comparison operator.

inline bool operator!=(const Mode &other) const

Comparison operator.

Public Static Functions

static inline std::set<ValueType> validValues()

All valid values of Mode.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Processing/Resampling/Mode"}

The full path for this value.

static constexpr const char *name = {"Mode"}

The name of this value.

static constexpr const char * description  {R"description(Setting for upsampling or downsampling the point cloud data by some factor. This operationis performed after all otherprocessinghas been completed.Downsampling is used to reduce the number of points in the point cloud. This is done bycombining each 2x2 or 4x4 group of pixels in the original point cloud into one pixel ina new point cloud. This downsample functionality is identical to the downsample methodon thePointCloudclass. The averaging process reduces noise in the point cloud, but itwill not improve capture speed. To improve capture speed, consider using the subsamplingmodes found inSettings/Sampling/Pixel.Upsampling is used to increase the number of points in the point cloud. It is not possibleto upsample beyond the full resolution of the camera, so upsampling may only be used incombination with the subsampling modes found inSettings/Sampling/Pixel. For example, one maycombine blueSubsample2x2 withupsample2x2to obtain a point cloud that matches a fullresolution 2D capture, while retaining the speed benefits of capturing the point cloud withblueSubsample2x2. Upsampling is achieved by expanding pixels in the original point cloud intogroups of 2x2 or 4x4 pixels in a new point cloud. Where possible, values are filled at thenew points based on an interpolation of the surrounding original points. The points in thenew point cloud that correspond to points in the original point cloud are left unchanged.Note that upsampling will lead to four (upsample2x2) or sixteen (upsample4x4) times as manypixels in the point cloud compared to no upsampling, so users should be aware of increasedcomputational cost related to copying and analyzing this data.)description"}

The description for this value.

static const Mode disabled

disabled

static const Mode downsample2x2

downsample2x2

static const Mode downsample4x4

downsample4x4

static const Mode upsample2x2

upsample2x2

static const Mode upsample4x4

upsample4x4

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Mode::ValueType &value)

Operator to serialize ValueType to a stream.

inline friend std::ostream &operator<<(std::ostream &stream, const Mode &value)

Operator to serialize the value to a stream.

class RegionOfInterest

Removes points outside the region of interest.

Public Functions

RegionOfInterest()

Default constructor.

template<typename ...Args>
inline explicit RegionOfInterest(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing RegionOfInterest then invoking set(args).

The provided arguments must be descendants of RegionOfInterest. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of RegionOfInterest. These types can be provided:

template<typename ...Args>
inline RegionOfInterest copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this RegionOfInterest object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of RegionOfInterest. These types can be provided:

inline const Box &box() const

Get Box.

inline Box &box()

Get Box.

inline RegionOfInterest &set(const Box &value)

Set Box.

inline RegionOfInterest &set(const Box::Enabled &value)

Set Box::Enabled.

inline RegionOfInterest &set(const Box::Extents &value)

Set Box::Extents.

inline RegionOfInterest &set(const Box::PointA &value)

Set Box::PointA.

inline RegionOfInterest &set(const Box::PointB &value)

Set Box::PointB.

inline RegionOfInterest &set(const Box::PointO &value)

Set Box::PointO.

inline const Depth &depth() const

Get Depth.

inline Depth &depth()

Get Depth.

inline RegionOfInterest &set(const Depth &value)

Set Depth.

inline RegionOfInterest &set(const Depth::Enabled &value)

Set Depth::Enabled.

inline RegionOfInterest &set(const Depth::Range &value)

Set Depth::Range.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const RegionOfInterest &other) const

Equality operator.

bool operator!=(const RegionOfInterest &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"RegionOfInterest"}

The full path for this value.

static constexpr const char *name = {"RegionOfInterest"}

The name of this value.

static constexpr const char * description  { R"description(Removes points outside the region of interest.)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const RegionOfInterest &value)

Operator to send the value as string to a stream.

class Box

Removes points outside the given three-dimensional box.

Using this feature may significantly speed up acquisition and processing time, because one can avoid acquiring and processing data that is guaranteed to fall outside of the region of interest. The degree of speed-up depends on the size and shape of the box. Generally, a smaller box yields a greater speed-up.

The box is defined by three points: O, A and B. These points define two vectors, OA that goes from PointO to PointA, and OB that goes from PointO to PointB. This gives 4 points O, A, B and (O + OA + OB), that together form a parallelogram in 3D.

Two extents can be provided, to extrude the parallelogram along the surface normal vector of the parallelogram plane. This creates a 3D volume (parallelepiped). The surface normal vector is defined by the cross product OA x OB.

Public Functions

Box()

Default constructor.

template<typename ...Args>
inline explicit Box(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Box then invoking set(args).

The provided arguments must be descendants of Box. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Box. These types can be provided:

template<typename ...Args>
inline Box copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Box object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Box. These types can be provided:

inline const Enabled &isEnabled() const

Get Enabled.

inline Enabled &isEnabled()

Get Enabled.

inline Box &set(const Enabled &value)

Set Enabled.

inline const Extents &extents() const

Get Extents.

inline Extents &extents()

Get Extents.

inline Box &set(const Extents &value)

Set Extents.

inline const PointA &pointA() const

Get PointA.

inline PointA &pointA()

Get PointA.

inline Box &set(const PointA &value)

Set PointA.

inline const PointB &pointB() const

Get PointB.

inline PointB &pointB()

Get PointB.

inline Box &set(const PointB &value)

Set PointB.

inline const PointO &pointO() const

Get PointO.

inline PointO &pointO()

Get PointO.

inline Box &set(const PointO &value)

Set PointO.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Box &other) const

Equality operator.

bool operator!=(const Box &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"RegionOfInterest/Box"}

The full path for this value.

static constexpr const char *name = {"Box"}

The name of this value.

static constexpr const char * description  {R"description(Removes points outside the given three-dimensional box.Using this feature may significantly speed up acquisition andprocessingtime, becauseone can avoid acquiring andprocessingdata that is guaranteed to fall outside of theregion of interest. The degree of speed-up depends on the size and shape of the box.Generally, a smallerboxyields a greater speed-up.Theboxis defined by three points: O, A and B. These points define two vectors,OA that goes fromPointO to PointA, and OB that goes from PointOto PointB.This gives 4 points O, A, B and (O + OA + OB), that together form aparallelogram in 3D.Twoextentscan be provided, to extrude the parallelogram along the surfacenormal vector of the parallelogram plane. This creates a 3D volume (parallelepiped).The surface normal vector is defined by the cross product OA x OB.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Box &value)

Operator to send the value as string to a stream.

class Enabled

Enable or disable box filter.

Public Types

using ValueType = bool

The type of the underlying value.

Public Functions

Enabled() = default

Default constructor.

inline explicit constexpr Enabled(bool value)

Constructor.

bool value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Enabled &other) const

Comparison operator.

inline bool operator!=(const Enabled &other) const

Comparison operator.

Public Static Functions

static inline std::set<bool> validValues()

All valid values of Enabled.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"RegionOfInterest/Box/Enabled"}

The full path for this value.

static constexpr const char *name = {"Enabled"}

The name of this value.

static constexpr const char * description  {R"description(Enable or disableboxfilter.)description"}

The description for this value.

static const Enabled yes

On/enabled.

static const Enabled no

Off/disabled.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Enabled &value)

Operator to serialize the value to a stream.

class Extents

Two points on the normal describing the direction and distance from the plane from which the normal is derived.

Public Types

using ValueType = Zivid::Range<double>

The type of the underlying value.

Public Functions

Extents() = default

Default constructor.

inline explicit constexpr Extents(Zivid::Range<double> value)

Constructor.

const Zivid::Range<double> &value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline explicit constexpr Extents(double minValue, double maxValue)

Constructor.

inline bool operator==(const Extents &other) const

Comparison operator.

inline bool operator!=(const Extents &other) const

Comparison operator.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"RegionOfInterest/Box/Extents"}

The full path for this value.

static constexpr const char *name = {"Extents"}

The name of this value.

static constexpr const char * description  {R"description(Two points on the normal describing the direction and distance from the plane from which the normal is derived.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Extents &value)

Operator to serialize the value to a stream.

class PointA

A point such that the vector from PointO to PointA describes the first edge of the parallelogram.

Public Types

using ValueType = Zivid::PointXYZ

The type of the underlying value.

Public Functions

PointA() = default

Default constructor.

inline explicit constexpr PointA(Zivid::PointXYZ value)

Constructor.

Zivid::PointXYZ value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline explicit constexpr PointA(float x, float y, float z)

Constructor.

inline bool operator==(const PointA &other) const

Comparison operator.

inline bool operator!=(const PointA &other) const

Comparison operator.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"RegionOfInterest/Box/PointA"}

The full path for this value.

static constexpr const char *name = {"PointA"}

The name of this value.

static constexpr const char * description  {R"description(A point such that the vector fromPointO to PointAdescribes the first edge of the parallelogram.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const PointA &value)

Operator to serialize the value to a stream.

class PointB

A point such that the vector from PointO to PointB describes the second edge of the parallelogram.

Public Types

using ValueType = Zivid::PointXYZ

The type of the underlying value.

Public Functions

PointB() = default

Default constructor.

inline explicit constexpr PointB(Zivid::PointXYZ value)

Constructor.

Zivid::PointXYZ value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline explicit constexpr PointB(float x, float y, float z)

Constructor.

inline bool operator==(const PointB &other) const

Comparison operator.

inline bool operator!=(const PointB &other) const

Comparison operator.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"RegionOfInterest/Box/PointB"}

The full path for this value.

static constexpr const char *name = {"PointB"}

The name of this value.

static constexpr const char * description  {R"description(A point such that the vector fromPointO to PointBdescribes the second edge of the parallelogram.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const PointB &value)

Operator to serialize the value to a stream.

class PointO

The point at the intersection of two adjacent edges defining a parallelogram.

Public Types

using ValueType = Zivid::PointXYZ

The type of the underlying value.

Public Functions

PointO() = default

Default constructor.

inline explicit constexpr PointO(Zivid::PointXYZ value)

Constructor.

Zivid::PointXYZ value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline explicit constexpr PointO(float x, float y, float z)

Constructor.

inline bool operator==(const PointO &other) const

Comparison operator.

inline bool operator!=(const PointO &other) const

Comparison operator.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"RegionOfInterest/Box/PointO"}

The full path for this value.

static constexpr const char *name = {"PointO"}

The name of this value.

static constexpr const char * description  {R"description(The point at the intersection of two adjacent edges defining a parallelogram.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const PointO &value)

Operator to serialize the value to a stream.

class Depth

Removes points that reside outside of a depth range, meaning that their Z coordinate falls above a given maximum or below a given minimum.

Public Functions

Depth()

Default constructor.

template<typename ...Args>
inline explicit Depth(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Depth then invoking set(args).

The provided arguments must be descendants of Depth. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Depth. These types can be provided:

template<typename ...Args>
inline Depth copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Depth object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Depth. These types can be provided:

inline const Enabled &isEnabled() const

Get Enabled.

inline Enabled &isEnabled()

Get Enabled.

inline Depth &set(const Enabled &value)

Set Enabled.

inline const Range &range() const

Get Range.

inline Range &range()

Get Range.

inline Depth &set(const Range &value)

Set Range.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Depth &other) const

Equality operator.

bool operator!=(const Depth &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"RegionOfInterest/Depth"}

The full path for this value.

static constexpr const char *name = {"Depth"}

The name of this value.

static constexpr const char * description  {R"description(Removes points that reside outside of adepth range, meaning that their Z coordinatefalls above a given maximum or below a given minimum.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Depth &value)

Operator to send the value as string to a stream.

class Enabled

Enable or disable depth filter.

Public Types

using ValueType = bool

The type of the underlying value.

Public Functions

Enabled() = default

Default constructor.

inline explicit constexpr Enabled(bool value)

Constructor.

bool value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Enabled &other) const

Comparison operator.

inline bool operator!=(const Enabled &other) const

Comparison operator.

Public Static Functions

static inline std::set<bool> validValues()

All valid values of Enabled.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"RegionOfInterest/Depth/Enabled"}

The full path for this value.

static constexpr const char *name = {"Enabled"}

The name of this value.

static constexpr const char * description  {R"description(Enable or disabledepthfilter.)description"}

The description for this value.

static const Enabled yes

On/enabled.

static const Enabled no

Off/disabled.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Enabled &value)

Operator to serialize the value to a stream.

class Range

Specify the minimum and maximum Z value that will be included.

Public Types

using ValueType = Zivid::Range<double>

The type of the underlying value.

Public Functions

Range() = default

Default constructor.

inline explicit constexpr Range(Zivid::Range<double> value)

Constructor.

const Zivid::Range<double> &value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline explicit constexpr Range(double minValue, double maxValue)

Constructor.

inline bool operator==(const Range &other) const

Comparison operator.

inline bool operator!=(const Range &other) const

Comparison operator.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"RegionOfInterest/Depth/Range"}

The full path for this value.

static constexpr const char *name = {"Range"}

The name of this value.

static constexpr const char * description  {R"description(Specify the minimum and maximum Zvaluethat will be included.)description"}

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Range &value)

Operator to serialize the value to a stream.

class Sampling

Sampling settings.

Public Functions

Sampling()

Default constructor.

template<typename ...Args>
inline explicit Sampling(Args&&... args)

Constructor taking variadic number of arguments.

One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing Sampling then invoking set(args).

The provided arguments must be descendants of Sampling. These types can be provided:

template<typename ...Args>
inline void set(Args&&... args)

Set multiple arguments.

The method invokes set(arg) with each of the provided arguments.

The provided arguments must be descendants of Sampling. These types can be provided:

template<typename ...Args>
inline Sampling copyWith(Args&&... args) const

Returns a copy of this object with the given argument(s) set to the new value(s)

Creates a copy of this Sampling object, then invokes set(args) on the copy, and finally returns the copy. This method does not modify the original object.

The provided arguments must be descendants of Sampling. These types can be provided:

inline const Color &color() const

Get Color.

inline Color &color()

Get Color.

inline Sampling &set(const Color &value)

Set Color.

inline const Pixel &pixel() const

Get Pixel.

inline Pixel &pixel()

Get Pixel.

inline Sampling &set(const Pixel &value)

Set Pixel.

template<typename F>
inline void forEach(const F &f) const

Run the given function on each direct member with the value of the member as parameter.

template<typename F>
inline void forEach(const F &f)

Run the given function on each direct member with the value of the member as parameter.

bool operator==(const Sampling &other) const

Equality operator.

bool operator!=(const Sampling &other) const

Inequality operator.

std::string toString() const

Get the value as string.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group

The type of this node.

static constexpr const char *path = {"Sampling"}

The full path for this value.

static constexpr const char *name = {"Sampling"}

The name of this value.

static constexpr const char * description   = { R"description(Samplingsettings.)description" }

The description for this value.

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Sampling &value)

Operator to send the value as string to a stream.

class Color

Choose how to sample colors for the point cloud.

  • rgb option gives an image with full colors.

  • grayscale option gives a grayscale (r=g=b) image, which can be acquired faster than full colors.

  • rgbStrongAmbientLight option gives an image with full colors and reduced color noise. This option should be chosen only for applications which suffer from high color noise and with high amounts of ambient light in the scene.

  • rgbAmbientSuppression option gives an image with full colors while suppressing the ambient light. The Zivid 2+R and Zivid 3 cameras suppress ambient light by default, and therefore do not need the additional option rgbAmbientSuppression.

The grayscale, rgbStrongAmbientLight and rgbAmbientSuppression options are not available on all camera models.

This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a Settings2D object in the Settings/Color field. Tip: If you want to convert an existing settings.yml file to the recommended API, you can import the .yml file into Zivid Studio and then re-export it to .yml.

Public Types

enum class ValueType

The type of the underlying value.

Values:

enumerator rgb
enumerator disabled
enumerator grayscale
enumerator rgbStrongAmbientLight
enumerator rgbAmbientSuppression

Public Functions

Color() = default

Default constructor.

inline explicit constexpr Color(ValueType value)

Constructor.

ValueType value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Color &other) const

Comparison operator.

inline bool operator!=(const Color &other) const

Comparison operator.

Public Static Functions

static inline std::set<ValueType> validValues()

All valid values of Color.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Sampling/Color"}

The full path for this value.

static constexpr const char *name = {"Color"}

The name of this value.

static constexpr const char * description  { R"description(Choose how to sample colors for the point cloud.- `rgb` option gives an image with full colors.- `grayscale` option gives a grayscale(r=g=b) image, whichcan be acquired faster than full colors.- `rgbStrongAmbientLight` option gives an image with full colors and reduced   colornoise. This option should be chosen only for applications whichsuffer from highcolornoise and with high amounts of ambient light in thescene.- `rgbAmbientSuppression` option gives an image with full colors whilesuppressing the ambient light. The Zivid 2+R and Zivid 3 cameras suppress ambientlight by default, and therefore do not need the additional option`rgbAmbientSuppression`.The `grayscale`, `rgbStrongAmbientLight` and `rgbAmbientSuppression` options are not available on all camera models.This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK majorversion (SDK 3.0). The recommended way to do a 2D+3D capture is to set a `Settings2D` objectin the `Settings/Color` field. Tip: If you want to convert an existing settings.yml file tothe recommended API, you can import the .yml file into Zivid Studio and then re-export it to.yml.)description" }

The description for this value.

static const Color rgb

rgb

static const Color disabled

disabled

static const Color grayscale

grayscale

static const Color rgbStrongAmbientLight

rgbStrongAmbientLight

static const Color rgbAmbientSuppression

rgbAmbientSuppression

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Color::ValueType &value)

Operator to serialize ValueType to a stream.

inline friend std::ostream &operator<<(std::ostream &stream, const Color &value)

Operator to serialize the value to a stream.

class Pixel

For Zivid 2 and Zivid 2+, this setting controls whether to read out the full image sensor and use white projector light or to subsample pixels for specific color channels with corresponding projector light.

Picking a specific color channel can help reduce noise and effects of ambient light - projecting blue light is recommended.

For Zivid 2+R and Zivid 3, the user does not have to set the projection color and should only consider whether to scale the resolution by2x2 or by4x4. Both of these modes will boost the signal strength by about 4x compared to all, so the user should consider a corresponding reduction in exposure time.

Sampling at a decreased resolution decreases capture time, as less data will be captured and processed.

Public Types

enum class ValueType

The type of the underlying value.

Values:

enumerator all
enumerator blueSubsample2x2
enumerator redSubsample2x2
enumerator blueSubsample4x4
enumerator redSubsample4x4
enumerator by2x2
enumerator by4x4

Public Functions

Pixel() = default

Default constructor.

inline explicit constexpr Pixel(ValueType value)

Constructor.

ValueType value() const

Get the value.

If this object does not contain a value (see hasValue) then this method throws an exception.

bool hasValue() const

Check if the value is set.

void reset()

Reset the node to unset state.

std::string toString() const

Get the value as string.

inline bool operator==(const Pixel &other) const

Comparison operator.

inline bool operator!=(const Pixel &other) const

Comparison operator.

Public Static Functions

static inline std::set<ValueType> validValues()

All valid values of Pixel.

Public Static Attributes

static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue

The type of this node.

static constexpr const char *path = {"Sampling/Pixel"}

The full path for this value.

static constexpr const char *name = {"Pixel"}

The name of this value.

static constexpr const char * description  {R"description(For Zivid 2 and Zivid 2+, this setting controls whether to read out the full image sensor anduse white projector light or to subsample pixels for specificcolorchannels withcorresponding projector light. Picking a specificcolorchannel can help reduce noiseand effects of ambient light - projecting blue light is recommended.For Zivid 2+R and Zivid 3, the user does not have toset the projection colorand should onlyconsider whether to scale the resolution `by2x2` or `by4x4`. Both of these modeswill boost the signal strength by about 4x compared to `all`, so the user shouldconsider a corresponding reduction in exposure time.Samplingat a decreased resolution decreases capture time, as less data will be captured and processed.)description"}

The description for this value.

static const Pixel all

all

static const Pixel blueSubsample2x2

blueSubsample2x2

static const Pixel redSubsample2x2

redSubsample2x2

static const Pixel blueSubsample4x4

blueSubsample4x4

static const Pixel redSubsample4x4

redSubsample4x4

static const Pixel by2x2

by2x2

static const Pixel by4x4

by4x4

Friends

inline friend std::ostream &operator<<(std::ostream &stream, const Pixel::ValueType &value)

Operator to serialize ValueType to a stream.

inline friend std::ostream &operator<<(std::ostream &stream, const Pixel &value)

Operator to serialize the value to a stream.

struct Settings

Settings used when capturing a 3D capture or 2D+3D capture with a Zivid camera.

Public Types

enum class EngineOption : std::underlying_type<Zivid::Settings::Engine::ValueType>::type

Set the Zivid Vision Engine to use.

The Phase Engine is the fastest choice in terms of both acquisition time and total capture time, and is a good compromise between quality and speed. The Phase Engine is recommended for objects that are diffuse, opaque, and slightly specular, and is suitable for applications in logistics such as parcel induction.

The Stripe Engine is built for exceptional point cloud quality in scenes with highly specular reflective objects. This makes the engine suitable for applications such as factory automation, manufacturing, and bin picking. Additional acquisition and processing time are required for the Stripe Engine.

The Omni Engine is built for exceptional point cloud quality on all scenes, including scenes with extremely specular reflective objects, as well as transparent objects. This makes the Omni Engine suitable for applications such as piece picking. Same as for the Stripe Engine, it trades off speed for quality. The Omni Engine is only available for Zivid 2+ and Zivid 2+R.

The Sage engine is built for use cases that require all points to be correct/accurate with particularly high confidence. This can be very suitable for eliminating problems such as reflection artifacts. This validation comes at the cost of speed, and sometimes reduced number of valid points due to the removal of low-confidence data. The Sage Engine is only available for Zivid 2+R.

Values:

enumerator Phase
enumerator Stripe
enumerator Omni
enumerator Sage

Public Functions

System::String ^ Serialize ()

Serialize to a string.

See also FromSerialized. The returned string is formatted in YAML, and is compatible with the contents of files saved using Save.

void Save (System::String ^ fileName)

Save to the given file.

void Load (System::String ^ fileName)

Load from the given file.

inline Settings()

Constructor.

Settings ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

Settings ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

Zivid::NET::Settings2D^ Color

Specify the settings used for the 2D color image when doing a 2D+3D capture.

The value type of this node is a Zivid::Settings2D object.

This setting was introduced in SDK 2.14, as the recommended way to define the acquisition and processing settings for the 2D color image when doing 2D+3D captures.

When this setting is set, it controls how the 2D color image of the 2D+3D capture is acquired and processed. This setting can be used to specify custom acquisition and processing settings that apply only to the 2D color image. These provided settings does not affect the 3D acquisition or processing.

When this setting is not set, then the 2D color image is acquired based on Settings/Acquisitions and Settings/Sampling/Color, and processed based on Settings/Processing/Color. If Settings/Sampling/Color is set to disabled, then no 2D color image is acquired. This behavior is to be consistent with SDK 2.13 and earlier.

In the next SDK major version, SDK 3.0, only this Color setting will control the 2D color image settings. The Settings/Sampling/Color and Settings/Processing/Color settings are deprecated as of 2.14, and will be removed from the API in SDK 3.0. Zivid recommends all users to use Settings/Color to define the 2D color image settings. Tip: If you want to convert an existing settings.yml file to use Settings/Color, you can import the .yml file into Zivid Studio and then re-export it to .yml.

System::Nullable<EngineOption> Engine

Set the Zivid Vision Engine to use.

The Phase Engine is the fastest choice in terms of both acquisition time and total capture time, and is a good compromise between quality and speed. The Phase Engine is recommended for objects that are diffuse, opaque, and slightly specular, and is suitable for applications in logistics such as parcel induction.

The Stripe Engine is built for exceptional point cloud quality in scenes with highly specular reflective objects. This makes the engine suitable for applications such as factory automation, manufacturing, and bin picking. Additional acquisition and processing time are required for the Stripe Engine.

The Omni Engine is built for exceptional point cloud quality on all scenes, including scenes with extremely specular reflective objects, as well as transparent objects. This makes the Omni Engine suitable for applications such as piece picking. Same as for the Stripe Engine, it trades off speed for quality. The Omni Engine is only available for Zivid 2+ and Zivid 2+R.

The Sage engine is built for use cases that require all points to be correct/accurate with particularly high confidence. This can be very suitable for eliminating problems such as reflection artifacts. This validation comes at the cost of speed, and sometimes reduced number of valid points due to the removal of low-confidence data. The Sage Engine is only available for Zivid 2+R.

Public Static Attributes

static Settings(System::String ^ fileName) Settings FromSerialized )(System::String ^ value)

Construct Settings by loading from file.

Construct a new Settings instance from a previously serialized string

See also Serialize.

struct Acquisition

Settings for a single acquisition.

Public Functions

inline Acquisition()

Constructor.

Acquisition ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

Acquisition ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<double> Aperture

Aperture setting for the camera.

Specified as an f-number (the ratio of lens focal length to the effective aperture diameter).

System::Nullable<double> Brightness

Brightness controls the light output from the projector.

Brightness above 1.0 may be needed when the distance between the camera and the scene is large, or in case of high levels of ambient lighting.

When brightness is above 1.0 the duty cycle of the camera (the percentage of time the camera can capture) will be reduced. The duty cycle in boost mode is 50%. The duty cycle is calculated over a 10 second period. This limitation is enforced automatically by the camera. Calling capture when the duty cycle limit has been reached will cause the camera to first wait (sleep) for a duration of time to cool down, before capture will start.

System::Nullable<::Zivid::NET::Duration> ExposureTime

Exposure time for each single image in the measurement. Affects frame rate.

System::Nullable<double> Gain

Analog gain in the camera.

AcquisitionsList : public System::Collections::Generic::List< Acquisition ^>

List of Acquisition objects.

Public Functions

AcquisitionsList ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

struct DiagnosticsGroup

When Diagnostics is enabled, additional diagnostic data is recorded during capture and included when saving the frame to a .zdf file.

This enables Zivid’s Customer Success team to provide better assistance and more thorough troubleshooting.

Enabling Diagnostics increases the capture time and the RAM usage. It will also increase the size of the .zdf file. It is recommended to enable Diagnostics only when reporting issues to Zivid’s support team.

Public Functions

inline DiagnosticsGroup()

Constructor.

DiagnosticsGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

DiagnosticsGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<bool> Enabled

Enable or disable diagnostics.

struct ProcessingGroup

Settings related to processing of a capture, including filters and color balance.

Public Functions

inline ProcessingGroup()

Constructor.

ProcessingGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

ProcessingGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

struct ColorGroup

Color settings.

These settings are deprecated as of SDK 2.14. These settings will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a Settings2D object in the Settings/Color node. Tip: If you want to convert an existing settings.yml file to use the Settings/Color node, you can import the .yml file into Zivid Studio and then re-export it to .yml.

Public Functions

inline ColorGroup()

Constructor.

ColorGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

ColorGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<double> Gamma

Gamma applied to the color values.

Gamma less than 1 makes the colors brighter, while gamma greater than 1 makes the colors darker.

This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a Settings2D object in the Settings/Color node. Tip: If you want to convert an existing settings.yml file to use the Settings/Color node, you can import the .yml file into Zivid Studio and then re-export it to .yml.

struct BalanceGroup

Color balance settings.

Public Functions

inline BalanceGroup()

Constructor.

BalanceGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

BalanceGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<double> Blue

Digital gain applied to blue channel.

This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a Settings2D object in the Settings/Color node. Tip: If you want to convert an existing settings.yml file to use the Settings/Color node, you can import the .yml file into Zivid Studio and then re-export it to .yml.

System::Nullable<double> Green

Digital gain applied to green channel.

This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a Settings2D object in the Settings/Color node. Tip: If you want to convert an existing settings.yml file to use the Settings/Color node, you can import the .yml file into Zivid Studio and then re-export it to .yml.

System::Nullable<double> Red

Digital gain applied to red channel.

This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a Settings2D object in the Settings/Color node. Tip: If you want to convert an existing settings.yml file to use the Settings/Color node, you can import the .yml file into Zivid Studio and then re-export it to .yml.

struct ExperimentalGroup

Experimental color settings. These may be renamed, moved or deleted in the future.

Public Types

enum class ModeOption : std::underlying_type<Zivid::Settings::Processing::Color::Experimental::Mode::ValueType>::type

This setting controls how the color image is computed.

automatic is the default option. automatic is identical to useFirstAcquisition for single-acquisition captures and multi-acquisition captures when all the acquisitions have identical (duplicated) acquisition settings. automatic is identical to toneMapping for multi-acquisition HDR captures with differing acquisition settings.

useFirstAcquisition uses the color data acquired from the first acquisition provided. If the capture consists of more than one acquisition, then the remaining acquisitions are not used for the color image. No tone mapping is performed. This option provides the most control of the color image, and the color values will be consistent over repeated captures with the same settings.

toneMapping uses all the acquisitions to create one merged and normalized color image. For HDR captures the dynamic range of the captured images is usually higher than the 8-bit color image range. toneMapping will map the HDR color data to the 8-bit color output range by applying a scaling factor. toneMapping can also be used for single-acquisition captures to normalize the captured color image to the full 8-bit output. Note that when using toneMapping mode the color values can be inconsistent over repeated captures if you move, add or remove objects in the scene. For the most control over the colors, select the useFirstAcquisition mode.

This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a Settings2D object in the Settings/Color node. Tip: If you want to convert an existing settings.yml file to use the Settings/Color node, you can import the .yml file into Zivid Studio and then re-export it to .yml.

Values:

enumerator Automatic
enumerator UseFirstAcquisition
enumerator ToneMapping

Public Functions

inline ExperimentalGroup()

Constructor.

ExperimentalGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

ExperimentalGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<ModeOption> Mode

This setting controls how the color image is computed.

automatic is the default option. automatic is identical to useFirstAcquisition for single-acquisition captures and multi-acquisition captures when all the acquisitions have identical (duplicated) acquisition settings. automatic is identical to toneMapping for multi-acquisition HDR captures with differing acquisition settings.

useFirstAcquisition uses the color data acquired from the first acquisition provided. If the capture consists of more than one acquisition, then the remaining acquisitions are not used for the color image. No tone mapping is performed. This option provides the most control of the color image, and the color values will be consistent over repeated captures with the same settings.

toneMapping uses all the acquisitions to create one merged and normalized color image. For HDR captures the dynamic range of the captured images is usually higher than the 8-bit color image range. toneMapping will map the HDR color data to the 8-bit color output range by applying a scaling factor. toneMapping can also be used for single-acquisition captures to normalize the captured color image to the full 8-bit output. Note that when using toneMapping mode the color values can be inconsistent over repeated captures if you move, add or remove objects in the scene. For the most control over the colors, select the useFirstAcquisition mode.

This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a Settings2D object in the Settings/Color node. Tip: If you want to convert an existing settings.yml file to use the Settings/Color node, you can import the .yml file into Zivid Studio and then re-export it to .yml.

struct FiltersGroup

Filter settings.

Public Functions

inline FiltersGroup()

Constructor.

FiltersGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

FiltersGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

struct ClusterGroup

Removes floating points and isolated clusters from the point cloud.

Public Functions

inline ClusterGroup()

Constructor.

ClusterGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

ClusterGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

struct RemovalGroup

Cluster removal filter.

Public Functions

inline RemovalGroup()

Constructor.

RemovalGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

RemovalGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<bool> Enabled

Enable or disable cluster removal.

System::Nullable<double> MaxNeighborDistance

Maximum normalized distance between neighboring points that are still classified as belonging to the same cluster.

The default value is optimal for most scenes. On messy scenes turning this setting down helps removing more bad points.

System::Nullable<double> MinArea

Clusters with area below this threshold are removed by the filter.

The area is given in mm^2.

struct ExperimentalGroup

Experimental filters. These may be renamed, moved or deleted in the future.

Public Functions

inline ExperimentalGroup()

Constructor.

ExperimentalGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

ExperimentalGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

struct ContrastDistortionGroup

Corrects artifacts that appear when imaging scenes with large texture gradients or high contrast.

These artifacts are caused by blurring in the lens. The filter works best when aperture values are chosen such that the camera has quite good focus. The filter also supports removing the points that experience a large correction.

Public Functions

inline ContrastDistortionGroup()

Constructor.

ContrastDistortionGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

ContrastDistortionGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

struct CorrectionGroup

Contrast distortion correction filter.

Public Functions

inline CorrectionGroup()

Constructor.

CorrectionGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

CorrectionGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<bool> Enabled

Enable or disable contrast distortion correction.

System::Nullable<double> Strength

Strength of correction. Higher values give more correction.

struct RemovalGroup

Contrast distortion removal filter.

Public Functions

inline RemovalGroup()

Constructor.

RemovalGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

RemovalGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<bool> Enabled

Enable or disable contrast distortion removal.

System::Nullable<double> Threshold

Threshold for removal. Higher values remove more points.

struct HoleGroup

Contains filters that can be used to deal with holes in the point cloud.

Public Functions

inline HoleGroup()

Constructor.

HoleGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

HoleGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

struct RepairGroup

Fills in point cloud holes by interpolating remaining surrounding points.

Public Functions

inline RepairGroup()

Constructor.

RepairGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

RepairGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<bool> Enabled

Enable or disable hole repair.

System::Nullable<double> HoleSize

Relative diameter of holes to fill.

Increasing this will fill more points, but require more computation time. The maximum allowed hole size scales with distance, so that we allow filling larger holes at greater distances, measured in mm.

System::Nullable<int32_t> Strictness

Level of strictness when considering if a point should be filled.

A higher level of strictness requires a missing point to be surrounded by valid points on more sides in order to be filled. Increasing this will fill fewer points, but it will be less likely to fill gaps that are not circular, for example between two edges.

struct NoiseGroup

Contains filters that can be used to clean up a noisy point cloud.

Public Functions

inline NoiseGroup()

Constructor.

NoiseGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

NoiseGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

struct RemovalGroup

Discard points with signal-to-noise ratio (SNR) values below a threshold.

Public Functions

inline RemovalGroup()

Constructor.

RemovalGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

RemovalGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<bool> Enabled

Enable or disable the SNR filter.

System::Nullable<double> Threshold

Discard points with signal-to-noise ratio (SNR) below the given value.

struct RepairGroup

Get better surface coverage by repairing regions of missing data due to noisy points.

Consider disabling this filter if you require all points in your point cloud to be of high confidence.

Public Functions

inline RepairGroup()

Constructor.

RepairGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

RepairGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<bool> Enabled

Enable or disable noise repair.

struct SuppressionGroup

Reduce noise and outliers in the point cloud.

This filter can also be used to reduce ripple effects caused by interreflections. Consider disabling this filter if you need to distinguish very fine details and thus need to avoid any smoothing effects.

Public Functions

inline SuppressionGroup()

Constructor.

SuppressionGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

SuppressionGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<bool> Enabled

Enable or disable noise suppression.

struct OutlierGroup

Contains a filter that removes points with large Euclidean distance to neighboring points.

Public Functions

inline OutlierGroup()

Constructor.

OutlierGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

OutlierGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

struct RemovalGroup

Discard point if Euclidean distance to neighboring points is above a threshold.

Public Functions

inline RemovalGroup()

Constructor.

RemovalGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

RemovalGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<bool> Enabled

Enable or disable the outlier filter.

System::Nullable<double> Threshold

Discard point if Euclidean distance to neighboring points is above the given value.

struct ReflectionGroup

Contains a filter that removes points likely introduced by reflections (useful for shiny materials).

Public Functions

inline ReflectionGroup()

Constructor.

ReflectionGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

ReflectionGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

struct RemovalGroup

Discard points likely introduced by reflections (useful for shiny materials).

Public Types

enum class ModeOption : std::underlying_type<Zivid::Settings::Processing::Filters::Reflection::Removal::Mode::ValueType>::type

The reflection filter has two modes: Local and Global.

Global mode is generally better at removing outlier points in the point cloud, whereas Local mode preserves more 3D data on thin objects far from the background.

Additionally, Local mode behaves slightly differently depending on the Engine used. With Phase engine or Stripe engine, Local mode will process faster than Global mode and remove more reflection artifacts. Also with Stripe engine, Local mode might reduce the number of points resolved on shiny and reflective objects. With Omni engine, Local mode will reduce the amount of artifacts in low projector signal regions, but might also reduce coverage on surfaces with low projector signal.

It is advised to use the Cluster filter together with Local mode.

Values:

enumerator Global
enumerator Local

Public Functions

inline RemovalGroup()

Constructor.

RemovalGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

RemovalGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<bool> Enabled

Enable or disable the reflection filter. Note that this filter is computationally intensive and may affect the frame rate.

System::Nullable<ModeOption> Mode

The reflection filter has two modes: Local and Global.

Global mode is generally better at removing outlier points in the point cloud, whereas Local mode preserves more 3D data on thin objects far from the background.

Additionally, Local mode behaves slightly differently depending on the Engine used. With Phase engine or Stripe engine, Local mode will process faster than Global mode and remove more reflection artifacts. Also with Stripe engine, Local mode might reduce the number of points resolved on shiny and reflective objects. With Omni engine, Local mode will reduce the amount of artifacts in low projector signal regions, but might also reduce coverage on surfaces with low projector signal.

It is advised to use the Cluster filter together with Local mode.

struct SmoothingGroup

Smoothing filters.

Public Functions

inline SmoothingGroup()

Constructor.

SmoothingGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

SmoothingGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

struct GaussianGroup

Gaussian smoothing of the point cloud.

Public Functions

inline GaussianGroup()

Constructor.

GaussianGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

GaussianGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<bool> Enabled

Enable or disable the smoothing filter.

System::Nullable<double> Sigma

Higher values result in smoother point clouds (Standard deviation of the filter coefficients).

struct ResamplingGroup

Settings for changing the output resolution of the point cloud.

Public Types

enum class ModeOption : std::underlying_type<Zivid::Settings::Processing::Resampling::Mode::ValueType>::type

Setting for upsampling or downsampling the point cloud data by some factor.

This operation is performed after all other processing has been completed.

Downsampling is used to reduce the number of points in the point cloud. This is done by combining each 2x2 or 4x4 group of pixels in the original point cloud into one pixel in a new point cloud. This downsample functionality is identical to the downsample method on the PointCloud class. The averaging process reduces noise in the point cloud, but it will not improve capture speed. To improve capture speed, consider using the subsampling modes found in Settings/Sampling/Pixel.

Upsampling is used to increase the number of points in the point cloud. It is not possible to upsample beyond the full resolution of the camera, so upsampling may only be used in combination with the subsampling modes found in Settings/Sampling/Pixel. For example, one may combine blueSubsample2x2 with upsample2x2 to obtain a point cloud that matches a full resolution 2D capture, while retaining the speed benefits of capturing the point cloud with blueSubsample2x2. Upsampling is achieved by expanding pixels in the original point cloud into groups of 2x2 or 4x4 pixels in a new point cloud. Where possible, values are filled at the new points based on an interpolation of the surrounding original points. The points in the new point cloud that correspond to points in the original point cloud are left unchanged. Note that upsampling will lead to four (upsample2x2) or sixteen (upsample4x4) times as many pixels in the point cloud compared to no upsampling, so users should be aware of increased computational cost related to copying and analyzing this data.

Values:

enumerator Disabled
enumerator Downsample2x2
enumerator Downsample4x4
enumerator Upsample2x2
enumerator Upsample4x4

Public Functions

inline ResamplingGroup()

Constructor.

ResamplingGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

ResamplingGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<ModeOption> Mode

Setting for upsampling or downsampling the point cloud data by some factor.

This operation is performed after all other processing has been completed.

Downsampling is used to reduce the number of points in the point cloud. This is done by combining each 2x2 or 4x4 group of pixels in the original point cloud into one pixel in a new point cloud. This downsample functionality is identical to the downsample method on the PointCloud class. The averaging process reduces noise in the point cloud, but it will not improve capture speed. To improve capture speed, consider using the subsampling modes found in Settings/Sampling/Pixel.

Upsampling is used to increase the number of points in the point cloud. It is not possible to upsample beyond the full resolution of the camera, so upsampling may only be used in combination with the subsampling modes found in Settings/Sampling/Pixel. For example, one may combine blueSubsample2x2 with upsample2x2 to obtain a point cloud that matches a full resolution 2D capture, while retaining the speed benefits of capturing the point cloud with blueSubsample2x2. Upsampling is achieved by expanding pixels in the original point cloud into groups of 2x2 or 4x4 pixels in a new point cloud. Where possible, values are filled at the new points based on an interpolation of the surrounding original points. The points in the new point cloud that correspond to points in the original point cloud are left unchanged. Note that upsampling will lead to four (upsample2x2) or sixteen (upsample4x4) times as many pixels in the point cloud compared to no upsampling, so users should be aware of increased computational cost related to copying and analyzing this data.

struct RegionOfInterestGroup

Removes points outside the region of interest.

Public Functions

inline RegionOfInterestGroup()

Constructor.

RegionOfInterestGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

RegionOfInterestGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

struct BoxGroup

Removes points outside the given three-dimensional box.

Using this feature may significantly speed up acquisition and processing time, because one can avoid acquiring and processing data that is guaranteed to fall outside of the region of interest. The degree of speed-up depends on the size and shape of the box. Generally, a smaller box yields a greater speed-up.

The box is defined by three points: O, A and B. These points define two vectors, OA that goes from PointO to PointA, and OB that goes from PointO to PointB. This gives 4 points O, A, B and (O + OA + OB), that together form a parallelogram in 3D.

Two extents can be provided, to extrude the parallelogram along the surface normal vector of the parallelogram plane. This creates a 3D volume (parallelepiped). The surface normal vector is defined by the cross product OA x OB.

Public Functions

inline BoxGroup()

Constructor.

BoxGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

BoxGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<bool> Enabled

Enable or disable box filter.

Zivid::NET::Range< typename Zivid::Settings::RegionOfInterest::Box::Extents::ValueType::Type >^ Extents

Two points on the normal describing the direction and distance from the plane from which the normal is derived.

Zivid::NET::PointXYZ^ PointA

A point such that the vector from PointO to PointA describes the first edge of the parallelogram.

Zivid::NET::PointXYZ^ PointB

A point such that the vector from PointO to PointB describes the second edge of the parallelogram.

Zivid::NET::PointXYZ^ PointO

The point at the intersection of two adjacent edges defining a parallelogram.

struct DepthGroup

Removes points that reside outside of a depth range, meaning that their Z coordinate falls above a given maximum or below a given minimum.

Public Functions

inline DepthGroup()

Constructor.

DepthGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

DepthGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<bool> Enabled

Enable or disable depth filter.

Zivid::NET::Range< typename Zivid::Settings::RegionOfInterest::Depth::Range::ValueType::Type >^ Range

Specify the minimum and maximum Z value that will be included.

struct SamplingGroup

Sampling settings.

Public Types

enum class ColorOption : std::underlying_type<Zivid::Settings::Sampling::Color::ValueType>::type

Choose how to sample colors for the point cloud.

  • rgb option gives an image with full colors.

  • grayscale option gives a grayscale (r=g=b) image, which can be acquired faster than full colors.

  • rgbStrongAmbientLight option gives an image with full colors and reduced color noise. This option should be chosen only for applications which suffer from high color noise and with high amounts of ambient light in the scene.

  • rgbAmbientSuppression option gives an image with full colors while suppressing the ambient light. The Zivid 2+R and Zivid 3 cameras suppress ambient light by default, and therefore do not need the additional option rgbAmbientSuppression.

The grayscale, rgbStrongAmbientLight and rgbAmbientSuppression options are not available on all camera models.

This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a Settings2D object in the Settings/Color field. Tip: If you want to convert an existing settings.yml file to the recommended API, you can import the .yml file into Zivid Studio and then re-export it to .yml.

Values:

enumerator Rgb
enumerator Disabled
enumerator Grayscale
enumerator RgbStrongAmbientLight
enumerator RgbAmbientSuppression
enum class PixelOption : std::underlying_type<Zivid::Settings::Sampling::Pixel::ValueType>::type

For Zivid 2 and Zivid 2+, this setting controls whether to read out the full image sensor and use white projector light or to subsample pixels for specific color channels with corresponding projector light.

Picking a specific color channel can help reduce noise and effects of ambient light - projecting blue light is recommended.

For Zivid 2+R and Zivid 3, the user does not have to set the projection color and should only consider whether to scale the resolution by2x2 or by4x4. Both of these modes will boost the signal strength by about 4x compared to all, so the user should consider a corresponding reduction in exposure time.

Sampling at a decreased resolution decreases capture time, as less data will be captured and processed.

Values:

enumerator All
enumerator BlueSubsample2x2
enumerator RedSubsample2x2
enumerator BlueSubsample4x4
enumerator RedSubsample4x4
enumerator By2x2
enumerator By4x4

Public Functions

inline SamplingGroup()

Constructor.

SamplingGroup ^ CopyWith (CopyWithDelegate ^ delegate)

Create a clone (deep copy) of the current instance and invoke delegate on the clone.

Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.

SamplingGroup ^ Clone ()

Create a clone (deep copy) of the current instance.

System::String ^ ToString () override

Get string representation of the object.

Properties

System::Nullable<ColorOption> Color

Choose how to sample colors for the point cloud.

  • rgb option gives an image with full colors.

  • grayscale option gives a grayscale (r=g=b) image, which can be acquired faster than full colors.

  • rgbStrongAmbientLight option gives an image with full colors and reduced color noise. This option should be chosen only for applications which suffer from high color noise and with high amounts of ambient light in the scene.

  • rgbAmbientSuppression option gives an image with full colors while suppressing the ambient light. The Zivid 2+R and Zivid 3 cameras suppress ambient light by default, and therefore do not need the additional option rgbAmbientSuppression.

The grayscale, rgbStrongAmbientLight and rgbAmbientSuppression options are not available on all camera models.

This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a Settings2D object in the Settings/Color field. Tip: If you want to convert an existing settings.yml file to the recommended API, you can import the .yml file into Zivid Studio and then re-export it to .yml.

System::Nullable<PixelOption> Pixel

For Zivid 2 and Zivid 2+, this setting controls whether to read out the full image sensor and use white projector light or to subsample pixels for specific color channels with corresponding projector light.

Picking a specific color channel can help reduce noise and effects of ambient light - projecting blue light is recommended.

For Zivid 2+R and Zivid 3, the user does not have to set the projection color and should only consider whether to scale the resolution by2x2 or by4x4. Both of these modes will boost the signal strength by about 4x compared to all, so the user should consider a corresponding reduction in exposure time.

Sampling at a decreased resolution decreases capture time, as less data will be captured and processed.

Go to source

source

settings = zivid.Settings(
    acquisitions=[zivid.Settings.Acquisition()],
    color=zivid.Settings2D(acquisitions=[zivid.Settings2D.Acquisition()]),
)