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

Represents an object-based 3D calibration generator. More...

#include <eVision/Easy3D/Easy3DLaserLine/EObjectBasedCalibrationGenerator.h>

Inheritance diagram for eVision::Easy3D::EObjectBasedCalibrationGenerator:
Collaboration diagram for eVision::Easy3D::EObjectBasedCalibrationGenerator:

Public Member Functions

 EObjectBasedCalibrationGenerator ()
 Creates a EObjectBasedCalibrationGenerator.
 EObjectBasedCalibrationGenerator (const eVision::Easy3D::EObjectBasedCalibrationGenerator &other)
 Creates a EObjectBasedCalibrationGenerator.
virtual ~EObjectBasedCalibrationGenerator () throw ()
eVision::Easy3D::EObjectBasedCalibrationGenerator & operator= (const eVision::Easy3D::EObjectBasedCalibrationGenerator &other)
 Assignment operator.
void SetCalibrationObjectType (eVision::Easy3D::EObjectBasedCalibrationType type)
 Sets the EObjectBasedCalibrationType used for the computation of the EObjectBasedCalibrationModel.
void SetCalibrationObjectType (eVision::Easy3D::EObjectBasedCalibrationType type, float sizeA, float sizeB, float sizeC)
 Sets the EObjectBasedCalibrationType used for the computation of the EObjectBasedCalibrationModel.
eVision::Easy3D::EObjectBasedCalibrationType GetCalibrationObjectType () const
 Gets the EObjectBasedCalibrationType used for the computation of the EObjectBasedCalibrationModel.
void SetCalibrationObjectScale (float scale)
 Sets the scale of your target calibration model compared to a reference model.
void SetCalibrationObjectScale (float scaleX, float scaleY, float scaleZ)
 Sets the scale of your target calibration model compared to a reference model.
float GetCalibrationObjectScaleX () const
 Returns the X axis scale of the calibration object.
float GetCalibrationObjectSizeA () const
 Returns the 'A' size of the calibration object.
float GetCalibrationObjectScaleY () const
 Returns the Y axis scale of the calibration object.
float GetCalibrationObjectSizeB () const
 Returns the 'B' size of the calibration object.
float GetCalibrationObjectScaleZ () const
 Returns the Z axis scale of the calibration object.
float GetCalibrationObjectSizeC () const
 Returns the 'C' size of the calibration object.
void SetPrecisionVsSpeedTradeOff (eVision::Easy3D::EObjectBasedCalibrationPrecisionVsSpeedTradeOff tradeOff)
 Sets/Gets the trade-off between precision and speed for the calibration.
eVision::Easy3D::EObjectBasedCalibrationPrecisionVsSpeedTradeOff GetPrecisionVsSpeedTradeOff () const
 Sets/Gets the trade-off between precision and speed for the calibration.
void SetAlongPositiveZAxis (bool alongPositiveZAxis)
 Sets/Gets whether the calibration object is along the positive z-axis.
bool GetAlongPositiveZAxis () const
 Sets/Gets whether the calibration object is along the positive z-axis.
void SetNumCalibrationPasses (int numPasses)
 Sets/Gets the number of calibration passes.
int GetNumCalibrationPasses () const
 Sets/Gets the number of calibration passes.
eVision::Easy3D::EObjectBasedCalibrationModel Compute (const eVision::Easy3D::EDepthMap8 &dm) const
 Computes an EObjectBasedCalibrationModel from the EDepthMap of the calibration object.
eVision::Easy3D::EObjectBasedCalibrationModel Compute (const eVision::Easy3D::EDepthMap16 &dm) const
 Computes an EObjectBasedCalibrationModel from the EDepthMap of the calibration object.
eVision::Easy3D::EObjectBasedCalibrationModel Compute (const eVision::Easy3D::EDepthMap32f &dm) const
 Computes an EObjectBasedCalibrationModel from the EDepthMap of the calibration object.
void Save (const std::string &path)
 Saves the parameters used by the object based calibration generator.
void Save (eVision::ESerializer *serializer)
 Saves the parameters used by the object based calibration generator.
void Load (const std::string &path)
 Loads the parameters used by the object based calibration generator.
void Load (eVision::ESerializer *serializer)
 Loads the parameters used by the object based calibration generator.
void SetRangeX (const eVision::EIntegerRange &Range_X)
 Sets/Gets the 'X' axis range for the calibration object detection in the EDepthMap.
eVision::EIntegerRange GetRangeX () const
 Sets/Gets the 'X' axis range for the calibration object detection in the EDepthMap.
void SetRangeY (const eVision::EIntegerRange &Range_Y)
 Sets/Gets the 'Y' axis range for the calibration object detection in the depth map.
eVision::EIntegerRange GetRangeY () const
 Sets/Gets the 'Y' axis range for the calibration object detection in the depth map.
void SetRangeZ (const eVision::EFloatRange &Range_Z)
 Sets/Gets the 'Z' axis range for the calibration object detection in the depth map.
eVision::EFloatRange GetRangeZ () const
 Sets/Gets the 'Z' axis range for the calibration object detection in the depth map.
 EObjectBasedCalibrationGenerator (CppWrapperInternal::InternalConstructor)
Public Member Functions inherited from eVision::Easy3D::ECalibrationGenerator
virtual ~ECalibrationGenerator () throw ()
 ECalibrationGenerator (CppWrapperInternal::InternalConstructor)

Additional Inherited Members

Public Attributes inherited from eVision::Easy3D::ECalibrationGenerator
CppWrapperInternal::WrappedClass wrappedClass_

Detailed Description

Represents an object-based 3D calibration generator.

The class performs the computation of a calibration model based on the scan of the reference object.

License(s): Easy3DLaserLine

Constructor & Destructor Documentation

◆ EObjectBasedCalibrationGenerator() [1/3]

eVision::Easy3D::EObjectBasedCalibrationGenerator::EObjectBasedCalibrationGenerator ( )

◆ EObjectBasedCalibrationGenerator() [2/3]

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

◆ ~EObjectBasedCalibrationGenerator()

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

◆ EObjectBasedCalibrationGenerator() [3/3]

eVision::Easy3D::EObjectBasedCalibrationGenerator::EObjectBasedCalibrationGenerator ( CppWrapperInternal::InternalConstructor )

Member Function Documentation

◆ Compute() [1/3]

eVision::Easy3D::EObjectBasedCalibrationModel eVision::Easy3D::EObjectBasedCalibrationGenerator::Compute ( const eVision::Easy3D::EDepthMap16 & dm) const

Computes an EObjectBasedCalibrationModel from the EDepthMap of the calibration object.

Parameters
dmThe input depth map of the calibration object.

◆ Compute() [2/3]

eVision::Easy3D::EObjectBasedCalibrationModel eVision::Easy3D::EObjectBasedCalibrationGenerator::Compute ( const eVision::Easy3D::EDepthMap32f & dm) const

Computes an EObjectBasedCalibrationModel from the EDepthMap of the calibration object.

Parameters
dmThe input depth map of the calibration object.

◆ Compute() [3/3]

eVision::Easy3D::EObjectBasedCalibrationModel eVision::Easy3D::EObjectBasedCalibrationGenerator::Compute ( const eVision::Easy3D::EDepthMap8 & dm) const

Computes an EObjectBasedCalibrationModel from the EDepthMap of the calibration object.

Parameters
dmThe input depth map of the calibration object.

◆ GetAlongPositiveZAxis()

bool eVision::Easy3D::EObjectBasedCalibrationGenerator::GetAlongPositiveZAxis ( ) const

Sets/Gets whether the calibration object is along the positive z-axis.

  • If True, the top of the calibration object in the depthmap is expected to have a higher z value than the bottom.
  • If False, the top of the calibration object in the depthmap is expected to have a lower z value than the bottom.

True by default.

◆ GetCalibrationObjectScaleX()

float eVision::Easy3D::EObjectBasedCalibrationGenerator::GetCalibrationObjectScaleX ( ) const

Returns the X axis scale of the calibration object.

Deprecated

Use EObjectBasedCalibrationGenerator::GetCalibrationObjectSizeA instead. Note that scale and size aren't the same thing.

Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ GetCalibrationObjectScaleY()

float eVision::Easy3D::EObjectBasedCalibrationGenerator::GetCalibrationObjectScaleY ( ) const

Returns the Y axis scale of the calibration object.

Deprecated

Use EObjectBasedCalibrationGenerator::GetCalibrationObjectSizeB instead. Note that scale and size aren't the same thing.

Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ GetCalibrationObjectScaleZ()

float eVision::Easy3D::EObjectBasedCalibrationGenerator::GetCalibrationObjectScaleZ ( ) const

Returns the Z axis scale of the calibration object.

Deprecated

Use EObjectBasedCalibrationGenerator::GetCalibrationObjectSizeC instead. Note that scale and size aren't the same thing.

Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ GetCalibrationObjectSizeA()

float eVision::Easy3D::EObjectBasedCalibrationGenerator::GetCalibrationObjectSizeA ( ) const

Returns the 'A' size of the calibration object.

◆ GetCalibrationObjectSizeB()

float eVision::Easy3D::EObjectBasedCalibrationGenerator::GetCalibrationObjectSizeB ( ) const

Returns the 'B' size of the calibration object.

◆ GetCalibrationObjectSizeC()

float eVision::Easy3D::EObjectBasedCalibrationGenerator::GetCalibrationObjectSizeC ( ) const

Returns the 'C' size of the calibration object.

◆ GetCalibrationObjectType()

eVision::Easy3D::EObjectBasedCalibrationType eVision::Easy3D::EObjectBasedCalibrationGenerator::GetCalibrationObjectType ( ) const

Gets the EObjectBasedCalibrationType used for the computation of the EObjectBasedCalibrationModel.

The type of the object used for the calibration is E3DObjectBasedCalibrationType_NotDefined by default.

◆ GetNumCalibrationPasses()

int eVision::Easy3D::EObjectBasedCalibrationGenerator::GetNumCalibrationPasses ( ) const

Sets/Gets the number of calibration passes.

Each passes will refine the calibration model but the computation will be longer. The number of passes is 1 by default.

◆ GetPrecisionVsSpeedTradeOff()

eVision::Easy3D::EObjectBasedCalibrationPrecisionVsSpeedTradeOff eVision::Easy3D::EObjectBasedCalibrationGenerator::GetPrecisionVsSpeedTradeOff ( ) const

Sets/Gets the trade-off between precision and speed for the calibration.

The Precision vs speed trade-off mode from EObjectBasedCalibrationPrecisionVsSpeedTradeOff is EObjectBasedCalibrationPrecisionVsSpeedTradeOff_Balanced by default.

◆ GetRangeX()

eVision::EIntegerRange eVision::Easy3D::EObjectBasedCalibrationGenerator::GetRangeX ( ) const

Sets/Gets the 'X' axis range for the calibration object detection in the EDepthMap.

If max value is smaller than min value, then max will not be used, we use depth map width - 1 instead. If min value is smaller than 0, then min will not be used, we use 0 instead.

◆ GetRangeY()

eVision::EIntegerRange eVision::Easy3D::EObjectBasedCalibrationGenerator::GetRangeY ( ) const

Sets/Gets the 'Y' axis range for the calibration object detection in the depth map.

If max value is smaller than min value, then max will not be used, we use depth map height - 1 instead. If min value is smaller than 0, then min will not be used, we use 0 instead.

◆ GetRangeZ()

eVision::EFloatRange eVision::Easy3D::EObjectBasedCalibrationGenerator::GetRangeZ ( ) const

Sets/Gets the 'Z' axis range for the calibration object detection in the depth map.

if max value is smaller than min value, then max will not be used, we use the maximum float value instead. if min value is smaller than 0, then min will not be used, we use 0 instead.

◆ Load() [1/2]

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

Loads the parameters used by the object based calibration generator.

Parameters
pathThe file path.

◆ Load() [2/2]

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

Loads the parameters used by the object based calibration generator.

Parameters
serializerThe serializer.

◆ operator=()

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

Assignment operator.

Parameters
otherThe other EObjectBasedCalibrationGenerator.

◆ Save() [1/2]

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

Saves the parameters used by the object based calibration generator.

Parameters
pathThe file path.

◆ Save() [2/2]

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

Saves the parameters used by the object based calibration generator.

Parameters
serializerThe ESerializer object that is written to.

◆ SetAlongPositiveZAxis()

void eVision::Easy3D::EObjectBasedCalibrationGenerator::SetAlongPositiveZAxis ( bool alongPositiveZAxis)

Sets/Gets whether the calibration object is along the positive z-axis.

  • If True, the top of the calibration object in the depthmap is expected to have a higher z value than the bottom.
  • If False, the top of the calibration object in the depthmap is expected to have a lower z value than the bottom.

True by default.

◆ SetCalibrationObjectScale() [1/2]

void eVision::Easy3D::EObjectBasedCalibrationGenerator::SetCalibrationObjectScale ( float scale)

Sets the scale of your target calibration model compared to a reference model.

Refer to the user guide for the EObjectBasedCalibrationModel reference design. Use that value to set the unit of the calibrated positions in the point cloud. The scale will affect the world coordinates after conversion of the EDepthMap to EPointCloud. For example, if "1 reference unit" is equal to "10 millimeters", set "10" as scale value. Then applying the calibration will produce results in millimeters. Changing these values affect the calibration object sizes defined by EObjectBasedCalibrationGenerator::SetCalibrationObjectType.

Parameters
scaleSets the same scale on axis X, Y and Z relative to the calibration object reference size.
Deprecated

Use EObjectBasedCalibrationGenerator::SetCalibrationObjectType instead. Note that the scale and size arguments aren't the same thing.

Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ SetCalibrationObjectScale() [2/2]

void eVision::Easy3D::EObjectBasedCalibrationGenerator::SetCalibrationObjectScale ( float scaleX,
float scaleY,
float scaleZ )

Sets the scale of your target calibration model compared to a reference model.

Refer to the user guide for the EObjectBasedCalibrationModel reference design. Use that value to set the unit of the calibrated positions in the point cloud. The scale will affect the world coordinates after conversion of the EDepthMap to EPointCloud. For example, if "1 reference unit" is equal to "10 millimeters", set "10" as scale value. Then applying the calibration will produce results in millimeters. Changing these values affect the calibration object sizes defined by EObjectBasedCalibrationGenerator::SetCalibrationObjectType.

Parameters
scaleXSets the scale on X axis relative to the calibration object reference size.
scaleYSets the scale on Y axis relative to the calibration object reference size.
scaleZSets the scale on Z axis relative to the calibration object reference size.
Deprecated

Use EObjectBasedCalibrationGenerator::SetCalibrationObjectType instead. Note that the scale and size arguments aren't the same thing.

Deprecated in version 23.12. Scheduled to be removed in version 27.6.

◆ SetCalibrationObjectType() [1/2]

void eVision::Easy3D::EObjectBasedCalibrationGenerator::SetCalibrationObjectType ( eVision::Easy3D::EObjectBasedCalibrationType type)

Sets the EObjectBasedCalibrationType used for the computation of the EObjectBasedCalibrationModel.

The type of the object used for the calibration is E3DObjectBasedCalibrationType_NotDefined by default.

Parameters
typeSets the type of object calibration to detect in the EDepthMap.

'sizeA', 'sizeB', and 'sizeC' values are in metric unit. The resulting point cloud positions after applying the calibration will follow the same metric unit. Refer to the eVision user guide, Easy3D calibration section, for the definition of 'A', 'B' and 'C' dimensions.

◆ SetCalibrationObjectType() [2/2]

void eVision::Easy3D::EObjectBasedCalibrationGenerator::SetCalibrationObjectType ( eVision::Easy3D::EObjectBasedCalibrationType type,
float sizeA,
float sizeB,
float sizeC )

Sets the EObjectBasedCalibrationType used for the computation of the EObjectBasedCalibrationModel.

The type of the object used for the calibration is E3DObjectBasedCalibrationType_NotDefined by default.

Parameters
typeSets the type of object calibration to detect in the EDepthMap.
sizeASets the size 'A' of object calibration (1 by default).
sizeBSets the size 'B' of object calibration (1 by default).
sizeCSets the size 'C' of object calibration (1 by default).

'sizeA', 'sizeB', and 'sizeC' values are in metric unit. The resulting point cloud positions after applying the calibration will follow the same metric unit. Refer to the eVision user guide, Easy3D calibration section, for the definition of 'A', 'B' and 'C' dimensions.

◆ SetNumCalibrationPasses()

void eVision::Easy3D::EObjectBasedCalibrationGenerator::SetNumCalibrationPasses ( int numPasses)

Sets/Gets the number of calibration passes.

Each passes will refine the calibration model but the computation will be longer. The number of passes is 1 by default.

◆ SetPrecisionVsSpeedTradeOff()

void eVision::Easy3D::EObjectBasedCalibrationGenerator::SetPrecisionVsSpeedTradeOff ( eVision::Easy3D::EObjectBasedCalibrationPrecisionVsSpeedTradeOff tradeOff)

Sets/Gets the trade-off between precision and speed for the calibration.

The Precision vs speed trade-off mode from EObjectBasedCalibrationPrecisionVsSpeedTradeOff is EObjectBasedCalibrationPrecisionVsSpeedTradeOff_Balanced by default.

◆ SetRangeX()

void eVision::Easy3D::EObjectBasedCalibrationGenerator::SetRangeX ( const eVision::EIntegerRange & Range_X)

Sets/Gets the 'X' axis range for the calibration object detection in the EDepthMap.

If max value is smaller than min value, then max will not be used, we use depth map width - 1 instead. If min value is smaller than 0, then min will not be used, we use 0 instead.

◆ SetRangeY()

void eVision::Easy3D::EObjectBasedCalibrationGenerator::SetRangeY ( const eVision::EIntegerRange & Range_Y)

Sets/Gets the 'Y' axis range for the calibration object detection in the depth map.

If max value is smaller than min value, then max will not be used, we use depth map height - 1 instead. If min value is smaller than 0, then min will not be used, we use 0 instead.

◆ SetRangeZ()

void eVision::Easy3D::EObjectBasedCalibrationGenerator::SetRangeZ ( const eVision::EFloatRange & Range_Z)

Sets/Gets the 'Z' axis range for the calibration object detection in the depth map.

if max value is smaller than min value, then max will not be used, we use the maximum float value instead. if min value is smaller than 0, then min will not be used, we use 0 instead.