Region of Interest
Restricts the capture output to a three-dimensional box and/or a depth range.
For guidance on choosing these settings, see Region of Interest.
-
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()
-
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()
- class RegionOfInterest( )
Removes points outside the region of interest.
- class Box(
- enabled: bool | None = _zivid.Settings.RegionOfInterest.Box.Enabled().value,
- extents=_zivid.Settings.RegionOfInterest.Box.Extents().value,
- point_a=_zivid.Settings.RegionOfInterest.Box.PointA().value,
- point_b=_zivid.Settings.RegionOfInterest.Box.PointB().value,
- point_o=_zivid.Settings.RegionOfInterest.Box.PointO().value,
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.
- property enabled
Enable or disable box filter.
- property extents
Two points on the normal describing the direction and distance from the plane from which the normal is derived.
- property point_a
A point such that the vector from PointO to PointA describes the first edge of the parallelogram.
- property point_b
A point such that the vector from PointO to PointB describes the second edge of the parallelogram.
- property point_o
The point at the intersection of two adjacent edges defining a parallelogram.
- class Depth(
- enabled: bool | None = _zivid.Settings.RegionOfInterest.Depth.Enabled().value,
- range=_zivid.Settings.RegionOfInterest.Depth.Range().value,
Removes points that reside outside of a depth range, meaning that their Z coordinate falls above a given maximum or below a given minimum.
- property enabled
Enable or disable depth filter.
- property range
Specify the minimum and maximum Z value that will be included.
- property 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.
- property 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.