Processing

Filters, resampling and color processing applied to the acquired 3D data.

For guidance on choosing these settings, see Filters.

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.

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.

class Processing(
color: Color | None = None,
filters: Filters | None = None,
resampling: Resampling | None = None,
)

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

class Color(
gamma: float | int | None = _zivid.Settings.Processing.Color.Gamma().value,
balance: Balance | None = None,
experimental: Experimental | None = None,
)

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.

class Balance(
blue: float | int | None = _zivid.Settings.Processing.Color.Balance.Blue().value,
green: float | int | None = _zivid.Settings.Processing.Color.Balance.Green().value,
red: float | int | None = _zivid.Settings.Processing.Color.Balance.Red().value,
)

Color balance settings.

property 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.

property 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.

property 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.

class Experimental(
mode: str | None = _zivid.Settings.Processing.Color.Experimental.Mode().value,
)

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

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.

property 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.

property balance

Color balance settings.

property experimental

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

property 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.

class Filters(
cluster: Cluster | None = None,
experimental: Experimental | None = None,
hole: Hole | None = None,
noise: Noise | None = None,
outlier: Outlier | None = None,
reflection: Reflection | None = None,
smoothing: Smoothing | None = None,
)

Filter settings.

class Cluster(
removal: Removal | None = None,
)

Removes floating points and isolated clusters from the point cloud.

class Removal(
enabled: bool | None = _zivid.Settings.Processing.Filters.Cluster.Removal.Enabled().value,
max_neighbor_distance: float | int | None = _zivid.Settings.Processing.Filters.Cluster.Removal.MaxNeighborDistance().value,
min_area: float | int | None = _zivid.Settings.Processing.Filters.Cluster.Removal.MinArea().value,
)

Cluster removal filter.

property enabled

Enable or disable cluster removal.

property max_neighbor_distance

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.

property min_area

Clusters with area below this threshold are removed by the filter. The area is given in mm^2.

property removal

Cluster removal filter.

class Experimental(
contrast_distortion: ContrastDistortion | None = None,
)

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

class ContrastDistortion(
correction: Correction | None = None,
removal: Removal | None = None,
)

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.

class Correction(
enabled: bool | None = _zivid.Settings.Processing.Filters.Experimental.ContrastDistortion.Correction.Enabled().value,
strength: float | int | None = _zivid.Settings.Processing.Filters.Experimental.ContrastDistortion.Correction.Strength().value,
)

Contrast distortion correction filter.

property enabled

Enable or disable contrast distortion correction.

property strength

Strength of correction. Higher values give more correction.

class Removal(
enabled: bool | None = _zivid.Settings.Processing.Filters.Experimental.ContrastDistortion.Removal.Enabled().value,
threshold: float | int | None = _zivid.Settings.Processing.Filters.Experimental.ContrastDistortion.Removal.Threshold().value,
)

Contrast distortion removal filter.

property enabled

Enable or disable contrast distortion removal.

property threshold

Threshold for removal. Higher values remove more points.

property correction

Contrast distortion correction filter.

property removal

Contrast distortion removal filter.

property contrast_distortion

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.

class Hole(
repair: Repair | None = None,
)

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

class Repair(
enabled: bool | None = _zivid.Settings.Processing.Filters.Hole.Repair.Enabled().value,
hole_size: float | int | None = _zivid.Settings.Processing.Filters.Hole.Repair.HoleSize().value,
strictness: int | None = _zivid.Settings.Processing.Filters.Hole.Repair.Strictness().value,
)

Fills in point cloud holes by interpolating remaining surrounding points.

property enabled

Enable or disable hole repair.

property hole_size

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.

property 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.

property repair

Fills in point cloud holes by interpolating remaining surrounding points.

class Noise(
removal: Removal | None = None,
repair: Repair | None = None,
suppression: Suppression | None = None,
)

Contains filters that can be used to clean up a noisy point cloud.

class Removal(
enabled: bool | None = _zivid.Settings.Processing.Filters.Noise.Removal.Enabled().value,
threshold: float | int | None = _zivid.Settings.Processing.Filters.Noise.Removal.Threshold().value,
)

Discard points with signal-to-noise ratio (SNR) values below a threshold.

property enabled

Enable or disable the SNR filter.

property threshold

Discard points with signal-to-noise ratio (SNR) below the given value.

class Repair(
enabled: bool | None = _zivid.Settings.Processing.Filters.Noise.Repair.Enabled().value,
)

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.

property enabled

Enable or disable noise repair.

class Suppression(
enabled: bool | None = _zivid.Settings.Processing.Filters.Noise.Suppression.Enabled().value,
)

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.

property enabled

Enable or disable noise suppression.

property removal

Discard points with signal-to-noise ratio (SNR) values below a threshold.

property 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.

property 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.

class Outlier(
removal: Removal | None = None,
)

Contains a filter that removes points with large Euclidean distance to neighboring points.

class Removal(
enabled: bool | None = _zivid.Settings.Processing.Filters.Outlier.Removal.Enabled().value,
threshold: float | int | None = _zivid.Settings.Processing.Filters.Outlier.Removal.Threshold().value,
)

Discard point if Euclidean distance to neighboring points is above a threshold.

property enabled

Enable or disable the outlier filter.

property threshold

Discard point if Euclidean distance to neighboring points is above the given value.

property removal

Discard point if Euclidean distance to neighboring points is above a threshold.

class Reflection(
removal: Removal | None = None,
)

Contains a filter that removes points likely introduced by reflections (useful for shiny materials).

class Removal(
enabled: bool | None = _zivid.Settings.Processing.Filters.Reflection.Removal.Enabled().value,
mode: str | None = _zivid.Settings.Processing.Filters.Reflection.Removal.Mode().value,
)

Discard points likely introduced by reflections (useful for shiny materials).

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.

property enabled

Enable or disable the reflection filter. Note that this filter is computationally intensive and may affect the frame rate.

property 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.

property removal

Discard points likely introduced by reflections (useful for shiny materials).

class Smoothing(
gaussian: Gaussian | None = None,
)

Smoothing filters.

class Gaussian(
enabled: bool | None = _zivid.Settings.Processing.Filters.Smoothing.Gaussian.Enabled().value,
sigma: float | int | None = _zivid.Settings.Processing.Filters.Smoothing.Gaussian.Sigma().value,
)

Gaussian smoothing of the point cloud.

property enabled

Enable or disable the smoothing filter.

property sigma

Higher values result in smoother point clouds (Standard deviation of the filter coefficients).

property gaussian

Gaussian smoothing of the point cloud.

property cluster

Removes floating points and isolated clusters from the point cloud.

property experimental

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

property hole

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

property noise

Contains filters that can be used to clean up a noisy point cloud.

property outlier

Contains a filter that removes points with large Euclidean distance to neighboring points.

property reflection

Contains a filter that removes points likely introduced by reflections (useful for shiny materials).

property smoothing

Smoothing filters.

class Resampling(
mode: str | None = _zivid.Settings.Processing.Resampling.Mode().value,
)

Settings for changing the output resolution of the point cloud.

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.

property 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.

property 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.

property filters

Filter settings.

property resampling

Settings for changing the output resolution of the point cloud.