Region of Interest(感兴趣区域)

将捕获输出限制在一个三维框和/或深度范围内。

有关如何选择这些设置的指导,请参阅 Region of Interest(感兴趣区域)。

RegionOfInterestclass

Removes points outside the region of interest.

Public Functions

RegionOfInterest()

Default constructor.

< Argstemplatetypename...>
RegionOfInterest(Args& &...args)inlineexplicit

Constructor taking variadic number of arguments.

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

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

< Argstemplatetypename...>
set(Args& &...args)inlinevoid

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:

< Argstemplatetypename...>
RegionOfInterestcopyWith(Args& &...args)constinline

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:

Box&box()constinlineconst

Get Box.

Box&box()inline

Get Box.

RegionOfInterest&set( Box&const value)inline

Set Box.

RegionOfInterest&set( BoxEnabled&const:: value)inline

Set Box::Enabled.

RegionOfInterest&set( BoxExtents&const:: value)inline

Set Box::Extents.

RegionOfInterest&set( BoxPointA&const:: value)inline

Set Box::PointA.

RegionOfInterest&set( BoxPointB&const:: value)inline

Set Box::PointB.

RegionOfInterest&set( BoxPointO&const:: value)inline

Set Box::PointO.

Depth&depth()constinlineconst

Get Depth.

Depth&depth()inline

Get Depth.

RegionOfInterest&set( Depth&const value)inline

Set Depth.

RegionOfInterest&set( DepthEnabled&const:: value)inline

Set Depth::Enabled.

RegionOfInterest&set( DepthRange&const:: value)inline

Set Depth::Range.

< Ftemplatetypename>
forEach( F&const f)constinlinevoid

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

< Ftemplatetypename>
forEach( F&const f)inlinevoid

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

==operator( RegionOfInterest&const other)constbool

Equality operator.

!=operator( RegionOfInterest&const other)constbool

Inequality operator.

stdstringtoString()const::

Get the value as string.

Public Static Attributes

DataModelNodeTypenodeType=DataModelNodeTypegroupstaticconstexpr:: ::::

The type of this node.

path={}staticconstexprconstchar* "RegionOfInterest"

The full path for this value.

name={}staticconstexprconstchar* "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

stdostream&<<operator(stdostream&:: stream, RegionOfInterest&const value)inlinefriend::

Operator to send the value as string to a stream.

Boxclass

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.

< Argstemplatetypename...>
Box(Args& &...args)inlineexplicit

Constructor taking variadic number of arguments.

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

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

< Argstemplatetypename...>
set(Args& &...args)inlinevoid

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:

< Argstemplatetypename...>
BoxcopyWith(Args& &...args)constinline

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:

Enabled&isEnabled()constinlineconst

Get Enabled.

Enabled&isEnabled()inline

Get Enabled.

Box&set( Enabled&const value)inline

Set Enabled.

Extents&extents()constinlineconst

Get Extents.

Extents&extents()inline

Get Extents.

Box&set( Extents&const value)inline

Set Extents.

PointA&pointA()constinlineconst

Get PointA.

PointA&pointA()inline

Get PointA.

Box&set( PointA&const value)inline

Set PointA.

PointB&pointB()constinlineconst

Get PointB.

PointB&pointB()inline

Get PointB.

Box&set( PointB&const value)inline

Set PointB.

PointO&pointO()constinlineconst

Get PointO.

PointO&pointO()inline

Get PointO.

Box&set( PointO&const value)inline

Set PointO.

< Ftemplatetypename>
forEach( F&const f)constinlinevoid

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

< Ftemplatetypename>
forEach( F&const f)inlinevoid

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

==operator( Box&const other)constbool

Equality operator.

!=operator( Box&const other)constbool

Inequality operator.

stdstringtoString()const::

Get the value as string.

Public Static Attributes

DataModelNodeTypenodeType=DataModelNodeTypegroupstaticconstexpr:: ::::

The type of this node.

path={}staticconstexprconstchar* "RegionOfInterest/Box"

The full path for this value.

name={}staticconstexprconstchar* "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

stdostream&<<operator(stdostream&:: stream, Box&const value)inlinefriend::

Operator to send the value as string to a stream.

Enabledclass

Enable or disable box filter.

Public Types

ValueType=boolusing

The type of the underlying value.

Public Functions

Enabled()=default

Default constructor.

Enabled( boolvalue)inlineexplicitconstexpr

Constructor.

value()constbool

Get the value.

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

hasValue()constbool

Check if the value is set.

reset()void

Reset the node to unset state.

stdstringtoString()const::

Get the value as string.

==operator( Enabled&const other)constinlinebool

Comparison operator.

!=operator( Enabled&const other)constinlinebool

Comparison operator.

Public Static Functions

stdsetbool validValues()staticinline::<>

All valid values of Enabled.

Public Static Attributes

DataModelNodeTypenodeType=DataModelNodeTypeleafValuestaticconstexpr:: ::::

The type of this node.

path={}staticconstexprconstchar* "RegionOfInterest/Box/Enabled"

The full path for this value.

name={}staticconstexprconstchar* "Enabled"

The name of this value.

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

The description for this value.

Enabledyesstaticconst

On/enabled.

Enablednostaticconst

Off/disabled.

Friends

stdostream&<<operator(stdostream&:: stream, Enabled&const value)inlinefriend::

Operator to serialize the value to a stream.

Extentsclass

Two points on the normal describing the direction and distance from the plane from which the normal is derived.

Public Types

ValueType=ZividRangedoubleusing ::<>

The type of the underlying value.

Public Functions

Extents()=default

Default constructor.

Extents(ZividRangedouble ::<>value)inlineexplicitconstexpr

Constructor.

ZividRangedouble value()constconst::<>&

Get the value.

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

hasValue()constbool

Check if the value is set.

reset()void

Reset the node to unset state.

stdstringtoString()const::

Get the value as string.

Extents( doubleminValue, doublemaxValue)inlineexplicitconstexpr

Constructor.

==operator( Extents&const other)constinlinebool

Comparison operator.

!=operator( Extents&const other)constinlinebool

Comparison operator.

Public Static Attributes

DataModelNodeTypenodeType=DataModelNodeTypeleafValuestaticconstexpr:: ::::

The type of this node.

path={}staticconstexprconstchar* "RegionOfInterest/Box/Extents"

The full path for this value.

name={}staticconstexprconstchar* "Extents"

The name of this value.

static constexpr const char * description  {R"description(Two points on the normal describing the direction and distance from the plane from which the normal is derived.)description"}

The description for this value.

Friends

stdostream&<<operator(stdostream&:: stream, Extents&const value)inlinefriend::

Operator to serialize the value to a stream.

PointAclass

A point such that the vector from PointO to PointA describes the first edge of the parallelogram.

Public Types

ValueType=ZividPointXYZusing ::

The type of the underlying value.

Public Functions

PointA()=default

Default constructor.

PointA(ZividPointXYZvalue:: )inlineexplicitconstexpr

Constructor.

ZividPointXYZvalue()const::

Get the value.

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

hasValue()constbool

Check if the value is set.

reset()void

Reset the node to unset state.

stdstringtoString()const::

Get the value as string.

PointA( floatx, floaty, floatz)inlineexplicitconstexpr

Constructor.

==operator( PointA&const other)constinlinebool

Comparison operator.

!=operator( PointA&const other)constinlinebool

Comparison operator.

Public Static Attributes

DataModelNodeTypenodeType=DataModelNodeTypeleafValuestaticconstexpr:: ::::

The type of this node.

path={}staticconstexprconstchar* "RegionOfInterest/Box/PointA"

The full path for this value.

name={}staticconstexprconstchar* "PointA"

The name of this value.

static constexpr const char * description  {R"description(A point such that the vector fromPointO to PointAdescribes the first edge of the parallelogram.)description"}

The description for this value.

Friends

stdostream&<<operator(stdostream&:: stream, PointA&const value)inlinefriend::

Operator to serialize the value to a stream.

PointBclass

A point such that the vector from PointO to PointB describes the second edge of the parallelogram.

Public Types

ValueType=ZividPointXYZusing ::

The type of the underlying value.

Public Functions

PointB()=default

Default constructor.

PointB(ZividPointXYZvalue:: )inlineexplicitconstexpr

Constructor.

ZividPointXYZvalue()const::

Get the value.

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

hasValue()constbool

Check if the value is set.

reset()void

Reset the node to unset state.

stdstringtoString()const::

Get the value as string.

PointB( floatx, floaty, floatz)inlineexplicitconstexpr

Constructor.

==operator( PointB&const other)constinlinebool

Comparison operator.

!=operator( PointB&const other)constinlinebool

Comparison operator.

Public Static Attributes

DataModelNodeTypenodeType=DataModelNodeTypeleafValuestaticconstexpr:: ::::

The type of this node.

path={}staticconstexprconstchar* "RegionOfInterest/Box/PointB"

The full path for this value.

name={}staticconstexprconstchar* "PointB"

The name of this value.

static constexpr const char * description  {R"description(A point such that the vector fromPointO to PointBdescribes the second edge of the parallelogram.)description"}

The description for this value.

Friends

stdostream&<<operator(stdostream&:: stream, PointB&const value)inlinefriend::

Operator to serialize the value to a stream.

PointOclass

The point at the intersection of two adjacent edges defining a parallelogram.

Public Types

ValueType=ZividPointXYZusing ::

The type of the underlying value.

Public Functions

PointO()=default

Default constructor.

PointO(ZividPointXYZvalue:: )inlineexplicitconstexpr

Constructor.

ZividPointXYZvalue()const::

Get the value.

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

hasValue()constbool

Check if the value is set.

reset()void

Reset the node to unset state.

stdstringtoString()const::

Get the value as string.

PointO( floatx, floaty, floatz)inlineexplicitconstexpr

Constructor.

==operator( PointO&const other)constinlinebool

Comparison operator.

!=operator( PointO&const other)constinlinebool

Comparison operator.

Public Static Attributes

DataModelNodeTypenodeType=DataModelNodeTypeleafValuestaticconstexpr:: ::::

The type of this node.

path={}staticconstexprconstchar* "RegionOfInterest/Box/PointO"

The full path for this value.

name={}staticconstexprconstchar* "PointO"

The name of this value.

static constexpr const char * description  {R"description(The point at the intersection of two adjacent edges defining a parallelogram.)description"}

The description for this value.

Friends

stdostream&<<operator(stdostream&:: stream, PointO&const value)inlinefriend::

Operator to serialize the value to a stream.

Depthclass

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.

< Argstemplatetypename...>
Depth(Args& &...args)inlineexplicit

Constructor taking variadic number of arguments.

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

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

< Argstemplatetypename...>
set(Args& &...args)inlinevoid

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:

< Argstemplatetypename...>
DepthcopyWith(Args& &...args)constinline

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:

Enabled&isEnabled()constinlineconst

Get Enabled.

Enabled&isEnabled()inline

Get Enabled.

Depth&set( Enabled&const value)inline

Set Enabled.

Range&range()constinlineconst

Get Range.

Range&range()inline

Get Range.

Depth&set( Range&const value)inline

Set Range.

< Ftemplatetypename>
forEach( F&const f)constinlinevoid

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

< Ftemplatetypename>
forEach( F&const f)inlinevoid

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

==operator( Depth&const other)constbool

Equality operator.

!=operator( Depth&const other)constbool

Inequality operator.

stdstringtoString()const::

Get the value as string.

Public Static Attributes

DataModelNodeTypenodeType=DataModelNodeTypegroupstaticconstexpr:: ::::

The type of this node.

path={}staticconstexprconstchar* "RegionOfInterest/Depth"

The full path for this value.

name={}staticconstexprconstchar* "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

stdostream&<<operator(stdostream&:: stream, Depth&const value)inlinefriend::

Operator to send the value as string to a stream.

Enabledclass

Enable or disable depth filter.

Public Types

ValueType=boolusing

The type of the underlying value.

Public Functions

Enabled()=default

Default constructor.

Enabled( boolvalue)inlineexplicitconstexpr

Constructor.

value()constbool

Get the value.

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

hasValue()constbool

Check if the value is set.

reset()void

Reset the node to unset state.

stdstringtoString()const::

Get the value as string.

==operator( Enabled&const other)constinlinebool

Comparison operator.

!=operator( Enabled&const other)constinlinebool

Comparison operator.

Public Static Functions

stdsetbool validValues()staticinline::<>

All valid values of Enabled.

Public Static Attributes

DataModelNodeTypenodeType=DataModelNodeTypeleafValuestaticconstexpr:: ::::

The type of this node.

path={}staticconstexprconstchar* "RegionOfInterest/Depth/Enabled"

The full path for this value.

name={}staticconstexprconstchar* "Enabled"

The name of this value.

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

The description for this value.

Enabledyesstaticconst

On/enabled.

Enablednostaticconst

Off/disabled.

Friends

stdostream&<<operator(stdostream&:: stream, Enabled&const value)inlinefriend::

Operator to serialize the value to a stream.

Rangeclass

Specify the minimum and maximum Z value that will be included.

Public Types

ValueType=ZividRangedoubleusing ::<>

The type of the underlying value.

Public Functions

Range()=default

Default constructor.

Range(ZividRangedouble ::<>value)inlineexplicitconstexpr

Constructor.

ZividRangedouble value()constconst::<>&

Get the value.

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

hasValue()constbool

Check if the value is set.

reset()void

Reset the node to unset state.

stdstringtoString()const::

Get the value as string.

Range( doubleminValue, doublemaxValue)inlineexplicitconstexpr

Constructor.

==operator( Range&const other)constinlinebool

Comparison operator.

!=operator( Range&const other)constinlinebool

Comparison operator.

Public Static Attributes

DataModelNodeTypenodeType=DataModelNodeTypeleafValuestaticconstexpr:: ::::

The type of this node.

path={}staticconstexprconstchar* "RegionOfInterest/Depth/Range"

The full path for this value.

name={}staticconstexprconstchar* "Range"

The name of this value.

static constexpr const char * description  {R"description(Specify the minimum and maximum Zvaluethat will be included.)description"}

The description for this value.

Friends

stdostream&<<operator(stdostream&:: stream, Range&const value)inlinefriend::

Operator to serialize the value to a stream.

RegionOfInterestGroupstruct

Removes points outside the region of interest.

Public Functions

RegionOfInterestGroup()inline

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.

BoxGroupstruct

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

BoxGroup()inline

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

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

DepthGroupstruct

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

DepthGroup()inline

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

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

classRegionOfInterest(
:Settings | None=Nonebox ,
:Settings | None=Nonedepth ,
)

Removes points outside the region of interest.

Initialization

classBox(:bool | None=Noneenabled , =extentsNone, =point_aNone, =point_bNone, =point_oNone)

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.

Initialization

propertyenabled

Enable or disable box filter.

propertyextents

Two points on the normal describing the direction and distance from the plane from which the normal is derived.

propertypoint_a

A point such that the vector from PointO to PointA describes the first edge of the parallelogram.

propertypoint_b

A point such that the vector from PointO to PointB describes the second edge of the parallelogram.

propertypoint_o

The point at the intersection of two adjacent edges defining a parallelogram.

classDepth(:bool | None=Noneenabled , =rangeNone)

Removes points that reside outside of a depth range, meaning that their Z coordinate falls above a given maximum or below a given minimum.

Initialization

propertyenabled

Enable or disable depth filter.

propertyrange

Specify the minimum and maximum Z value that will be included.

propertybox

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.

propertydepth

Removes points that reside outside of a depth range, meaning that their Z coordinate falls above a given maximum or below a given minimum.