Settings (2D + 3D)
Capture settings for the combined 2D + 3D pipeline.
-
class Settings
Settings used when capturing a 3D capture or 2D+3D capture with a Zivid camera.
Public Functions
-
Settings()
Default constructor.
-
std::string serialize() const
Serialize to a string.
See also fromSerialized. The returned string is formatted in YAML, and is compatible with the contents of files saved using save.
-
template<typename ...Args>
inline explicit Settings(Args&&... args) Constructor taking variadic number of arguments.
One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing
Settingsthen invokingset(args).The provided arguments must be descendants of
Settings. 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
Settings. 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 Settings copyWith(Args&&... args) const Returns a copy of this object with the given argument(s) set to the new value(s)
Creates a copy of this Settings object, then invokes
set(args)on the copy, and finally returns the copy. This method does not modify the original object.The provided arguments must be descendants of
Settings. These types can be provided: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 const Acquisitions &acquisitions() const
Get Acquisitions.
-
inline Acquisitions &acquisitions()
Get Acquisitions.
-
inline Settings &set(const Acquisitions &value)
Set Acquisitions.
-
inline const Diagnostics &diagnostics() const
Get Diagnostics.
-
inline Diagnostics &diagnostics()
Get Diagnostics.
-
inline Settings &set(const Diagnostics &value)
Set Diagnostics.
-
inline Settings &set(const Diagnostics::Enabled &value)
Set Diagnostics::Enabled.
-
inline const Processing &processing() const
Get Processing.
-
inline Processing &processing()
Get Processing.
-
inline Settings &set(const Processing &value)
Set Processing.
-
inline Settings &set(const Processing::Color &value)
Set Processing::Color.
-
inline Settings &set(const Processing::Color::Balance &value)
-
inline Settings &set(const Processing::Color::Experimental &value)
-
inline Settings &set(const Processing::Color::Experimental::Mode &value)
-
inline Settings &set(const Processing::Color::Gamma &value)
-
inline Settings &set(const Processing::Filters &value)
Set Processing::Filters.
-
inline Settings &set(const Processing::Filters::Cluster &value)
-
inline Settings &set(const Processing::Filters::Cluster::Removal::MaxNeighborDistance &value)
Set Processing::Filters::Cluster::Removal::MaxNeighborDistance.
-
inline Settings &set(const Processing::Filters::Experimental &value)
-
inline Settings &set(const Processing::Filters::Experimental::ContrastDistortion &value)
-
inline Settings &set(const Processing::Filters::Experimental::ContrastDistortion::Correction &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction.
-
inline Settings &set(const Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction::Enabled.
-
inline Settings &set(const Processing::Filters::Experimental::ContrastDistortion::Correction::Strength &value)
Set Processing::Filters::Experimental::ContrastDistortion::Correction::Strength.
-
inline Settings &set(const Processing::Filters::Experimental::ContrastDistortion::Removal &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal.
-
inline Settings &set(const Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal::Enabled.
-
inline Settings &set(const Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold &value)
Set Processing::Filters::Experimental::ContrastDistortion::Removal::Threshold.
-
inline Settings &set(const Processing::Filters::Hole &value)
-
inline Settings &set(const Processing::Filters::Hole::Repair::Strictness &value)
-
inline Settings &set(const Processing::Filters::Noise &value)
-
inline Settings &set(const Processing::Filters::Noise::Suppression &value)
-
inline Settings &set(const Processing::Filters::Noise::Suppression::Enabled &value)
-
inline Settings &set(const Processing::Filters::Outlier &value)
-
inline Settings &set(const Processing::Filters::Reflection &value)
-
inline Settings &set(const Processing::Filters::Reflection::Removal &value)
-
inline Settings &set(const Processing::Filters::Reflection::Removal::Enabled &value)
-
inline Settings &set(const Processing::Filters::Reflection::Removal::Mode &value)
-
inline Settings &set(const Processing::Filters::Smoothing &value)
-
inline Settings &set(const Processing::Resampling &value)
-
inline Settings &set(const Processing::Resampling::Mode &value)
-
inline const RegionOfInterest ®ionOfInterest() const
Get RegionOfInterest.
-
inline RegionOfInterest ®ionOfInterest()
Get RegionOfInterest.
-
inline Settings &set(const RegionOfInterest &value)
Set RegionOfInterest.
-
inline Settings &set(const RegionOfInterest::Box &value)
-
inline Settings &set(const RegionOfInterest::Box::Enabled &value)
-
inline Settings &set(const RegionOfInterest::Box::Extents &value)
-
inline Settings &set(const RegionOfInterest::Box::PointA &value)
-
inline Settings &set(const RegionOfInterest::Box::PointB &value)
-
inline Settings &set(const RegionOfInterest::Box::PointO &value)
-
inline Settings &set(const RegionOfInterest::Depth &value)
-
inline Settings &set(const RegionOfInterest::Depth::Enabled &value)
-
inline Settings &set(const RegionOfInterest::Depth::Range &value)
-
inline Settings &set(const Sampling::Color &value)
Set Sampling::Color.
-
inline Settings &set(const Sampling::Pixel &value)
Set Sampling::Pixel.
-
template<typename F>
inline void forEach(const F &f) const Run the given function on each direct member with the value of the member as parameter.
-
template<typename F>
inline void forEach(const F &f) Run the given function on each direct member with the value of the member as parameter.
-
std::string toString() const
Get the value as string.
-
void save(const std::string &fileName) const
Save to the given file.
-
void load(const std::string &fileName)
Load from the given file.
Public Static Functions
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group
The type of this node.
-
static constexpr const char *path = {""}
The full path for this value.
-
static constexpr const char *name = {"Settings"}
The name of this value.
- static constexpr const char * description {R"description(Settingsused when capturing a 3D capture or 2D+3D capture with a Zivid camera.)description"}
The description for this value.
Friends
-
class Acquisition
Settings for a single acquisition.
Public Functions
-
Acquisition()
Default constructor.
-
template<typename ...Args>
inline explicit Acquisition(Args&&... args) Constructor taking variadic number of arguments.
One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing
Acquisitionthen invokingset(args).The provided arguments must be descendants of
Acquisition. These types can be provided:
-
template<typename ...Args>
inline void set(Args&&... args) Set multiple arguments.
The method invokes
set(arg)with each of the provided arguments.The provided arguments must be descendants of
Acquisition. These types can be provided:
-
template<typename ...Args>
inline Acquisition copyWith(Args&&... args) const Returns a copy of this object with the given argument(s) set to the new value(s)
Creates a copy of this Acquisition object, then invokes
set(args)on the copy, and finally returns the copy. This method does not modify the original object.The provided arguments must be descendants of
Acquisition. These types can be provided:
-
inline Acquisition &set(const Aperture &value)
Set Aperture.
-
inline const Brightness &brightness() const
Get Brightness.
-
inline Brightness &brightness()
Get Brightness.
-
inline Acquisition &set(const Brightness &value)
Set Brightness.
-
inline const ExposureTime &exposureTime() const
Get ExposureTime.
-
inline ExposureTime &exposureTime()
Get ExposureTime.
-
inline Acquisition &set(const ExposureTime &value)
Set ExposureTime.
-
inline Acquisition &set(const Gain &value)
Set Gain.
-
template<typename F>
inline void forEach(const F &f) const Run the given function on each direct member with the value of the member as parameter.
-
template<typename F>
inline void forEach(const F &f) Run the given function on each direct member with the value of the member as parameter.
-
bool operator==(const Acquisition &other) const
Equality operator.
-
bool operator!=(const Acquisition &other) const
Inequality operator.
-
std::string toString() const
Get the value as string.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group
The type of this node.
-
static constexpr const char *path = {"Acquisition"}
The full path for this value.
-
static constexpr const char *name = {"Acquisition"}
The name of this value.
- static constexpr const char * description = { R"description(Settings for a single acquisition.)description" }
The description for this value.
Friends
-
inline friend std::ostream &operator<<(std::ostream &stream, const Acquisition &value)
Operator to send the value as string to a stream.
-
class Aperture
Aperture setting for the camera.
Specified as an f-number (the ratio of lens focal length to the effective aperture diameter).
Public Types
-
using ValueType = double
The type of the underlying value.
Public Functions
-
Aperture() = default
Default constructor.
-
inline explicit constexpr Aperture(double value)
Constructor.
-
double value() const
Get the value.
If this object does not contain a value (see hasValue) then this method throws an exception.
-
bool hasValue() const
Check if the value is set.
-
void reset()
Reset the node to unset state.
-
std::string toString() const
Get the value as string.
Public Static Functions
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"Acquisition/Aperture"}
The full path for this value.
-
static constexpr const char *name = {"Aperture"}
The name of this value.
- static constexpr const char * description {R"description(Aperturesetting for the camera. Specified as an f-number (the ratio of lens focal length tothe effectiveaperturediameter).)description"}
The description for this value.
-
using ValueType = double
-
class Brightness
Brightness controls the light output from the projector.
Brightness above 1.0 may be needed when the distance between the camera and the scene is large, or in case of high levels of ambient lighting.
When brightness is above 1.0 the duty cycle of the camera (the percentage of time the camera can capture) will be reduced. The duty cycle in boost mode is 50%. The duty cycle is calculated over a 10 second period. This limitation is enforced automatically by the camera. Calling capture when the duty cycle limit has been reached will cause the camera to first wait (sleep) for a duration of time to cool down, before capture will start.
Public Types
-
using ValueType = double
The type of the underlying value.
Public Functions
-
Brightness() = default
Default constructor.
-
inline explicit constexpr Brightness(double value)
Constructor.
-
double value() const
Get the value.
If this object does not contain a value (see hasValue) then this method throws an exception.
-
bool hasValue() const
Check if the value is set.
-
void reset()
Reset the node to unset state.
-
std::string toString() const
Get the value as string.
-
inline bool operator==(const Brightness &other) const
Comparison operator.
-
inline bool operator!=(const Brightness &other) const
Comparison operator.
-
inline bool operator<(const Brightness &other) const
Comparison operator.
-
inline bool operator>(const Brightness &other) const
Comparison operator.
-
inline bool operator<=(const Brightness &other) const
Comparison operator.
-
inline bool operator>=(const Brightness &other) const
Comparison operator.
Public Static Functions
-
static inline constexpr Range<double> validRange()
The range of valid values for Brightness.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"Acquisition/Brightness"}
The full path for this value.
-
static constexpr const char *name = {"Brightness"}
The name of this value.
- static constexpr const char * description {R"description(Brightness controls the light output from the projector. Brightnessabove 1.0 may be needed when the distance between the camera and the scene is large,or in case of high levels of ambient lighting.Whenbrightnessis above 1.0 the duty cycle of the camera (the percentage of time the cameracan capture) will be reduced. The duty cycle in boost mode is 50%. The duty cycle is calculatedover a 10 second period. This limitation is enforced automatically by the camera. Calling capturewhen the duty cycle limit has been reached will cause the camera to first wait (sleep) for aduration of time to cool down, before capture will start.)description"}
The description for this value.
Friends
-
inline friend std::ostream &operator<<(std::ostream &stream, const Brightness &value)
Operator to serialize the value to a stream.
-
using ValueType = double
-
class ExposureTime
Exposure time for each single image in the measurement. Affects frame rate.
Public Types
-
using ValueType = std::chrono::microseconds
The type of the underlying value.
Public Functions
-
ExposureTime() = default
Default constructor.
-
inline explicit constexpr ExposureTime(std::chrono::microseconds value)
Constructor.
-
std::chrono::microseconds value() const
Get the value.
If this object does not contain a value (see hasValue) then this method throws an exception.
-
bool hasValue() const
Check if the value is set.
-
void reset()
Reset the node to unset state.
-
std::string toString() const
Get the value as string.
-
inline bool operator==(const ExposureTime &other) const
Comparison operator.
-
inline bool operator!=(const ExposureTime &other) const
Comparison operator.
-
inline bool operator<(const ExposureTime &other) const
Comparison operator.
-
inline bool operator>(const ExposureTime &other) const
Comparison operator.
-
inline bool operator<=(const ExposureTime &other) const
Comparison operator.
-
inline bool operator>=(const ExposureTime &other) const
Comparison operator.
Public Static Functions
-
static inline constexpr Range<std::chrono::microseconds> validRange()
The range of valid values for ExposureTime.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"Acquisition/ExposureTime"}
The full path for this value.
-
static constexpr const char *name = {"ExposureTime"}
The name of this value.
- static constexpr const char * description {R"description(Exposure time for each single image in the measurement. Affectsframerate.)description"}
The description for this value.
Friends
-
inline friend std::ostream &operator<<(std::ostream &stream, const ExposureTime &value)
Operator to serialize the value to a stream.
-
using ValueType = std::chrono::microseconds
-
class Gain
Analog gain in the camera.
Public Types
-
using ValueType = double
The type of the underlying value.
Public Functions
-
Gain() = default
Default constructor.
-
inline explicit constexpr Gain(double value)
Constructor.
-
double value() const
Get the value.
If this object does not contain a value (see hasValue) then this method throws an exception.
-
bool hasValue() const
Check if the value is set.
-
void reset()
Reset the node to unset state.
-
std::string toString() const
Get the value as string.
Public Static Functions
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"Acquisition/Gain"}
The full path for this value.
-
static constexpr const char *name = {"Gain"}
The name of this value.
- static constexpr const char * description = { R"description(Analog gain in the camera.)description" }
The description for this value.
-
using ValueType = double
-
Acquisition()
-
class Acquisitions
List of Acquisition objects.
Public Types
-
using ValueType = std::vector<Settings::Acquisition>
The type of the underlying value.
-
using Iterator = std::vector<Settings::Acquisition>::iterator
Iterator type for Acquisitions.
-
using ConstIterator = std::vector<Settings::Acquisition>::const_iterator
Constant iterator type for Acquisitions.
Public Functions
-
Acquisitions() = default
Default constructor.
-
inline explicit Acquisitions(std::vector<Settings::Acquisition> value)
Constructor.
-
inline explicit Acquisitions(std::initializer_list<Settings::Acquisition> value)
Constructor.
-
const std::vector<Settings::Acquisition> &value() const
Get the value.
-
std::string toString() const
Get the value as string.
-
std::size_t size() const noexcept
Get the size of the list.
-
bool isEmpty() const noexcept
Check if the list is empty.
-
template<typename ...Args>
inline void emplaceBack(Args&&... args) Appends a new element to the end of the list.
The new element is constructed in-place. The provided arguments Args are forwarded to the constructor of Settings::Acquisition. Invoking this method may invalidate all references to elements in the list.
-
Settings::Acquisition &at(std::size_t pos)
Returns a reference to the element at position
posin the list.This function checks that
posis within the bounds (from 0 to size - 1). Ifposis not within bounds an exception is thrown.
-
const Settings::Acquisition &at(std::size_t pos) const
Returns a const reference to the element at position
posin the list.This function checks that
posis within the bounds (from 0 to size - 1). Ifposis not within bounds an exception is thrown.
-
Settings::Acquisition &operator[](std::size_t pos)
Returns a reference to the element at position
posin the list.posmust be within the bounds (from 0 to size - 1). No bounds checking is performed. at(size_t) will check the bounds and throw an exception ifposit out of bounds.
-
const Settings::Acquisition &operator[](std::size_t pos) const
Returns a const reference to the element at position
posin the list.posmust be within the bounds (from 0 to size - 1). No bounds checking is performed. at(size_t) const will check the bounds and throw an exception ifposit out of bounds.
-
template<typename F>
inline void forEach(const F &f) Run the given function on each element in the list.
-
template<typename F>
inline void forEach(const F &f) const Run the given function on each element in the list.
-
ConstIterator begin() const noexcept
Returns a constant iterator to the first element of the list.
-
ConstIterator end() const noexcept
Returns a constant iterator to the element following the last element of the list.
-
ConstIterator cbegin() const noexcept
Returns a constant iterator to the first element of the list.
-
ConstIterator cend() const noexcept
Returns a constant iterator to the element following the last element of the list.
-
inline bool operator==(const Acquisitions &other) const
Comparison operator.
-
inline bool operator!=(const Acquisitions &other) const
Comparison operator.
Public Static Functions
-
static inline constexpr Range<ValueType::size_type> validSize()
The valid sizes for Acquisitions.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafDataModelList
The type of this node.
-
static constexpr const char *path = {"Acquisitions"}
The full path for this value.
-
static constexpr const char *name = {"Acquisitions"}
The name of this value.
- static constexpr const char * description = { R"description(List of Acquisition objects.)description" }
The description for this value.
Friends
-
inline friend std::ostream &operator<<(std::ostream &stream, const Acquisitions &value)
Operator to serialize the value to a stream.
-
using ValueType = std::vector<Settings::Acquisition>
-
class Color
Specify the settings used for the 2D color image when doing a 2D+3D capture.
The value type of this node is a
Zivid::Settings2Dobject.This setting was introduced in SDK 2.14, as the recommended way to define the acquisition and processing settings for the 2D color image when doing 2D+3D captures.
When this setting is set, it controls how the 2D color image of the 2D+3D capture is acquired and processed. This setting can be used to specify custom acquisition and processing settings that apply only to the 2D color image. These provided settings does not affect the 3D acquisition or processing.
When this setting is not set, then the 2D color image is acquired based on
Settings/AcquisitionsandSettings/Sampling/Color, and processed based onSettings/Processing/Color. IfSettings/Sampling/Coloris set todisabled, then no 2D color image is acquired. This behavior is to be consistent with SDK 2.13 and earlier.In the next SDK major version, SDK 3.0, only this
Colorsetting will control the 2D color image settings. TheSettings/Sampling/ColorandSettings/Processing/Colorsettings are deprecated as of 2.14, and will be removed from the API in SDK 3.0. Zivid recommends all users to useSettings/Colorto define the 2D color image settings. Tip: If you want to convert an existing settings.yml file to useSettings/Color, you can import the .yml file into Zivid Studio and then re-export it to .yml.Public Types
-
using ValueType = Zivid::Settings2D
The type of the underlying value.
Public Functions
-
Color() = default
Default constructor.
-
inline explicit Color(Zivid::Settings2D value)
Constructor.
-
const Zivid::Settings2D &value() const
Get the value.
If this object does not contain a value (see hasValue) then this method throws an exception.
-
Zivid::Settings2D &value()
Get a mutable reference to the value.
If this object does not contain a value (see hasValue) then this method throws an exception.
-
bool hasValue() const
Check if the value is set.
-
void reset()
Reset the node to unset state.
-
std::string toString() const
Get the value as string.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"Color"}
The full path for this value.
-
static constexpr const char *name = {"Color"}
The name of this value.
- static constexpr const char * description {R"description(Specify the settings used for the 2Dcolor image when doing a 2D+3D capture. The valuetype of this nodeis a `Zivid::Settings2D` object.This setting was introduced in SDK 2.14, as the recommended way to define the acquisition andprocessing settings for the 2D colorimage when doing 2D+3D captures.When this setting isset, it controls how the 2D colorimage of the 2D+3D capture is acquired and processed.This setting can be used to specify custom acquisition andprocessing settings that apply only to the 2D colorimage. These provided settings does not affect the 3D acquisition or processing.When this setting is notset, then the 2D color image is acquired based on `Settings/Acquisitions` and`Settings/Sampling/Color`, and processed based on `Settings/Processing/Color`. If `Settings/Sampling/Color`isset to `disabled`, then no 2D colorimage is acquired. This behavior is to be consistent with SDK 2.13and earlier.In the next SDK majorversion, SDK 3.0, only this `Color` setting will control the 2D colorimage settings.The `Settings/Sampling/Color` and `Settings/Processing/Color` settings are deprecated as of 2.14, and willbe removed from the API in SDK 3.0. Zivid recommends all users to use `Settings/Color` to define the 2D color image settings. Tip: If you want to convert an existing settings.yml file to use `Settings/Color`,you can import the .yml file into Zivid Studio and then re-export it to .yml.)description"}
The description for this value.
-
using ValueType = Zivid::Settings2D
-
class Diagnostics
When Diagnostics is enabled, additional diagnostic data is recorded during capture and included when saving the frame to a .zdf file.
This enables Zivid’s Customer Success team to provide better assistance and more thorough troubleshooting.
Enabling Diagnostics increases the capture time and the RAM usage. It will also increase the size of the .zdf file. It is recommended to enable Diagnostics only when reporting issues to Zivid’s support team.
Public Functions
-
Diagnostics()
Default constructor.
-
template<typename ...Args>
inline explicit Diagnostics(Args&&... args) Constructor taking variadic number of arguments.
One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing
Diagnosticsthen invokingset(args).The provided arguments must be descendants of
Diagnostics. These types can be provided:
-
template<typename ...Args>
inline void set(Args&&... args) Set multiple arguments.
The method invokes
set(arg)with each of the provided arguments.The provided arguments must be descendants of
Diagnostics. These types can be provided:
-
template<typename ...Args>
inline Diagnostics copyWith(Args&&... args) const Returns a copy of this object with the given argument(s) set to the new value(s)
Creates a copy of this Diagnostics object, then invokes
set(args)on the copy, and finally returns the copy. This method does not modify the original object.The provided arguments must be descendants of
Diagnostics. These types can be provided:
-
inline Diagnostics &set(const Enabled &value)
Set Enabled.
-
template<typename F>
inline void forEach(const F &f) const Run the given function on each direct member with the value of the member as parameter.
-
template<typename F>
inline void forEach(const F &f) Run the given function on each direct member with the value of the member as parameter.
-
bool operator==(const Diagnostics &other) const
Equality operator.
-
bool operator!=(const Diagnostics &other) const
Inequality operator.
-
std::string toString() const
Get the value as string.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group
The type of this node.
-
static constexpr const char *path = {"Diagnostics"}
The full path for this value.
-
static constexpr const char *name = {"Diagnostics"}
The name of this value.
- static constexpr const char * description {R"description(WhenDiagnosticsis enabled, additional diagnostic data is recorded during capture and included when savingtheframeto a .zdf file. This enables Zivid's Customer Success team to provide better assistance and morethorough troubleshooting.EnablingDiagnosticsincreases the capture time and the RAM usage. It will also increase the size of the.zdf file. It is recommended to enableDiagnosticsonly when reporting issues to Zivid's support team.)description"}
The description for this value.
Friends
-
inline friend std::ostream &operator<<(std::ostream &stream, const Diagnostics &value)
Operator to send the value as string to a stream.
-
class Enabled
Enable or disable diagnostics.
Public Types
-
using ValueType = bool
The type of the underlying value.
Public Functions
-
Enabled() = default
Default constructor.
-
inline explicit constexpr Enabled(bool value)
Constructor.
-
bool value() const
Get the value.
If this object does not contain a value (see hasValue) then this method throws an exception.
-
bool hasValue() const
Check if the value is set.
-
void reset()
Reset the node to unset state.
-
std::string toString() const
Get the value as string.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"Diagnostics/Enabled"}
The full path for this value.
-
static constexpr const char *name = {"Enabled"}
The name of this value.
- static constexpr const char * description = { R"description(Enable or disable diagnostics.)description" }
The description for this value.
-
using ValueType = bool
-
Diagnostics()
-
class Engine
Set the Zivid Vision Engine to use.
The Phase Engine is the fastest choice in terms of both acquisition time and total capture time, and is a good compromise between quality and speed. The Phase Engine is recommended for objects that are diffuse, opaque, and slightly specular, and is suitable for applications in logistics such as parcel induction.
The Stripe Engine is built for exceptional point cloud quality in scenes with highly specular reflective objects. This makes the engine suitable for applications such as factory automation, manufacturing, and bin picking. Additional acquisition and processing time are required for the Stripe Engine.
The Omni Engine is built for exceptional point cloud quality on all scenes, including scenes with extremely specular reflective objects, as well as transparent objects. This makes the Omni Engine suitable for applications such as piece picking. Same as for the Stripe Engine, it trades off speed for quality. The Omni Engine is only available for Zivid 2+ and Zivid 2+R.
The Sage engine is built for use cases that require all points to be correct/accurate with particularly high confidence. This can be very suitable for eliminating problems such as reflection artifacts. This validation comes at the cost of speed, and sometimes reduced number of valid points due to the removal of low-confidence data. The Sage Engine is only available for Zivid 2+R.
Public Types
Public Functions
-
Engine() = 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 Functions
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"Engine"}
The full path for this value.
-
static constexpr const char *name = {"Engine"}
The name of this value.
- static constexpr const char * description = { R"description(Set the Zivid Vision Engineto use.The PhaseEngineis the fastest choice in terms of both acquisition time and total capturetime, and is a good compromise between quality and speed. The PhaseEngineis recommended forobjects that are diffuse, opaque, and slightly specular, and is suitable for applications inlogistics such as parcel induction.The StripeEngineis built for exceptional point cloud quality in scenes with highly specularreflective objects. This makes theenginesuitable for applications such as factory automation,manufacturing, and bin picking. Additional acquisition andprocessingtime are required forthe Stripe Engine.The OmniEngineis built for exceptional point cloud quality on all scenes, including sceneswith extremely specular reflective objects, as well as transparent objects. This makes the OmniEngine suitable for applications such as piece picking. Same as for the Stripe Engine, it tradesoff speed for quality. The OmniEngineis only available for Zivid 2+ and Zivid 2+R.The Sageengineis built for use cases that require all points to be correct/accurate withparticularly high confidence. This can be very suitable for eliminating problems such asreflection artifacts. This validation comes at the cost of speed, and sometimes reduced numberof valid points due to the removal of low-confidence data. The SageEngineis only availablefor Zivid 2+R.)description" }
The description for this value.
-
Engine() = default
-
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
Settings2Dobject 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.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
Settings2Dobject 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.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
Settings2Dobject 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.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
Settings2Dobject 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.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
Settings2Dobject 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.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
Settings2Dobject 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.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()
-
class RegionOfInterest
Removes points outside the region of interest.
Public Functions
-
RegionOfInterest()
Default constructor.
-
template<typename ...Args>
inline explicit RegionOfInterest(Args&&... args) Constructor taking variadic number of arguments.
One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing
RegionOfInterestthen invokingset(args).The provided arguments must be descendants of
RegionOfInterest. These types can be provided:
-
template<typename ...Args>
inline void set(Args&&... args) Set multiple arguments.
The method invokes
set(arg)with each of the provided arguments.The provided arguments must be descendants of
RegionOfInterest. These types can be provided:
-
template<typename ...Args>
inline RegionOfInterest copyWith(Args&&... args) const Returns a copy of this object with the given argument(s) set to the new value(s)
Creates a copy of this RegionOfInterest object, then invokes
set(args)on the copy, and finally returns the copy. This method does not modify the original object.The provided arguments must be descendants of
RegionOfInterest. These types can be provided:
-
inline RegionOfInterest &set(const Box &value)
Set Box.
-
inline RegionOfInterest &set(const Box::Enabled &value)
Set Box::Enabled.
-
inline RegionOfInterest &set(const Box::Extents &value)
Set Box::Extents.
-
inline RegionOfInterest &set(const Box::PointA &value)
Set Box::PointA.
-
inline RegionOfInterest &set(const Box::PointB &value)
Set Box::PointB.
-
inline RegionOfInterest &set(const Box::PointO &value)
Set Box::PointO.
-
inline RegionOfInterest &set(const Depth &value)
Set Depth.
-
inline RegionOfInterest &set(const Depth::Enabled &value)
Set Depth::Enabled.
-
inline RegionOfInterest &set(const Depth::Range &value)
Set Depth::Range.
-
template<typename F>
inline void forEach(const F &f) const Run the given function on each direct member with the value of the member as parameter.
-
template<typename F>
inline void forEach(const F &f) Run the given function on each direct member with the value of the member as parameter.
-
bool operator==(const RegionOfInterest &other) const
Equality operator.
-
bool operator!=(const RegionOfInterest &other) const
Inequality operator.
-
std::string toString() const
Get the value as string.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::group
The type of this node.
-
static constexpr const char *path = {"RegionOfInterest"}
The full path for this value.
-
static constexpr const char *name = {"RegionOfInterest"}
The name of this value.
- static constexpr const char * description { R"description(Removes points outside the region of interest.)description" }
The description for this value.
Friends
-
inline friend std::ostream &operator<<(std::ostream &stream, const RegionOfInterest &value)
Operator to send the value as string to a stream.
-
class Box
Removes points outside the given three-dimensional box.
Using this feature may significantly speed up acquisition and processing time, because one can avoid acquiring and processing data that is guaranteed to fall outside of the region of interest. The degree of speed-up depends on the size and shape of the box. Generally, a smaller box yields a greater speed-up.
The box is defined by three points: O, A and B. These points define two vectors, OA that goes from PointO to PointA, and OB that goes from PointO to PointB. This gives 4 points O, A, B and (O + OA + OB), that together form a parallelogram in 3D.
Two extents can be provided, to extrude the parallelogram along the surface normal vector of the parallelogram plane. This creates a 3D volume (parallelepiped). The surface normal vector is defined by the cross product OA x OB.
Public Functions
-
Box()
Default constructor.
-
template<typename ...Args>
inline explicit Box(Args&&... args) Constructor taking variadic number of arguments.
One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing
Boxthen invokingset(args).The provided arguments must be descendants of
Box. These types can be provided:
-
template<typename ...Args>
inline void set(Args&&... args) Set multiple arguments.
The method invokes
set(arg)with each of the provided arguments.The provided arguments must be descendants of
Box. These types can be provided:
-
template<typename ...Args>
inline Box copyWith(Args&&... args) const Returns a copy of this object with the given argument(s) set to the new value(s)
Creates a copy of this Box object, then invokes
set(args)on the copy, and finally returns the copy. This method does not modify the original object.The provided arguments must be descendants of
Box. These types can be provided:
-
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 = {"RegionOfInterest/Box"}
The full path for this value.
-
static constexpr const char *name = {"Box"}
The name of this value.
- static constexpr const char * description {R"description(Removes points outside the given three-dimensional box.Using this feature may significantly speed up acquisition andprocessingtime, becauseone can avoid acquiring andprocessingdata that is guaranteed to fall outside of theregion of interest. The degree of speed-up depends on the size and shape of the box.Generally, a smallerboxyields a greater speed-up.Theboxis defined by three points: O, A and B. These points define two vectors,OA that goes fromPointO to PointA, and OB that goes from PointOto PointB.This gives 4 points O, A, B and (O + OA + OB), that together form aparallelogram in 3D.Twoextentscan be provided, to extrude the parallelogram along the surfacenormal vector of the parallelogram plane. This creates a 3D volume (parallelepiped).The surface normal vector is defined by the cross product OA x OB.)description"}
The description for this value.
Friends
-
class Enabled
Enable or disable box filter.
Public Types
-
using ValueType = bool
The type of the underlying value.
Public Functions
-
Enabled() = default
Default constructor.
-
inline explicit constexpr Enabled(bool value)
Constructor.
-
bool value() const
Get the value.
If this object does not contain a value (see hasValue) then this method throws an exception.
-
bool hasValue() const
Check if the value is set.
-
void reset()
Reset the node to unset state.
-
std::string toString() const
Get the value as string.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"RegionOfInterest/Box/Enabled"}
The full path for this value.
-
static constexpr const char *name = {"Enabled"}
The name of this value.
- static constexpr const char * description {R"description(Enable or disableboxfilter.)description"}
The description for this value.
-
using ValueType = bool
-
class Extents
Two points on the normal describing the direction and distance from the plane from which the normal is derived.
Public Functions
-
Extents() = default
Default constructor.
-
const Zivid::Range<double> &value() const
Get the value.
If this object does not contain a value (see hasValue) then this method throws an exception.
-
bool hasValue() const
Check if the value is set.
-
void reset()
Reset the node to unset state.
-
std::string toString() const
Get the value as string.
-
inline explicit constexpr Extents(double minValue, double maxValue)
Constructor.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"RegionOfInterest/Box/Extents"}
The full path for this value.
-
static constexpr const char *name = {"Extents"}
The name of this value.
- static constexpr const char * description {R"description(Two points on the normal describing the direction and distance from the plane from which the normal is derived.)description"}
The description for this value.
-
Extents() = default
-
class PointA
A point such that the vector from PointO to PointA describes the first edge of the parallelogram.
Public Functions
-
PointA() = default
Default constructor.
-
Zivid::PointXYZ value() const
Get the value.
If this object does not contain a value (see hasValue) then this method throws an exception.
-
bool hasValue() const
Check if the value is set.
-
void reset()
Reset the node to unset state.
-
std::string toString() const
Get the value as string.
-
inline explicit constexpr PointA(float x, float y, float z)
Constructor.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"RegionOfInterest/Box/PointA"}
The full path for this value.
-
static constexpr const char *name = {"PointA"}
The name of this value.
- static constexpr const char * description {R"description(A point such that the vector fromPointO to PointAdescribes the first edge of the parallelogram.)description"}
The description for this value.
-
PointA() = default
-
class PointB
A point such that the vector from PointO to PointB describes the second edge of the parallelogram.
Public Functions
-
PointB() = default
Default constructor.
-
Zivid::PointXYZ value() const
Get the value.
If this object does not contain a value (see hasValue) then this method throws an exception.
-
bool hasValue() const
Check if the value is set.
-
void reset()
Reset the node to unset state.
-
std::string toString() const
Get the value as string.
-
inline explicit constexpr PointB(float x, float y, float z)
Constructor.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"RegionOfInterest/Box/PointB"}
The full path for this value.
-
static constexpr const char *name = {"PointB"}
The name of this value.
- static constexpr const char * description {R"description(A point such that the vector fromPointO to PointBdescribes the second edge of the parallelogram.)description"}
The description for this value.
-
PointB() = default
-
class PointO
The point at the intersection of two adjacent edges defining a parallelogram.
Public Functions
-
PointO() = default
Default constructor.
-
Zivid::PointXYZ value() const
Get the value.
If this object does not contain a value (see hasValue) then this method throws an exception.
-
bool hasValue() const
Check if the value is set.
-
void reset()
Reset the node to unset state.
-
std::string toString() const
Get the value as string.
-
inline explicit constexpr PointO(float x, float y, float z)
Constructor.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"RegionOfInterest/Box/PointO"}
The full path for this value.
-
static constexpr const char *name = {"PointO"}
The name of this value.
- static constexpr const char * description {R"description(The point at the intersection of two adjacent edges defining a parallelogram.)description"}
The description for this value.
-
PointO() = default
-
Box()
-
class Depth
Removes points that reside outside of a depth range, meaning that their Z coordinate falls above a given maximum or below a given minimum.
Public Functions
-
Depth()
Default constructor.
-
template<typename ...Args>
inline explicit Depth(Args&&... args) Constructor taking variadic number of arguments.
One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing
Depththen invokingset(args).The provided arguments must be descendants of
Depth. These types can be provided:
-
template<typename ...Args>
inline void set(Args&&... args) Set multiple arguments.
The method invokes
set(arg)with each of the provided arguments.The provided arguments must be descendants of
Depth. These types can be provided:
-
template<typename ...Args>
inline Depth copyWith(Args&&... args) const Returns a copy of this object with the given argument(s) set to the new value(s)
Creates a copy of this Depth object, then invokes
set(args)on the copy, and finally returns the copy. This method does not modify the original object.The provided arguments must be descendants of
Depth. These types can be provided:
-
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 = {"RegionOfInterest/Depth"}
The full path for this value.
-
static constexpr const char *name = {"Depth"}
The name of this value.
- static constexpr const char * description {R"description(Removes points that reside outside of adepth range, meaning that their Z coordinatefalls above a given maximum or below a given minimum.)description"}
The description for this value.
Friends
-
class Enabled
Enable or disable depth filter.
Public Types
-
using ValueType = bool
The type of the underlying value.
Public Functions
-
Enabled() = default
Default constructor.
-
inline explicit constexpr Enabled(bool value)
Constructor.
-
bool value() const
Get the value.
If this object does not contain a value (see hasValue) then this method throws an exception.
-
bool hasValue() const
Check if the value is set.
-
void reset()
Reset the node to unset state.
-
std::string toString() const
Get the value as string.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"RegionOfInterest/Depth/Enabled"}
The full path for this value.
-
static constexpr const char *name = {"Enabled"}
The name of this value.
- static constexpr const char * description {R"description(Enable or disabledepthfilter.)description"}
The description for this value.
-
using ValueType = bool
-
class Range
Specify the minimum and maximum Z value that will be included.
Public Functions
-
Range() = default
Default constructor.
-
const Zivid::Range<double> &value() const
Get the value.
If this object does not contain a value (see hasValue) then this method throws an exception.
-
bool hasValue() const
Check if the value is set.
-
void reset()
Reset the node to unset state.
-
std::string toString() const
Get the value as string.
-
inline explicit constexpr Range(double minValue, double maxValue)
Constructor.
Public Static Attributes
-
static constexpr DataModel::NodeType nodeType = DataModel::NodeType::leafValue
The type of this node.
-
static constexpr const char *path = {"RegionOfInterest/Depth/Range"}
The full path for this value.
-
static constexpr const char *name = {"Range"}
The name of this value.
- static constexpr const char * description {R"description(Specify the minimum and maximum Zvaluethat will be included.)description"}
The description for this value.
-
Range() = default
-
Depth()
-
RegionOfInterest()
-
class Sampling
Sampling settings.
Public Functions
-
Sampling()
Default constructor.
-
template<typename ...Args>
inline explicit Sampling(Args&&... args) Constructor taking variadic number of arguments.
One or more descendant types can be provided. All types not provided will be set to their default value. The result is the same as default constructing
Samplingthen invokingset(args).The provided arguments must be descendants of
Sampling. These types can be provided:
-
template<typename ...Args>
inline void set(Args&&... args) Set multiple arguments.
The method invokes
set(arg)with each of the provided arguments.The provided arguments must be descendants of
Sampling. These types can be provided:
-
template<typename ...Args>
inline Sampling copyWith(Args&&... args) const Returns a copy of this object with the given argument(s) set to the new value(s)
Creates a copy of this Sampling object, then invokes
set(args)on the copy, and finally returns the copy. This method does not modify the original object.The provided arguments must be descendants of
Sampling. These types can be provided:
-
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 = {"Sampling"}
The full path for this value.
-
static constexpr const char *name = {"Sampling"}
The name of this value.
- static constexpr const char * description = { R"description(Samplingsettings.)description" }
The description for this value.
Friends
-
class Color
Choose how to sample colors for the point cloud.
rgboption gives an image with full colors.grayscaleoption gives a grayscale (r=g=b) image, which can be acquired faster than full colors.rgbStrongAmbientLightoption gives an image with full colors and reduced color noise. This option should be chosen only for applications which suffer from high color noise and with high amounts of ambient light in the scene.rgbAmbientSuppressionoption gives an image with full colors while suppressing the ambient light. The Zivid 2+R and Zivid 3 cameras suppress ambient light by default, and therefore do not need the additional optionrgbAmbientSuppression.
The
grayscale,rgbStrongAmbientLightandrgbAmbientSuppressionoptions are not available on all camera models.This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a
Settings2Dobject in theSettings/Colorfield. Tip: If you want to convert an existing settings.yml file to the recommended API, you can import the .yml file into Zivid Studio and then re-export it to .yml.Public Types
Public Functions
-
Color() = 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 = {"Sampling/Color"}
The full path for this value.
-
static constexpr const char *name = {"Color"}
The name of this value.
- static constexpr const char * description { R"description(Choose how to sample colors for the point cloud.- `rgb` option gives an image with full colors.- `grayscale` option gives a grayscale(r=g=b) image, whichcan be acquired faster than full colors.- `rgbStrongAmbientLight` option gives an image with full colors and reduced colornoise. This option should be chosen only for applications whichsuffer from highcolornoise and with high amounts of ambient light in thescene.- `rgbAmbientSuppression` option gives an image with full colors whilesuppressing the ambient light. The Zivid 2+R and Zivid 3 cameras suppress ambientlight by default, and therefore do not need the additional option`rgbAmbientSuppression`.The `grayscale`, `rgbStrongAmbientLight` and `rgbAmbientSuppression` options are not available on all camera models.This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK majorversion (SDK 3.0). The recommended way to do a 2D+3D capture is to set a `Settings2D` objectin the `Settings/Color` field. Tip: If you want to convert an existing settings.yml file tothe recommended API, you can import the .yml file into Zivid Studio and then re-export it to.yml.)description" }
The description for this value.
-
class Pixel
For Zivid 2 and Zivid 2+, this setting controls whether to read out the full image sensor and use white projector light or to subsample pixels for specific color channels with corresponding projector light.
Picking a specific color channel can help reduce noise and effects of ambient light - projecting blue light is recommended.
For Zivid 2+R and Zivid 3, the user does not have to set the projection color and should only consider whether to scale the resolution
by2x2orby4x4. Both of these modes will boost the signal strength by about 4x compared toall, so the user should consider a corresponding reduction in exposure time.Sampling at a decreased resolution decreases capture time, as less data will be captured and processed.
Public Types
Public Functions
-
Pixel() = 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 = {"Sampling/Pixel"}
The full path for this value.
-
static constexpr const char *name = {"Pixel"}
The name of this value.
- static constexpr const char * description {R"description(For Zivid 2 and Zivid 2+, this setting controls whether to read out the full image sensor anduse white projector light or to subsample pixels for specificcolorchannels withcorresponding projector light. Picking a specificcolorchannel can help reduce noiseand effects of ambient light - projecting blue light is recommended.For Zivid 2+R and Zivid 3, the user does not have toset the projection colorand should onlyconsider whether to scale the resolution `by2x2` or `by4x4`. Both of these modeswill boost the signal strength by about 4x compared to `all`, so the user shouldconsider a corresponding reduction in exposure time.Samplingat a decreased resolution decreases capture time, as less data will be captured and processed.)description"}
The description for this value.
-
Pixel() = default
-
Sampling()
-
Settings()
-
struct Settings
Settings used when capturing a 3D capture or 2D+3D capture with a Zivid camera.
Public Types
-
enum class EngineOption : std::underlying_type<Zivid::Settings::Engine::ValueType>::type
Set the Zivid Vision Engine to use.
The Phase Engine is the fastest choice in terms of both acquisition time and total capture time, and is a good compromise between quality and speed. The Phase Engine is recommended for objects that are diffuse, opaque, and slightly specular, and is suitable for applications in logistics such as parcel induction.
The Stripe Engine is built for exceptional point cloud quality in scenes with highly specular reflective objects. This makes the engine suitable for applications such as factory automation, manufacturing, and bin picking. Additional acquisition and processing time are required for the Stripe Engine.
The Omni Engine is built for exceptional point cloud quality on all scenes, including scenes with extremely specular reflective objects, as well as transparent objects. This makes the Omni Engine suitable for applications such as piece picking. Same as for the Stripe Engine, it trades off speed for quality. The Omni Engine is only available for Zivid 2+ and Zivid 2+R.
The Sage engine is built for use cases that require all points to be correct/accurate with particularly high confidence. This can be very suitable for eliminating problems such as reflection artifacts. This validation comes at the cost of speed, and sometimes reduced number of valid points due to the removal of low-confidence data. The Sage Engine is only available for Zivid 2+R.
Values:
-
enumerator Phase
-
enumerator Stripe
-
enumerator Omni
-
enumerator Sage
-
enumerator Phase
Public Functions
- System::String ^ Serialize ()
Serialize to a string.
See also FromSerialized. The returned string is formatted in YAML, and is compatible with the contents of files saved using Save.
- void Save (System::String ^ fileName)
Save to the given file.
- void Load (System::String ^ fileName)
Load from the given file.
-
inline Settings()
Constructor.
- Settings ^ CopyWith (CopyWithDelegate ^ delegate)
Create a clone (deep copy) of the current instance and invoke delegate on the clone.
Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.
- Settings ^ Clone ()
Create a clone (deep copy) of the current instance.
- System::String ^ ToString () override
Get string representation of the object.
Properties
- Zivid::NET::Settings2D^ Color
Specify the settings used for the 2D color image when doing a 2D+3D capture.
The value type of this node is a
Zivid::Settings2Dobject.This setting was introduced in SDK 2.14, as the recommended way to define the acquisition and processing settings for the 2D color image when doing 2D+3D captures.
When this setting is set, it controls how the 2D color image of the 2D+3D capture is acquired and processed. This setting can be used to specify custom acquisition and processing settings that apply only to the 2D color image. These provided settings does not affect the 3D acquisition or processing.
When this setting is not set, then the 2D color image is acquired based on
Settings/AcquisitionsandSettings/Sampling/Color, and processed based onSettings/Processing/Color. IfSettings/Sampling/Coloris set todisabled, then no 2D color image is acquired. This behavior is to be consistent with SDK 2.13 and earlier.In the next SDK major version, SDK 3.0, only this
Colorsetting will control the 2D color image settings. TheSettings/Sampling/ColorandSettings/Processing/Colorsettings are deprecated as of 2.14, and will be removed from the API in SDK 3.0. Zivid recommends all users to useSettings/Colorto define the 2D color image settings. Tip: If you want to convert an existing settings.yml file to useSettings/Color, you can import the .yml file into Zivid Studio and then re-export it to .yml.
-
System::Nullable<EngineOption> Engine
Set the Zivid Vision Engine to use.
The Phase Engine is the fastest choice in terms of both acquisition time and total capture time, and is a good compromise between quality and speed. The Phase Engine is recommended for objects that are diffuse, opaque, and slightly specular, and is suitable for applications in logistics such as parcel induction.
The Stripe Engine is built for exceptional point cloud quality in scenes with highly specular reflective objects. This makes the engine suitable for applications such as factory automation, manufacturing, and bin picking. Additional acquisition and processing time are required for the Stripe Engine.
The Omni Engine is built for exceptional point cloud quality on all scenes, including scenes with extremely specular reflective objects, as well as transparent objects. This makes the Omni Engine suitable for applications such as piece picking. Same as for the Stripe Engine, it trades off speed for quality. The Omni Engine is only available for Zivid 2+ and Zivid 2+R.
The Sage engine is built for use cases that require all points to be correct/accurate with particularly high confidence. This can be very suitable for eliminating problems such as reflection artifacts. This validation comes at the cost of speed, and sometimes reduced number of valid points due to the removal of low-confidence data. The Sage Engine is only available for Zivid 2+R.
Public Static Attributes
-
struct Acquisition
Settings for a single acquisition.
Public Functions
-
inline Acquisition()
Constructor.
- Acquisition ^ CopyWith (CopyWithDelegate ^ delegate)
Create a clone (deep copy) of the current instance and invoke delegate on the clone.
Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.
- Acquisition ^ Clone ()
Create a clone (deep copy) of the current instance.
- System::String ^ ToString () override
Get string representation of the object.
Properties
-
System::Nullable<double> Aperture
Aperture setting for the camera.
Specified as an f-number (the ratio of lens focal length to the effective aperture diameter).
-
System::Nullable<double> Brightness
Brightness controls the light output from the projector.
Brightness above 1.0 may be needed when the distance between the camera and the scene is large, or in case of high levels of ambient lighting.
When brightness is above 1.0 the duty cycle of the camera (the percentage of time the camera can capture) will be reduced. The duty cycle in boost mode is 50%. The duty cycle is calculated over a 10 second period. This limitation is enforced automatically by the camera. Calling capture when the duty cycle limit has been reached will cause the camera to first wait (sleep) for a duration of time to cool down, before capture will start.
-
System::Nullable<::Zivid::NET::Duration> ExposureTime
Exposure time for each single image in the measurement. Affects frame rate.
-
System::Nullable<double> Gain
Analog gain in the camera.
-
inline Acquisition()
- AcquisitionsList : public System::Collections::Generic::List< Acquisition ^>
List of Acquisition objects.
Public Functions
- AcquisitionsList ^ Clone ()
Create a clone (deep copy) of the current instance.
- System::String ^ ToString () override
Get string representation of the object.
-
struct DiagnosticsGroup
When Diagnostics is enabled, additional diagnostic data is recorded during capture and included when saving the frame to a .zdf file.
This enables Zivid’s Customer Success team to provide better assistance and more thorough troubleshooting.
Enabling Diagnostics increases the capture time and the RAM usage. It will also increase the size of the .zdf file. It is recommended to enable Diagnostics only when reporting issues to Zivid’s support team.
Public Functions
-
inline DiagnosticsGroup()
Constructor.
- DiagnosticsGroup ^ CopyWith (CopyWithDelegate ^ delegate)
Create a clone (deep copy) of the current instance and invoke delegate on the clone.
Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.
- DiagnosticsGroup ^ Clone ()
Create a clone (deep copy) of the current instance.
- System::String ^ ToString () override
Get string representation of the object.
Properties
-
System::Nullable<bool> Enabled
Enable or disable diagnostics.
-
inline DiagnosticsGroup()
-
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
Settings2Dobject 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.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
Settings2Dobject 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.
-
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
Settings2Dobject 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.
-
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
Settings2Dobject 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.
-
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
Settings2Dobject 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.
-
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
Settings2Dobject 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.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
Settings2Dobject 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.
-
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()
-
struct RegionOfInterestGroup
Removes points outside the region of interest.
Public Functions
-
inline RegionOfInterestGroup()
Constructor.
- RegionOfInterestGroup ^ CopyWith (CopyWithDelegate ^ delegate)
Create a clone (deep copy) of the current instance and invoke delegate on the clone.
Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.
- RegionOfInterestGroup ^ Clone ()
Create a clone (deep copy) of the current instance.
- System::String ^ ToString () override
Get string representation of the object.
-
struct BoxGroup
Removes points outside the given three-dimensional box.
Using this feature may significantly speed up acquisition and processing time, because one can avoid acquiring and processing data that is guaranteed to fall outside of the region of interest. The degree of speed-up depends on the size and shape of the box. Generally, a smaller box yields a greater speed-up.
The box is defined by three points: O, A and B. These points define two vectors, OA that goes from PointO to PointA, and OB that goes from PointO to PointB. This gives 4 points O, A, B and (O + OA + OB), that together form a parallelogram in 3D.
Two extents can be provided, to extrude the parallelogram along the surface normal vector of the parallelogram plane. This creates a 3D volume (parallelepiped). The surface normal vector is defined by the cross product OA x OB.
Public Functions
-
inline BoxGroup()
Constructor.
- BoxGroup ^ CopyWith (CopyWithDelegate ^ delegate)
Create a clone (deep copy) of the current instance and invoke delegate on the clone.
Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.
- BoxGroup ^ Clone ()
Create a clone (deep copy) of the current instance.
- System::String ^ ToString () override
Get string representation of the object.
Properties
-
System::Nullable<bool> Enabled
Enable or disable box filter.
- Zivid::NET::Range< typename Zivid::Settings::RegionOfInterest::Box::Extents::ValueType::Type >^ Extents
Two points on the normal describing the direction and distance from the plane from which the normal is derived.
- Zivid::NET::PointXYZ^ PointA
A point such that the vector from PointO to PointA describes the first edge of the parallelogram.
- Zivid::NET::PointXYZ^ PointB
A point such that the vector from PointO to PointB describes the second edge of the parallelogram.
- Zivid::NET::PointXYZ^ PointO
The point at the intersection of two adjacent edges defining a parallelogram.
-
inline BoxGroup()
-
struct DepthGroup
Removes points that reside outside of a depth range, meaning that their Z coordinate falls above a given maximum or below a given minimum.
Public Functions
-
inline DepthGroup()
Constructor.
- DepthGroup ^ CopyWith (CopyWithDelegate ^ delegate)
Create a clone (deep copy) of the current instance and invoke delegate on the clone.
Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.
- DepthGroup ^ Clone ()
Create a clone (deep copy) of the current instance.
- System::String ^ ToString () override
Get string representation of the object.
Properties
-
System::Nullable<bool> Enabled
Enable or disable depth filter.
- Zivid::NET::Range< typename Zivid::Settings::RegionOfInterest::Depth::Range::ValueType::Type >^ Range
Specify the minimum and maximum Z value that will be included.
-
inline DepthGroup()
-
inline RegionOfInterestGroup()
-
struct SamplingGroup
Sampling settings.
Public Types
-
enum class ColorOption : std::underlying_type<Zivid::Settings::Sampling::Color::ValueType>::type
Choose how to sample colors for the point cloud.
rgboption gives an image with full colors.grayscaleoption gives a grayscale (r=g=b) image, which can be acquired faster than full colors.rgbStrongAmbientLightoption gives an image with full colors and reduced color noise. This option should be chosen only for applications which suffer from high color noise and with high amounts of ambient light in the scene.rgbAmbientSuppressionoption gives an image with full colors while suppressing the ambient light. The Zivid 2+R and Zivid 3 cameras suppress ambient light by default, and therefore do not need the additional optionrgbAmbientSuppression.
The
grayscale,rgbStrongAmbientLightandrgbAmbientSuppressionoptions are not available on all camera models.This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a
Settings2Dobject in theSettings/Colorfield. Tip: If you want to convert an existing settings.yml file to the recommended API, you can import the .yml file into Zivid Studio and then re-export it to .yml.Values:
-
enumerator Rgb
-
enumerator Disabled
-
enumerator Grayscale
-
enumerator RgbStrongAmbientLight
-
enumerator RgbAmbientSuppression
-
enum class PixelOption : std::underlying_type<Zivid::Settings::Sampling::Pixel::ValueType>::type
For Zivid 2 and Zivid 2+, this setting controls whether to read out the full image sensor and use white projector light or to subsample pixels for specific color channels with corresponding projector light.
Picking a specific color channel can help reduce noise and effects of ambient light - projecting blue light is recommended.
For Zivid 2+R and Zivid 3, the user does not have to set the projection color and should only consider whether to scale the resolution
by2x2orby4x4. Both of these modes will boost the signal strength by about 4x compared toall, so the user should consider a corresponding reduction in exposure time.Sampling at a decreased resolution decreases capture time, as less data will be captured and processed.
Values:
-
enumerator All
-
enumerator BlueSubsample2x2
-
enumerator RedSubsample2x2
-
enumerator BlueSubsample4x4
-
enumerator RedSubsample4x4
-
enumerator By2x2
-
enumerator By4x4
-
enumerator All
Public Functions
-
inline SamplingGroup()
Constructor.
- SamplingGroup ^ CopyWith (CopyWithDelegate ^ delegate)
Create a clone (deep copy) of the current instance and invoke delegate on the clone.
Creates a clone (deep copy) of this object, then invokes the delegate function on the clone, and finally returns the clone. This method can be used to create a clone of an instance and then change one or more properties on the clone in one method call. The current instance is unchanged.
- SamplingGroup ^ Clone ()
Create a clone (deep copy) of the current instance.
- System::String ^ ToString () override
Get string representation of the object.
Properties
-
System::Nullable<ColorOption> Color
Choose how to sample colors for the point cloud.
rgboption gives an image with full colors.grayscaleoption gives a grayscale (r=g=b) image, which can be acquired faster than full colors.rgbStrongAmbientLightoption gives an image with full colors and reduced color noise. This option should be chosen only for applications which suffer from high color noise and with high amounts of ambient light in the scene.rgbAmbientSuppressionoption gives an image with full colors while suppressing the ambient light. The Zivid 2+R and Zivid 3 cameras suppress ambient light by default, and therefore do not need the additional optionrgbAmbientSuppression.
The
grayscale,rgbStrongAmbientLightandrgbAmbientSuppressionoptions are not available on all camera models.This setting is deprecated as of SDK 2.14. This setting will be removed in the next SDK major version (SDK 3.0). The recommended way to do a 2D+3D capture is to set a
Settings2Dobject in theSettings/Colorfield. Tip: If you want to convert an existing settings.yml file to the recommended API, you can import the .yml file into Zivid Studio and then re-export it to .yml.
-
System::Nullable<PixelOption> Pixel
For Zivid 2 and Zivid 2+, this setting controls whether to read out the full image sensor and use white projector light or to subsample pixels for specific color channels with corresponding projector light.
Picking a specific color channel can help reduce noise and effects of ambient light - projecting blue light is recommended.
For Zivid 2+R and Zivid 3, the user does not have to set the projection color and should only consider whether to scale the resolution
by2x2orby4x4. Both of these modes will boost the signal strength by about 4x compared toall, so the user should consider a corresponding reduction in exposure time.Sampling at a decreased resolution decreases capture time, as less data will be captured and processed.
-
enum class ColorOption : std::underlying_type<Zivid::Settings::Sampling::Color::ValueType>::type
-
enum class EngineOption : std::underlying_type<Zivid::Settings::Engine::ValueType>::type