eVision C++ API 26.10.0-beta.2.dev
Loading...
Searching...
No Matches
eVision::Easy3D::EPointCloudToZMapConverter Class Reference

Computes an EZMap from an EPointCloud. The value of the pixels of the ZMap are the distance between the 3D points and the reference plane. All 3D points under the reference plane are discarded. Various options can be set with methods EPointCloudToZMapConverter::SetReferencePlane, EPointCloudToZMapConverter::SetFillMode, EPointCloudToZMapConverter::SetMapXYResolution, EPointCloudToZMapConverter::SetMapZResolution, EPointCloudToZMapConverter::SetOrientationVector... When the conversion is called without defining specific parameters, the algorithm uses the following options: More...

#include <eVision/Easy3D/EPointCloudToZMapConverter.h>

Collaboration diagram for eVision::Easy3D::EPointCloudToZMapConverter:

Public Member Functions

 EPointCloudToZMapConverter ()
 Creates an EPointCloudToZMapConverter object.
 EPointCloudToZMapConverter (const eVision::Easy3D::EPointCloudToZMapConverter &other)
 Creates an EPointCloudToZMapConverter object.
virtual ~EPointCloudToZMapConverter () throw ()
eVision::Easy3D::EPointCloudToZMapConverter & operator= (const eVision::Easy3D::EPointCloudToZMapConverter &other)
 Assignment operator.
bool operator== (const eVision::Easy3D::EPointCloudToZMapConverter &other) const
 Comparison operator.
void Convert (const eVision::Easy3D::EPointCloud &cloud, eVision::Easy3D::EZMap8 &zmap) const
 Computes an EZMap from a world space EPointCloud. The value of the pixels of the ZMap are the distance between the 3D points and the reference plane. Various options can be set with methods EPointCloudToZMapConverter::SetReferencePlane, EPointCloudToZMapConverter::SetOrientationVector, EPointCloudToZMapConverter::SetMapSize, ...
void Convert (const eVision::Easy3D::EPointCloud &cloud, eVision::Easy3D::EZMap16 &zmap) const
 Computes an EZMap from a world space EPointCloud. The value of the pixels of the ZMap are the distance between the 3D points and the reference plane. Various options can be set with methods EPointCloudToZMapConverter::SetReferencePlane, EPointCloudToZMapConverter::SetOrientationVector, EPointCloudToZMapConverter::SetMapSize, ...
void Convert (const eVision::Easy3D::EPointCloud &cloud, eVision::Easy3D::EZMap32f &zmap) const
 Computes an EZMap from a world space EPointCloud. The value of the pixels of the ZMap are the distance between the 3D points and the reference plane. Various options can be set with methods EPointCloudToZMapConverter::SetReferencePlane, EPointCloudToZMapConverter::SetOrientationVector, EPointCloudToZMapConverter::SetMapSize, ...
void Convert (const eVision::Easy3D::EPointCloud &cloud, eVision::Easy3D::EZMap *zmap) const
 Computes an EZMap from a world space EPointCloud. The value of the pixels of the ZMap are the distance between the 3D points and the reference plane. Various options can be set with methods EPointCloudToZMapConverter::SetReferencePlane, EPointCloudToZMapConverter::SetOrientationVector, EPointCloudToZMapConverter::SetMapSize, ...
void SetWorldToZMapTransform (const eVision::Easy3D::E3DTransformMatrix &matrix)
 Explicitly sets the world to ZMap transformation.
eVision::Easy3D::E3DTransformMatrix GetWorldToZMapTransform () const
 Explicitly sets the world to ZMap transformation.
void SetZMaptoWorldTransform (const eVision::Easy3D::E3DTransformMatrix &matrix)
 Explicitly sets the ZMap to World transformation.
eVision::Easy3D::E3DTransformMatrix GetZMaptoWorldTransform () const
 Explicitly sets the ZMap to World transformation.
void UnsetWorldToZMapTransform ()
 Disables the explicit world to ZMap transformation, set with EPointCloudToZMapConverter::SetWorldToZMapTransform.
void SetReferencePlane (const eVision::Easy3D::E3DPlane &plane)
 Sets the E3DPlane reference plane.
eVision::Easy3D::E3DPlane GetReferencePlane () const
 Gets the E3DPlane reference plane.
void SetReferencePlaneMode (eVision::Easy3D::EZMapReferencePlaneMode mode)
 Sets an axis aligned reference plane.
eVision::Easy3D::EZMapReferencePlaneMode GetReferencePlaneMode () const
 Sets an axis aligned reference plane.
void SetOrientationVector (const eVision::Easy3D::E3DPoint &direction)
 Sets an explicit orientation for the EZMap.
eVision::Easy3D::E3DPoint GetOrientationVector () const
 Sets an explicit orientation for the EZMap.
void SetOrientationVectorMode (eVision::Easy3D::EZMapOrientationVectorMode mode)
 Chooses the EZMap orientation from a list of predefined axis, automatic mode or user defined vector.
eVision::Easy3D::EZMapOrientationVectorMode GetOrientationVectorMode () const
 Chooses the EZMap orientation from a list of predefined axis, automatic mode or user defined vector.
void SetOrigin (const eVision::Easy3D::E3DPoint &position)
 Chooses the EZMap origin. It is the 3D world position used as origin of the ZMap upper left pixel (0,0).
eVision::Easy3D::E3DPoint GetOrigin () const
 Chooses the EZMap origin. It is the 3D world position used as origin of the ZMap upper left pixel (0,0).
void UnsetOrigin ()
 Lets the conversion process decides for the EZMap origin position (based on projected point cloud on the reference plane).
bool IsOriginSet () const
 Gets whether the Origin of the ZMap is set or not. Use EPointCloudToZMapConverter::SetOrigin to enable and choose the ZMap origin.
void EnableFillMode (bool state)
 Enables or disables fill mode. Fill mode parameters are defined by method EPointCloudToZMapConverter::SetFillMode or EPointCloudToZMapConverter::SetFillModeMedian.
void EnableFillMode ()
 Enables or disables fill mode. Fill mode parameters are defined by method EPointCloudToZMapConverter::SetFillMode or EPointCloudToZMapConverter::SetFillModeMedian.
bool IsFillModeEnabled () const
 Tells if the fill mode is enabled or not.
bool IsFillModeMedian () const
 Tells if the fill mode is in median mode or not, this value is not affected by EPointCloudToZMapConverter::EnableFillMode. Use EPointCloudToZMapConverter::EnableFillMode to toggle the fill mode and EPointCloudToZMapConverter::SetFillMode or EPointCloudToZMapConverter::SetFillModeMedian to set the filling parameters.
uint32_t GetFillModeMedianHalfKernelX () const
 Returns the last halfKernelX set by EPointCloudToZMapConverter::SetFillModeMedian.
uint32_t GetFillModeMedianHalfKernelY () const
 Returns the last halfKernelX set by EPointCloudToZMapConverter::SetFillModeMedian.
void SetFillMode (eVision::Easy3D::EFillUndefinedPixelsDirection direction, eVision::Easy3D::EFillUndefinedPixelsMethod method)
 Inpainting options used to fill the "holes" in the EZMap. A hole exists when no 3D point is projected at that pixel position in the ZMap.
void SetFillModeMedian (uint32_t halfOfKernelWidth, uint32_t halfOfKernelHeight)
 Inpainting options used to fill the "holes" in the EZMap using a median rectangular kernel of odd size. A hole exists when no 3D point is projected at that pixel position in the ZMap.
void SetFillModeMedian (uint32_t halfOfKernelWidth)
 Inpainting options used to fill the "holes" in the EZMap using a median rectangular kernel of odd size. A hole exists when no 3D point is projected at that pixel position in the ZMap.
void SetFillModeMedian ()
 Inpainting options used to fill the "holes" in the EZMap using a median rectangular kernel of odd size. A hole exists when no 3D point is projected at that pixel position in the ZMap.
eVision::Easy3D::EFillUndefinedPixelsDirection GetFillUndefinedPixelsDirection () const
 Gets the undefined pixel fill direction (see EFillUndefinedPixelsDirection).
eVision::Easy3D::EFillUndefinedPixelsMethod GetFillUndefinedPixelsMethod () const
 Gets the undefined pixel fill method (see EFillUndefinedPixelsMethod).
void SetMapSize (int width, int height)
 Sets the required size of the generated EZMap; expressed in number of pixels for width and height dimensions.
int GetMapWidth () const
 Gets the required width (number of pixels) of the generated EZMap.
int GetMapHeight () const
 Gets the required height (number of pixels) of the generated EZMap.
void UnsetMapSize ()
 Unsets the resolution. Lets the conversion decides for the optimum resolution, depending on the projected point cloud and pixel scale.
void SetMapXYResolution (float resolution)
 Sets the resolution (possibly anisotropic) of the EZMap pixels along the X and Y axes, in world space units per pixel (e.g mm/pixel).
void SetMapXYResolution (float resolutionX, float resolutionY)
 Sets the resolution (possibly anisotropic) of the EZMap pixels along the X and Y axes, in world space units per pixel (e.g mm/pixel).
float GetMapXResolution () const
 Gets the resolution of the EZMap pixels along the X axis.
float GetMapYResolution () const
 Gets the resolution of the EZMap pixels along the Y axis.
void UnsetMapXYResolution ()
 Unsets the X and Y resolutions. Lets the conversion decide the optimal resolution, depending on the projected point cloud and EZMap size.
void SetMapZResolution (float scale)
 Gets/Sets the EZMap Z resolution, in world space units per gray value.
float GetMapZResolution () const
 Gets/Sets the EZMap Z resolution, in world space units per gray value.
void SetMapZResolutionFailureHandler (eVision::Easy3D::EZMapGeneratorZResolutionFailureHandler failureHandler)
 Gets/Sets the method to handle failures in EPointCloudToZMapConverter::Convert when the EZMap Z resolution is set explicitly (EPointCloudToZMapConverter::SetMapZResolution).
eVision::Easy3D::EZMapGeneratorZResolutionFailureHandler GetMapZResolutionFailureHandler () const
 Gets/Sets the method to handle failures in EPointCloudToZMapConverter::Convert when the EZMap Z resolution is set explicitly (EPointCloudToZMapConverter::SetMapZResolution).
void UnsetMapZResolution ()
 Unsets the EPointCloudToZMapConverter::SetMapZResolution (as well as the EPointCloudToZMapConverter::SetMapZResolutionFailureHandler). Lets the conversion decide the optimal Z resolution.
void SetExtension (float size)
 Sets a metric value used to enlarge the point cloud 3D domain.
float GetExtension () const
 Gets the 3D point cloud extension.
void Load (const std::string &path)
 Loads the converter configuration. The given ESerializer must have been created for reading.
void Load (eVision::ESerializer *serializer)
 Loads the converter configuration. The given ESerializer must have been created for reading.
void Save (const std::string &path)
 Saves the converter configuration. The given ESerializer must have been created for writing.
void Save (eVision::ESerializer *serializer)
 Saves the converter configuration. The given ESerializer must have been created for writing.
 EPointCloudToZMapConverter (CppWrapperInternal::InternalConstructor)

Public Attributes

CppWrapperInternal::WrappedClass wrappedClass_

Detailed Description

Computes an EZMap from an EPointCloud. The value of the pixels of the ZMap are the distance between the 3D points and the reference plane. All 3D points under the reference plane are discarded. Various options can be set with methods EPointCloudToZMapConverter::SetReferencePlane, EPointCloudToZMapConverter::SetFillMode, EPointCloudToZMapConverter::SetMapXYResolution, EPointCloudToZMapConverter::SetMapZResolution, EPointCloudToZMapConverter::SetOrientationVector... When the conversion is called without defining specific parameters, the algorithm uses the following options:

  • The reference plane is the horizontal plane.
  • The orientation vector is selected automatically.
  • The origin is set as the lowest left position of the projected point cloud on the reference plane.
  • The resolution (the dimensions of the Z map) is estimated to have approximately one Point Cloud point per ZMap pixels.
  • The scale is calculated from the point cloud ranges and the estimated resolution.
  • The fill mode is enabled and the method is set to 'EFillUndefinedPixelsDirection_Local' (see method EDepthMap8::FillUndefinedPixels).

License(s): Easy3D

Constructor & Destructor Documentation

◆ EPointCloudToZMapConverter() [1/3]

eVision::Easy3D::EPointCloudToZMapConverter::EPointCloudToZMapConverter ( )

Creates an EPointCloudToZMapConverter object.

◆ EPointCloudToZMapConverter() [2/3]

eVision::Easy3D::EPointCloudToZMapConverter::EPointCloudToZMapConverter ( const eVision::Easy3D::EPointCloudToZMapConverter & other)

Creates an EPointCloudToZMapConverter object.

Parameters
otherReference to the EPointCloudToZMapConverter object used for the initialization.

◆ ~EPointCloudToZMapConverter()

eVision::Easy3D::EPointCloudToZMapConverter::~EPointCloudToZMapConverter ( )
throw ( )
virtual

◆ EPointCloudToZMapConverter() [3/3]

eVision::Easy3D::EPointCloudToZMapConverter::EPointCloudToZMapConverter ( CppWrapperInternal::InternalConstructor )

Member Function Documentation

◆ Convert() [1/4]

void eVision::Easy3D::EPointCloudToZMapConverter::Convert ( const eVision::Easy3D::EPointCloud & cloud,
eVision::Easy3D::EZMap * zmap ) const

Computes an EZMap from a world space EPointCloud. The value of the pixels of the ZMap are the distance between the 3D points and the reference plane. Various options can be set with methods EPointCloudToZMapConverter::SetReferencePlane, EPointCloudToZMapConverter::SetOrientationVector, EPointCloudToZMapConverter::SetMapSize, ...

Parameters
cloudThe input 3D point cloud.
zmapThe generated ZMap in 8, 16 or 32 bits format.

◆ Convert() [2/4]

void eVision::Easy3D::EPointCloudToZMapConverter::Convert ( const eVision::Easy3D::EPointCloud & cloud,
eVision::Easy3D::EZMap16 & zmap ) const

Computes an EZMap from a world space EPointCloud. The value of the pixels of the ZMap are the distance between the 3D points and the reference plane. Various options can be set with methods EPointCloudToZMapConverter::SetReferencePlane, EPointCloudToZMapConverter::SetOrientationVector, EPointCloudToZMapConverter::SetMapSize, ...

Parameters
cloudThe input 3D point cloud.
zmapThe generated ZMap in 8, 16 or 32 bits format.

◆ Convert() [3/4]

void eVision::Easy3D::EPointCloudToZMapConverter::Convert ( const eVision::Easy3D::EPointCloud & cloud,
eVision::Easy3D::EZMap32f & zmap ) const

Computes an EZMap from a world space EPointCloud. The value of the pixels of the ZMap are the distance between the 3D points and the reference plane. Various options can be set with methods EPointCloudToZMapConverter::SetReferencePlane, EPointCloudToZMapConverter::SetOrientationVector, EPointCloudToZMapConverter::SetMapSize, ...

Parameters
cloudThe input 3D point cloud.
zmapThe generated ZMap in 8, 16 or 32 bits format.

◆ Convert() [4/4]

void eVision::Easy3D::EPointCloudToZMapConverter::Convert ( const eVision::Easy3D::EPointCloud & cloud,
eVision::Easy3D::EZMap8 & zmap ) const

Computes an EZMap from a world space EPointCloud. The value of the pixels of the ZMap are the distance between the 3D points and the reference plane. Various options can be set with methods EPointCloudToZMapConverter::SetReferencePlane, EPointCloudToZMapConverter::SetOrientationVector, EPointCloudToZMapConverter::SetMapSize, ...

Parameters
cloudThe input 3D point cloud.
zmapThe generated ZMap in 8, 16 or 32 bits format.

◆ EnableFillMode() [1/2]

void eVision::Easy3D::EPointCloudToZMapConverter::EnableFillMode ( )

Enables or disables fill mode. Fill mode parameters are defined by method EPointCloudToZMapConverter::SetFillMode or EPointCloudToZMapConverter::SetFillModeMedian.

Fill mode is enabled by default. If fill mode is disable, undefined pixels may remain in the EZMap.

◆ EnableFillMode() [2/2]

void eVision::Easy3D::EPointCloudToZMapConverter::EnableFillMode ( bool state)

Enables or disables fill mode. Fill mode parameters are defined by method EPointCloudToZMapConverter::SetFillMode or EPointCloudToZMapConverter::SetFillModeMedian.

Fill mode is enabled by default. If fill mode is disable, undefined pixels may remain in the EZMap.

Parameters
stateSet to true to enable fill mode.

◆ GetExtension()

float eVision::Easy3D::EPointCloudToZMapConverter::GetExtension ( ) const

Gets the 3D point cloud extension.

◆ GetFillModeMedianHalfKernelX()

uint32_t eVision::Easy3D::EPointCloudToZMapConverter::GetFillModeMedianHalfKernelX ( ) const

Returns the last halfKernelX set by EPointCloudToZMapConverter::SetFillModeMedian.

◆ GetFillModeMedianHalfKernelY()

uint32_t eVision::Easy3D::EPointCloudToZMapConverter::GetFillModeMedianHalfKernelY ( ) const

Returns the last halfKernelX set by EPointCloudToZMapConverter::SetFillModeMedian.

◆ GetFillUndefinedPixelsDirection()

eVision::Easy3D::EFillUndefinedPixelsDirection eVision::Easy3D::EPointCloudToZMapConverter::GetFillUndefinedPixelsDirection ( ) const

Gets the undefined pixel fill direction (see EFillUndefinedPixelsDirection).

◆ GetFillUndefinedPixelsMethod()

eVision::Easy3D::EFillUndefinedPixelsMethod eVision::Easy3D::EPointCloudToZMapConverter::GetFillUndefinedPixelsMethod ( ) const

Gets the undefined pixel fill method (see EFillUndefinedPixelsMethod).

◆ GetMapHeight()

int eVision::Easy3D::EPointCloudToZMapConverter::GetMapHeight ( ) const

Gets the required height (number of pixels) of the generated EZMap.

By default, the required size is not set.

◆ GetMapWidth()

int eVision::Easy3D::EPointCloudToZMapConverter::GetMapWidth ( ) const

Gets the required width (number of pixels) of the generated EZMap.

By default, the required size is not set.

◆ GetMapXResolution()

float eVision::Easy3D::EPointCloudToZMapConverter::GetMapXResolution ( ) const

Gets the resolution of the EZMap pixels along the X axis.

◆ GetMapYResolution()

float eVision::Easy3D::EPointCloudToZMapConverter::GetMapYResolution ( ) const

Gets the resolution of the EZMap pixels along the Y axis.

◆ GetMapZResolution()

float eVision::Easy3D::EPointCloudToZMapConverter::GetMapZResolution ( ) const

Gets/Sets the EZMap Z resolution, in world space units per gray value.

The resolution is used to compute the transformation of the world Z position to an integer 8, 16 or 32 bits pixel value.

If the resolution set is too small to represent the whole 3D data, it will have to be cropped, saturated or an exception will be thrown. By default, the data is cropped. To specify another behavior, use EPointCloudToZMapConverter::SetMapZResolutionFailureHandler.

◆ GetMapZResolutionFailureHandler()

eVision::Easy3D::EZMapGeneratorZResolutionFailureHandler eVision::Easy3D::EPointCloudToZMapConverter::GetMapZResolutionFailureHandler ( ) const

Gets/Sets the method to handle failures in EPointCloudToZMapConverter::Convert when the EZMap Z resolution is set explicitly (EPointCloudToZMapConverter::SetMapZResolution).

If the resolution set by EPointCloudToZMapConverter::SetMapZResolution is too small to represent the whole 3D data, it may be cropped, saturated or an exception may be thrown. By default, data is cropped.

◆ GetOrientationVector()

eVision::Easy3D::E3DPoint eVision::Easy3D::EPointCloudToZMapConverter::GetOrientationVector ( ) const

Sets an explicit orientation for the EZMap.

Overrides the orientation mode given by the method EPointCloudToZMapConverter::SetOrientationVectorMode.

The direction should be an E3DPoint representing the expected direction of the X (width) axis of the ZMap. That direction will be used after projection on the reference plane normal. That direction must NOT be aligned with the reference plane normal.

◆ GetOrientationVectorMode()

eVision::Easy3D::EZMapOrientationVectorMode eVision::Easy3D::EPointCloudToZMapConverter::GetOrientationVectorMode ( ) const

Chooses the EZMap orientation from a list of predefined axis, automatic mode or user defined vector.

Use EPointCloudToZMapConverter::SetOrientationVector to set an explicit orientation vector for the ZMap.

Choose between Automatic mode (default), world space axis or explicit user defined vector (see EZMapOrientationVectorMode).

◆ GetOrigin()

eVision::Easy3D::E3DPoint eVision::Easy3D::EPointCloudToZMapConverter::GetOrigin ( ) const

Chooses the EZMap origin. It is the 3D world position used as origin of the ZMap upper left pixel (0,0).

That position will be projected on the reference plane. To let the conversion choose for the origin, call EPointCloudToZMapConverter::UnsetOrigin.

◆ GetReferencePlane()

eVision::Easy3D::E3DPlane eVision::Easy3D::EPointCloudToZMapConverter::GetReferencePlane ( ) const

Gets the E3DPlane reference plane.

Use EPointCloudToZMapConverter::SetReferencePlane to set an explicit reference plane.

◆ GetReferencePlaneMode()

eVision::Easy3D::EZMapReferencePlaneMode eVision::Easy3D::EPointCloudToZMapConverter::GetReferencePlaneMode ( ) const

Sets an axis aligned reference plane.

Overrides the explicit reference plane given by the method EPointCloudToZMapConverter::SetReferencePlane.

Choose between X, Y or Z reference plane (see EZMapReferencePlaneMode).

The plane offset is set automatically on the point cloud lowest 3D point.

◆ GetWorldToZMapTransform()

eVision::Easy3D::E3DTransformMatrix eVision::Easy3D::EPointCloudToZMapConverter::GetWorldToZMapTransform ( ) const

Explicitly sets the world to ZMap transformation.

EPointCloudToZMapConverter::SetWorldToZMapTransform overrides the settings done by EPointCloudToZMapConverter::SetReferencePlane, EPointCloudToZMapConverter::SetOrientationVector and EPointCloudToZMapConverter::SetOrigin. That E3DTransformMatrix transform expresses how the world positions are transformed to the EZMap space. The matrix must be a rigid transformation (translation and rotation only).

The resolutions of the ZMap are defined by the EPointCloudToZMapConverter::SetMapXYResolution and EPointCloudToZMapConverter::SetMapZResolution methods.

◆ GetZMaptoWorldTransform()

eVision::Easy3D::E3DTransformMatrix eVision::Easy3D::EPointCloudToZMapConverter::GetZMaptoWorldTransform ( ) const

Explicitly sets the ZMap to World transformation.

"SetZMaptoWorldTransform" overrides the settings done by EPointCloudToZMapConverter::SetReferencePlane, EPointCloudToZMapConverter::SetOrientationVector and EPointCloudToZMapConverter::SetOrigin. That E3DTransformMatrix transform expresses how the EZMap positions are transformed to the World space. The matrix must be a rigid transformation (translation and rotation only).

The resolutions of the World are defined by the EPointCloudToZMapConverter::SetMapXYResolution and EPointCloudToZMapConverter::SetMapZResolution methods.

◆ IsFillModeEnabled()

bool eVision::Easy3D::EPointCloudToZMapConverter::IsFillModeEnabled ( ) const

Tells if the fill mode is enabled or not.

Use EPointCloudToZMapConverter::EnableFillMode to toggle the fill mode and EPointCloudToZMapConverter::SetFillMode or EPointCloudToZMapConverter::SetFillModeMedian to set the filling parameters.

◆ IsFillModeMedian()

bool eVision::Easy3D::EPointCloudToZMapConverter::IsFillModeMedian ( ) const

Tells if the fill mode is in median mode or not, this value is not affected by EPointCloudToZMapConverter::EnableFillMode. Use EPointCloudToZMapConverter::EnableFillMode to toggle the fill mode and EPointCloudToZMapConverter::SetFillMode or EPointCloudToZMapConverter::SetFillModeMedian to set the filling parameters.

◆ IsOriginSet()

bool eVision::Easy3D::EPointCloudToZMapConverter::IsOriginSet ( ) const

Gets whether the Origin of the ZMap is set or not. Use EPointCloudToZMapConverter::SetOrigin to enable and choose the ZMap origin.

◆ Load() [1/2]

void eVision::Easy3D::EPointCloudToZMapConverter::Load ( const std::string & path)

Loads the converter configuration. The given ESerializer must have been created for reading.

Parameters
pathThe file path.

◆ Load() [2/2]

void eVision::Easy3D::EPointCloudToZMapConverter::Load ( eVision::ESerializer * serializer)

Loads the converter configuration. The given ESerializer must have been created for reading.

Parameters
serializerThe serializer.

◆ operator=()

eVision::Easy3D::EPointCloudToZMapConverter & eVision::Easy3D::EPointCloudToZMapConverter::operator= ( const eVision::Easy3D::EPointCloudToZMapConverter & other)

Assignment operator.

Parameters
otherReference to the EPointCloudToZMapConverter object used for the assignment.

◆ operator==()

bool eVision::Easy3D::EPointCloudToZMapConverter::operator== ( const eVision::Easy3D::EPointCloudToZMapConverter & other) const

Comparison operator.

Parameters
otherReference to the EPointCloudToZMapConverter object used for the comparison.

◆ Save() [1/2]

void eVision::Easy3D::EPointCloudToZMapConverter::Save ( const std::string & path)

Saves the converter configuration. The given ESerializer must have been created for writing.

Parameters
pathThe file path.

◆ Save() [2/2]

void eVision::Easy3D::EPointCloudToZMapConverter::Save ( eVision::ESerializer * serializer)

Saves the converter configuration. The given ESerializer must have been created for writing.

Parameters
serializerPointer to the ESerializer created for writing.

◆ SetExtension()

void eVision::Easy3D::EPointCloudToZMapConverter::SetExtension ( float size)

Sets a metric value used to enlarge the point cloud 3D domain.

That value affects X,Y and Z directions and can be used to generate an EZMap with borders of undefined pixels.

Default value is 0, which means a ZMap without border.

Parameters
sizeThe metric extension used to enlarge the point cloud.

◆ SetFillMode()

void eVision::Easy3D::EPointCloudToZMapConverter::SetFillMode ( eVision::Easy3D::EFillUndefinedPixelsDirection direction,
eVision::Easy3D::EFillUndefinedPixelsMethod method )

Inpainting options used to fill the "holes" in the EZMap. A hole exists when no 3D point is projected at that pixel position in the ZMap.

Parameters
directionDirection in which the undefined pixels are filled in a depthmap from EFillUndefinedPixelsDirection
methodWhich values used to fill the undefined pixels in a depthmap from EFillUndefinedPixelsMethod

◆ SetFillModeMedian() [1/3]

void eVision::Easy3D::EPointCloudToZMapConverter::SetFillModeMedian ( )

Inpainting options used to fill the "holes" in the EZMap using a median rectangular kernel of odd size. A hole exists when no 3D point is projected at that pixel position in the ZMap.

◆ SetFillModeMedian() [2/3]

void eVision::Easy3D::EPointCloudToZMapConverter::SetFillModeMedian ( uint32_t halfOfKernelWidth)

Inpainting options used to fill the "holes" in the EZMap using a median rectangular kernel of odd size. A hole exists when no 3D point is projected at that pixel position in the ZMap.

Parameters
halfOfKernelWidthHalf of the box width minus one (by default, halfOfKernelWidth = 2).

◆ SetFillModeMedian() [3/3]

void eVision::Easy3D::EPointCloudToZMapConverter::SetFillModeMedian ( uint32_t halfOfKernelWidth,
uint32_t halfOfKernelHeight )

Inpainting options used to fill the "holes" in the EZMap using a median rectangular kernel of odd size. A hole exists when no 3D point is projected at that pixel position in the ZMap.

Parameters
halfOfKernelWidthHalf of the box width minus one (by default, halfOfKernelWidth = 2).
halfOfKernelHeightHalf of the box height minus one (by default, same as halfOfKernelWidth).

◆ SetMapSize()

void eVision::Easy3D::EPointCloudToZMapConverter::SetMapSize ( int width,
int height )

Sets the required size of the generated EZMap; expressed in number of pixels for width and height dimensions.

By default, the required size is not set.

Parameters
widthThe required width for the Generated ZMap.
heightThe required height for the Generated ZMap.

◆ SetMapXYResolution() [1/2]

void eVision::Easy3D::EPointCloudToZMapConverter::SetMapXYResolution ( float resolution)

Sets the resolution (possibly anisotropic) of the EZMap pixels along the X and Y axes, in world space units per pixel (e.g mm/pixel).

The resolution is used to compute the ZMap size (width and height), depending on the projected point cloud on the reference plane.

Parameters
resolutionThe resolution for the isotropic case.

The isotropic scale, for X and Y axis is in metric world units.

◆ SetMapXYResolution() [2/2]

void eVision::Easy3D::EPointCloudToZMapConverter::SetMapXYResolution ( float resolutionX,
float resolutionY )

Sets the resolution (possibly anisotropic) of the EZMap pixels along the X and Y axes, in world space units per pixel (e.g mm/pixel).

The resolution is used to compute the ZMap size (width and height), depending on the projected point cloud on the reference plane.

Parameters
resolutionXThe resolution for the X axis.
resolutionYThe resolution for the Y axis.

The isotropic scale, for X and Y axis is in metric world units.

◆ SetMapZResolution()

void eVision::Easy3D::EPointCloudToZMapConverter::SetMapZResolution ( float scale)

Gets/Sets the EZMap Z resolution, in world space units per gray value.

The resolution is used to compute the transformation of the world Z position to an integer 8, 16 or 32 bits pixel value.

If the resolution set is too small to represent the whole 3D data, it will have to be cropped, saturated or an exception will be thrown. By default, the data is cropped. To specify another behavior, use EPointCloudToZMapConverter::SetMapZResolutionFailureHandler.

Parameters
scaleThe resolution for the Z axis

◆ SetMapZResolutionFailureHandler()

void eVision::Easy3D::EPointCloudToZMapConverter::SetMapZResolutionFailureHandler ( eVision::Easy3D::EZMapGeneratorZResolutionFailureHandler failureHandler)

Gets/Sets the method to handle failures in EPointCloudToZMapConverter::Convert when the EZMap Z resolution is set explicitly (EPointCloudToZMapConverter::SetMapZResolution).

If the resolution set by EPointCloudToZMapConverter::SetMapZResolution is too small to represent the whole 3D data, it may be cropped, saturated or an exception may be thrown. By default, data is cropped.

Parameters
failureHandlerWhether to crop, saturate or throw on failure

◆ SetOrientationVector()

void eVision::Easy3D::EPointCloudToZMapConverter::SetOrientationVector ( const eVision::Easy3D::E3DPoint & direction)

Sets an explicit orientation for the EZMap.

Overrides the orientation mode given by the method EPointCloudToZMapConverter::SetOrientationVectorMode.

The direction should be an E3DPoint representing the expected direction of the X (width) axis of the ZMap. That direction will be used after projection on the reference plane normal. That direction must NOT be aligned with the reference plane normal.

◆ SetOrientationVectorMode()

void eVision::Easy3D::EPointCloudToZMapConverter::SetOrientationVectorMode ( eVision::Easy3D::EZMapOrientationVectorMode mode)

Chooses the EZMap orientation from a list of predefined axis, automatic mode or user defined vector.

Use EPointCloudToZMapConverter::SetOrientationVector to set an explicit orientation vector for the ZMap.

Choose between Automatic mode (default), world space axis or explicit user defined vector (see EZMapOrientationVectorMode).

◆ SetOrigin()

void eVision::Easy3D::EPointCloudToZMapConverter::SetOrigin ( const eVision::Easy3D::E3DPoint & position)

Chooses the EZMap origin. It is the 3D world position used as origin of the ZMap upper left pixel (0,0).

That position will be projected on the reference plane. To let the conversion choose for the origin, call EPointCloudToZMapConverter::UnsetOrigin.

◆ SetReferencePlane()

void eVision::Easy3D::EPointCloudToZMapConverter::SetReferencePlane ( const eVision::Easy3D::E3DPlane & plane)

Sets the E3DPlane reference plane.

The resulting EZMap is the distance of the 3D points above that plane. 3D points below the reference plane are discarded.

Parameters
planeThe reference plane.

◆ SetReferencePlaneMode()

void eVision::Easy3D::EPointCloudToZMapConverter::SetReferencePlaneMode ( eVision::Easy3D::EZMapReferencePlaneMode mode)

Sets an axis aligned reference plane.

Overrides the explicit reference plane given by the method EPointCloudToZMapConverter::SetReferencePlane.

Choose between X, Y or Z reference plane (see EZMapReferencePlaneMode).

The plane offset is set automatically on the point cloud lowest 3D point.

◆ SetWorldToZMapTransform()

void eVision::Easy3D::EPointCloudToZMapConverter::SetWorldToZMapTransform ( const eVision::Easy3D::E3DTransformMatrix & matrix)

Explicitly sets the world to ZMap transformation.

EPointCloudToZMapConverter::SetWorldToZMapTransform overrides the settings done by EPointCloudToZMapConverter::SetReferencePlane, EPointCloudToZMapConverter::SetOrientationVector and EPointCloudToZMapConverter::SetOrigin. That E3DTransformMatrix transform expresses how the world positions are transformed to the EZMap space. The matrix must be a rigid transformation (translation and rotation only).

The resolutions of the ZMap are defined by the EPointCloudToZMapConverter::SetMapXYResolution and EPointCloudToZMapConverter::SetMapZResolution methods.

Parameters
matrixThe world to ZMap transformation matrix.

◆ SetZMaptoWorldTransform()

void eVision::Easy3D::EPointCloudToZMapConverter::SetZMaptoWorldTransform ( const eVision::Easy3D::E3DTransformMatrix & matrix)

Explicitly sets the ZMap to World transformation.

"SetZMaptoWorldTransform" overrides the settings done by EPointCloudToZMapConverter::SetReferencePlane, EPointCloudToZMapConverter::SetOrientationVector and EPointCloudToZMapConverter::SetOrigin. That E3DTransformMatrix transform expresses how the EZMap positions are transformed to the World space. The matrix must be a rigid transformation (translation and rotation only).

The resolutions of the World are defined by the EPointCloudToZMapConverter::SetMapXYResolution and EPointCloudToZMapConverter::SetMapZResolution methods.

Parameters
matrixThe ZMap to World transformation matrix.

◆ UnsetMapSize()

void eVision::Easy3D::EPointCloudToZMapConverter::UnsetMapSize ( )

Unsets the resolution. Lets the conversion decides for the optimum resolution, depending on the projected point cloud and pixel scale.

◆ UnsetMapXYResolution()

void eVision::Easy3D::EPointCloudToZMapConverter::UnsetMapXYResolution ( )

Unsets the X and Y resolutions. Lets the conversion decide the optimal resolution, depending on the projected point cloud and EZMap size.

◆ UnsetMapZResolution()

void eVision::Easy3D::EPointCloudToZMapConverter::UnsetMapZResolution ( )

Unsets the EPointCloudToZMapConverter::SetMapZResolution (as well as the EPointCloudToZMapConverter::SetMapZResolutionFailureHandler). Lets the conversion decide the optimal Z resolution.

◆ UnsetOrigin()

void eVision::Easy3D::EPointCloudToZMapConverter::UnsetOrigin ( )

Lets the conversion process decides for the EZMap origin position (based on projected point cloud on the reference plane).

Use EPointCloudToZMapConverter::SetOrigin to enable and choose the ZMap origin.

◆ UnsetWorldToZMapTransform()

void eVision::Easy3D::EPointCloudToZMapConverter::UnsetWorldToZMapTransform ( )

Disables the explicit world to ZMap transformation, set with EPointCloudToZMapConverter::SetWorldToZMapTransform.

Member Data Documentation

◆ wrappedClass_

CppWrapperInternal::WrappedClass eVision::Easy3D::EPointCloudToZMapConverter::wrappedClass_