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
Processingthen invokingset(args).The provided arguments must be descendants of
Processing. These types can be provided:Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance
Settings::Processing::Filters::Experimental::ContrastDistortion
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold
-
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:Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance
Settings::Processing::Filters::Experimental::ContrastDistortion
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold
-
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:Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance
Settings::Processing::Filters::Experimental::ContrastDistortion
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold
-
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)
-
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)
-
inline Processing &set(const Color::Gamma &value)
Set Color::Gamma.
-
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)
-
inline Processing &set(const Filters::Cluster::Removal::MaxNeighborDistance &value)
-
inline Processing &set(const Filters::Experimental &value)
-
inline Processing &set(const Filters::Experimental::ContrastDistortion &value)
-
inline Processing &set(const Filters::Experimental::ContrastDistortion::Correction &value)
-
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)
-
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)
-
inline Processing &set(const Filters::Hole::Repair::Strictness &value)
-
inline Processing &set(const Filters::Noise &value)
Set Filters::Noise.
-
inline Processing &set(const Filters::Noise::Removal &value)
-
inline Processing &set(const Filters::Noise::Repair &value)
-
inline Processing &set(const Filters::Noise::Suppression &value)
-
inline Processing &set(const Filters::Noise::Suppression::Enabled &value)
-
inline Processing &set(const Filters::Outlier &value)
Set Filters::Outlier.
-
inline Processing &set(const Filters::Outlier::Removal &value)
-
inline Processing &set(const Filters::Reflection &value)
Set Filters::Reflection.
-
inline Processing &set(const Filters::Reflection::Removal &value)
-
inline Processing &set(const Filters::Reflection::Removal::Enabled &value)
-
inline Processing &set(const Filters::Reflection::Removal::Mode &value)
-
inline Processing &set(const Filters::Smoothing &value)
Set Filters::Smoothing.
-
inline Processing &set(const Filters::Smoothing::Gaussian &value)
-
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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, 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
Colorthen invokingset(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 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.
-
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.
-
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
-
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
Balancethen invokingset(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:
-
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.
-
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
-
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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, 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.
Public Static Functions
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.
-
using ValueType = double
-
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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, 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.
Public Static Functions
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.
-
using ValueType = double
-
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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, 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.
Public Static Functions
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.
-
using ValueType = double
-
Balance()
-
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
Experimentalthen invokingset(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 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.
automaticis the default option.automaticis identical touseFirstAcquisitionfor single-acquisition captures and multi-acquisition captures when all the acquisitions have identical (duplicated) acquisition settings.automaticis identical totoneMappingfor multi-acquisition HDR captures with differing acquisition settings.useFirstAcquisitionuses 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.toneMappinguses 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.toneMappingwill map the HDR color data to the 8-bit color output range by applying a scaling factor.toneMappingcan also be used for single-acquisition captures to normalize the captured color image to the full 8-bit output. Note that when usingtoneMappingmode 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 theuseFirstAcquisitionmode.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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, you can import the .yml file into Zivid Studio and then re-export it to .yml.Public Types
Public Functions
-
Mode() = default
Default 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.
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.
-
Mode() = default
-
Experimental()
-
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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, 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.
Public Static Functions
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.
-
using ValueType = double
-
Color()
-
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
Filtersthen invokingset(args).The provided arguments must be descendants of
Filters. These types can be provided:Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance
Settings::Processing::Filters::Experimental::ContrastDistortion
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold
-
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:Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance
Settings::Processing::Filters::Experimental::ContrastDistortion
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold
-
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:Settings::Processing::Filters::Cluster::Removal::MaxNeighborDistance
Settings::Processing::Filters::Experimental::ContrastDistortion
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold
-
inline Filters &set(const Cluster::Removal &value)
Set Cluster::Removal.
-
inline Filters &set(const Cluster::Removal::MaxNeighborDistance &value)
-
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)
-
inline Filters &set(const Experimental::ContrastDistortion::Correction &value)
-
inline Filters &set(const Experimental::ContrastDistortion::Correction::Enabled &value)
-
inline Filters &set(const Experimental::ContrastDistortion::Correction::Strength &value)
-
inline Filters &set(const Experimental::ContrastDistortion::Removal &value)
-
inline Filters &set(const Experimental::ContrastDistortion::Removal::Enabled &value)
-
inline Filters &set(const Experimental::ContrastDistortion::Removal::Threshold &value)
-
inline Filters &set(const Hole::Repair &value)
Set Hole::Repair.
-
inline Filters &set(const Hole::Repair::Strictness &value)
-
inline Filters &set(const Noise::Removal &value)
Set Noise::Removal.
-
inline Filters &set(const Noise::Repair &value)
Set Noise::Repair.
-
inline Filters &set(const Noise::Suppression &value)
Set Noise::Suppression.
-
inline Filters &set(const Noise::Suppression::Enabled &value)
-
inline Filters &set(const Outlier::Removal &value)
Set Outlier::Removal.
-
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)
-
inline Filters &set(const Reflection::Removal::Mode &value)
-
inline Filters &set(const Smoothing::Gaussian &value)
Set Smoothing::Gaussian.
-
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.
-
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
-
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
Clusterthen invokingset(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 Cluster &set(const Removal::Enabled &value)
Set Removal::Enabled.
-
inline Cluster &set(const Removal::MaxNeighborDistance &value)
-
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.
-
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
-
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
Removalthen invokingset(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 MaxNeighborDistance &maxNeighborDistance() const
Get MaxNeighborDistance.
-
inline MaxNeighborDistance &maxNeighborDistance()
Get MaxNeighborDistance.
-
inline Removal &set(const MaxNeighborDistance &value)
Set MaxNeighborDistance.
-
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.
-
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
-
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.
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.
-
using ValueType = bool
-
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.
-
using ValueType = double
-
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.
Public Static Functions
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.
-
using ValueType = double
-
Removal()
-
Cluster()
-
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
Experimentalthen invokingset(args).The provided arguments must be descendants of
Experimental. These types can be provided:Settings::Processing::Filters::Experimental::ContrastDistortion
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold
-
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:Settings::Processing::Filters::Experimental::ContrastDistortion
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold
-
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:Settings::Processing::Filters::Experimental::ContrastDistortion
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold
-
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)
-
inline Experimental &set(const ContrastDistortion::Correction::Enabled &value)
-
inline Experimental &set(const ContrastDistortion::Correction::Strength &value)
-
inline Experimental &set(const ContrastDistortion::Removal &value)
-
inline Experimental &set(const ContrastDistortion::Removal::Enabled &value)
-
inline Experimental &set(const ContrastDistortion::Removal::Threshold &value)
-
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
ContrastDistortionthen invokingset(args).The provided arguments must be descendants of
ContrastDistortion. These types can be provided:Settings::Processing::Filters::Experimental::ContrastDistortion::Correction
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold
-
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:Settings::Processing::Filters::Experimental::ContrastDistortion::Correction
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold
-
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:Settings::Processing::Filters::Experimental::ContrastDistortion::Correction
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Correction::Strength
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled
Settings::Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold
-
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 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
Correctionthen invokingset(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 Correction &set(const Enabled &value)
Set Enabled.
-
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.
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.
-
using ValueType = bool
-
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.
Public Static Functions
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.
-
using ValueType = double
-
Correction()
-
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
Removalthen invokingset(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:
-
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.
-
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
-
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.
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.
-
using ValueType = bool
-
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.
Public Static Functions
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.
-
using ValueType = double
-
Removal()
-
ContrastDistortion()
-
Experimental()
-
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
Holethen invokingset(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 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.
-
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
-
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
Repairthen invokingset(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 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.
-
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
-
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.
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.
-
using ValueType = bool
-
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.
Public Static Functions
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.
-
using ValueType = double
-
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.
-
using ValueType = int32_t
-
Repair()
-
Hole()
-
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
Noisethen invokingset(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 Noise &set(const Removal::Enabled &value)
Set Removal::Enabled.
-
inline Noise &set(const Removal::Threshold &value)
Set Removal::Threshold.
-
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.
-
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
-
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
Removalthen invokingset(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:
-
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.
-
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
-
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.
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.
-
using ValueType = bool
-
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.
Public Static Functions
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.
-
using ValueType = double
-
Removal()
-
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
Repairthen invokingset(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:
-
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.
-
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
-
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.
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.
-
using ValueType = bool
-
Repair()
-
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
Suppressionthen invokingset(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 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.
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.
-
using ValueType = bool
-
Suppression()
-
Noise()
-
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
Outlierthen invokingset(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 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.
-
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
-
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
Removalthen invokingset(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:
-
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.
-
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
-
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.
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.
-
using ValueType = bool
-
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.
Public Static Functions
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.
-
using ValueType = double
-
Removal()
-
Outlier()
-
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
Reflectionthen invokingset(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 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
Removalthen invokingset(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:
-
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.
-
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
-
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.
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.
-
using ValueType = bool
-
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
Public Functions
-
Mode() = default
Default 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.
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.
-
Mode() = default
-
Removal()
-
Reflection()
-
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
Smoothingthen invokingset(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 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.
-
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
-
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
Gaussianthen invokingset(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:
-
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.
-
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
-
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.
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.
-
using ValueType = bool
-
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.
Public Static Functions
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.
-
using ValueType = double
-
Gaussian()
-
Smoothing()
-
Filters()
-
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
Resamplingthen invokingset(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 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
Public Functions
-
Mode() = default
Default 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.
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.
-
Mode() = default
-
Resampling()
-
Processing()
-
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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, 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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, 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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, 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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, 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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, you can import the .yml file into Zivid Studio and then re-export it to .yml.
-
inline BalanceGroup()
-
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.
automaticis the default option.automaticis identical touseFirstAcquisitionfor single-acquisition captures and multi-acquisition captures when all the acquisitions have identical (duplicated) acquisition settings.automaticis identical totoneMappingfor multi-acquisition HDR captures with differing acquisition settings.useFirstAcquisitionuses 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.toneMappinguses 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.toneMappingwill map the HDR color data to the 8-bit color output range by applying a scaling factor.toneMappingcan also be used for single-acquisition captures to normalize the captured color image to the full 8-bit output. Note that when usingtoneMappingmode 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 theuseFirstAcquisitionmode.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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, you can import the .yml file into Zivid Studio and then re-export it to .yml.Values:
-
enumerator Automatic
-
enumerator UseFirstAcquisition
-
enumerator ToneMapping
-
enumerator Automatic
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.
automaticis the default option.automaticis identical touseFirstAcquisitionfor single-acquisition captures and multi-acquisition captures when all the acquisitions have identical (duplicated) acquisition settings.automaticis identical totoneMappingfor multi-acquisition HDR captures with differing acquisition settings.useFirstAcquisitionuses 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.toneMappinguses 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.toneMappingwill map the HDR color data to the 8-bit color output range by applying a scaling factor.toneMappingcan also be used for single-acquisition captures to normalize the captured color image to the full 8-bit output. Note that when usingtoneMappingmode 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 theuseFirstAcquisitionmode.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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, you can import the .yml file into Zivid Studio and then re-export it to .yml.
-
enum class ModeOption : std::underlying_type<Zivid::Settings::Processing::Color::Experimental::Mode::ValueType>::type
-
inline ColorGroup()
-
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.
-
inline RemovalGroup()
-
inline ClusterGroup()
-
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.
-
inline CorrectionGroup()
-
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.
-
inline RemovalGroup()
-
inline ContrastDistortionGroup()
-
inline ExperimentalGroup()
-
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.
-
inline RepairGroup()
-
inline HoleGroup()
-
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.
-
inline RemovalGroup()
-
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.
-
inline RepairGroup()
-
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.
-
inline SuppressionGroup()
-
inline NoiseGroup()
-
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.
-
inline RemovalGroup()
-
inline OutlierGroup()
-
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
-
enumerator Global
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.
-
enum class ModeOption : std::underlying_type<Zivid::Settings::Processing::Filters::Reflection::Removal::Mode::ValueType>::type
-
inline ReflectionGroup()
-
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.
-
inline GaussianGroup()
-
inline SmoothingGroup()
-
inline FiltersGroup()
-
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
-
enumerator Disabled
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.
-
enum class ModeOption : std::underlying_type<Zivid::Settings::Processing::Resampling::Mode::ValueType>::type
-
inline ProcessingGroup()
- class Processing( )
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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, 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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, 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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, 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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, you can import the .yml file into Zivid Studio and then re-export it to .yml.
- class Experimental( )
Experimental color settings. These may be renamed, moved or deleted in the future.
- class Mode
This setting controls how the color image is computed.
automaticis the default option.automaticis identical touseFirstAcquisitionfor single-acquisition captures and multi-acquisition captures when all the acquisitions have identical (duplicated) acquisition settings.automaticis identical totoneMappingfor multi-acquisition HDR captures with differing acquisition settings.useFirstAcquisitionuses 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.toneMappinguses 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.toneMappingwill map the HDR color data to the 8-bit color output range by applying a scaling factor.toneMappingcan also be used for single-acquisition captures to normalize the captured color image to the full 8-bit output. Note that when usingtoneMappingmode 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 theuseFirstAcquisitionmode. 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 theSettings/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, 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.
automaticis the default option.automaticis identical touseFirstAcquisitionfor single-acquisition captures and multi-acquisition captures when all the acquisitions have identical (duplicated) acquisition settings.automaticis identical totoneMappingfor multi-acquisition HDR captures with differing acquisition settings.useFirstAcquisitionuses 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.toneMappinguses 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.toneMappingwill map the HDR color data to the 8-bit color output range by applying a scaling factor.toneMappingcan also be used for single-acquisition captures to normalize the captured color image to the full 8-bit output. Note that when usingtoneMappingmode 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 theuseFirstAcquisitionmode. 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 theSettings/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, 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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, 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( )
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( )
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( )
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( )
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( )
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( )
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( )
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( )
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/Colornode. Tip: If you want to convert an existing settings.yml file to use theSettings/Colornode, you can import the .yml file into Zivid Studio and then re-export it to .yml.
- property filters
Filter settings.