CVB++ 14.1
Cvb::Foundation::Metric Namespace Reference

Namespace for metric calibration. More...

Namespaces

namespace  AQS12
 Namespace specific to AQS12 calibration pieces.
 
namespace  LaserLineExtraction
 Namespace for functions and classes extracting lase lines from the Foundation package.
 

Classes

class  AQS12DensePointCloudSegmentor
 Segmentor object to configure face segmentation of AQS12 calibration piece on dense point clouds. More...
 
class  AQS12RangeMapSegmentor
 Segmentor object to configure face segmentation of AQS12 calibration piece on range maps. More...
 
class  CalibrationConfiguration
 Calibration configuration object. More...
 
class  DensePointCloudSegmentor
 Base class for segmentor object to configure and compute segmentation on dense point clouds. More...
 
class  RangeMapSegmentor
 Base class for segmentor object to configure and compute segmentation on range maps. More...
 

Typedefs

using AQS12CalibratorResult = std::pair< LaserPlaneHomographyCalibrator3DPtr, std::array< Point3D< double >, 12 > >
 Result for calculating the calibrator based on the AQS12 calibration piece. More...
 
using AQS12TransformationResult = std::pair< AffineMatrix3D, std::array< Point3D< double >, 12 > >
 Result for calculating a transformation based on the AQS12 calibration piece. More...
 

Enumerations

enum class  CalibrationPiece { AQS12 }
 Defines the calibration piece to use for face segmentation.
More...
 
enum class  SegmentationMethod { KmeansClustering = CExports::CVMSM_KmeansClustering }
 Defines the segmentation method for labeling the faces of the calibration piece.
More...
 

Functions

AffineMatrix3D CalculateAffineTransformation (const std::vector< Point3D< double > > &referencePoints, const std::vector< Point3D< double > > &measuredPoints)
 Calculates affine transformation. More...
 
AffineMatrix3D CalculateRigidBodyTransformation (const std::vector< Point3D< double > > &referencePoints, const std::vector< Point3D< double > > &measuredPoints)
 Calculates rigid body transformation. More...
 
AQS12CalibratorResult CreateCalibratorFromAqs12Piece (const ImagePlane &imagePlane, const AQS12RangeMapSegmentor &segmentor, const CalibrationConfiguration &config)
 Calculates intrinsic calibration parameters from the given range map image of an AQS12 calibration piece and creates a new calibration object. More...
 
AQS12CalibratorResult CreateCalibratorFromAqs12Piece (const ImagePlane &imagePlane, const AQS12RangeMapSegmentor &segmentor, const CalibrationConfiguration &config, Rect< int > aoi)
 Calculates intrinsic calibration parameters from the range map image of an AQS12 calibration piece on the given area of interest and creates a new calibration object. More...
 
AQS12TransformationResult CalculateCorrectionOfLaserPlaneInclinationFromAqs12Piece (const DensePointCloud &cloud, const AQS12DensePointCloudSegmentor &segmentor, const CalibrationConfiguration &config)
 Calculates the correction of the laser plane inclination (affine transformation) from the given dense point cloud of an AQS12 calibration piece. More...
 
AQS12TransformationResult CalculateCorrectionOfLaserPlaneInclinationFromAqs12Piece (const DensePointCloud &cloud, const AQS12DensePointCloudSegmentor &segmentor, const CalibrationConfiguration &config, Rect< int > aoi)
 Calculates the correction of the laser plane inclination (affine transformation) from the dense point cloud of an AQS12 calibration piece on the given area of interest. More...
 
AQS12TransformationResult CalculateRigidBodyTransformationFromAqs12Piece (const DensePointCloud &cloud, const AQS12DensePointCloudSegmentor &segmentor, const AQS12Piece &aqs12)
 Calculates the rigid body transformation from the given dense point cloud of an AQS12 calibration piece. More...
 
AQS12TransformationResult CalculateRigidBodyTransformationFromAqs12Piece (const DensePointCloud &cloud, const AQS12DensePointCloudSegmentor &segmentor, const AQS12Piece &aqs12, Cvb::Rect< int > aoi)
 Calculates the rigid body transformation from the dense point cloud of an AQS12 calibration piece on the given area of interest. More...
 

Detailed Description

Namespace for metric calibration.

Remarks
CMake users: Link to imported target CVB::CvbFoundationMetric

Typedef Documentation

◆ AQS12CalibratorResult

Result for calculating the calibrator based on the AQS12 calibration piece.

The first element returned is the calibrator, the second the contains the difference between the reference points and calculation result.

◆ AQS12TransformationResult

Result for calculating a transformation based on the AQS12 calibration piece.

The first element returned is the transformation, the second the contains the residuals, i.e. the difference between the reference points and calculation result.

Enumeration Type Documentation

◆ CalibrationPiece

enum class CalibrationPiece
strong

Defines the calibration piece to use for face segmentation.

Enumerator
AQS12 

The AQS12 calibration piece.

◆ SegmentationMethod

enum class SegmentationMethod
strong

Defines the segmentation method for labeling the faces of the calibration piece.

Enumerator
KmeansClustering 

Clustering top, base and faces using kmeans.

Function Documentation

◆ CalculateAffineTransformation()

AffineMatrix3D CalculateAffineTransformation ( const std::vector< Point3D< double > > &  referencePoints,
const std::vector< Point3D< double > > &  measuredPoints 
)
inline

Calculates affine transformation.

Parameters
[in]referencePointsVector with reference points.
[in]measuredPointsVector with corresponding measured points. Note, that these points have to represent the same body as the reference points.
Returns
Affine transformation.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ CalculateCorrectionOfLaserPlaneInclinationFromAqs12Piece() [1/2]

AQS12TransformationResult CalculateCorrectionOfLaserPlaneInclinationFromAqs12Piece ( const DensePointCloud cloud,
const AQS12DensePointCloudSegmentor segmentor,
const CalibrationConfiguration config 
)
inline

Calculates the correction of the laser plane inclination (affine transformation) from the given dense point cloud of an AQS12 calibration piece.

Parameters
[in]cloudDense point cloud.
[in]segmentorAQS12 segmentor object for dense point clouds.
[in]configCalibration configuration object.
Returns
The calibration result (affine transformation and array with residuals).
Exceptions
Anyexception derived from std::exception including CvbException.
Examples
Foundation/CppMetricCalibrationInclinationLaserPlane.

◆ CalculateCorrectionOfLaserPlaneInclinationFromAqs12Piece() [2/2]

AQS12TransformationResult CalculateCorrectionOfLaserPlaneInclinationFromAqs12Piece ( const DensePointCloud cloud,
const AQS12DensePointCloudSegmentor segmentor,
const CalibrationConfiguration config,
Rect< int >  aoi 
)
inline

Calculates the correction of the laser plane inclination (affine transformation) from the dense point cloud of an AQS12 calibration piece on the given area of interest.

Note
The area of interest must be selected on the grid of the dense point cloud. Left, top, right and bottom are indices for row and column.
Parameters
[in]cloudDense point cloud.
[in]segmentorAQS12 segmentor object for dense point clouds.
[in]configCalibration configuration object.
[in]aoiArea of interest of projected xy plane.
Returns
The calibration result (affine transformation and array with residuals).
Exceptions
Anyexception derived from std::exception including CvbException.

◆ CalculateRigidBodyTransformation()

AffineMatrix3D CalculateRigidBodyTransformation ( const std::vector< Point3D< double > > &  referencePoints,
const std::vector< Point3D< double > > &  measuredPoints 
)
inline

Calculates rigid body transformation.

Parameters
[in]referencePointsVector with reference points.
[in]measuredPointsVector with corresponding measured points. Note, that these points have to represent the same body as the reference points.
Returns
Transformation.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ CalculateRigidBodyTransformationFromAqs12Piece() [1/2]

AQS12TransformationResult CalculateRigidBodyTransformationFromAqs12Piece ( const DensePointCloud cloud,
const AQS12DensePointCloudSegmentor segmentor,
const AQS12Piece aqs12 
)
inline

Calculates the rigid body transformation from the given dense point cloud of an AQS12 calibration piece.

Parameters
[in]cloudDense point cloud.
[in]segmentorAQS12 segmentor object for dense point clouds.
[in]aqs12AQS12 calibration piece.
Returns
The calibration result (transformation and array with residuals).
Exceptions
Anyexception derived from std::exception including CvbException.
Examples
Foundation/CppMetricCalibrationRigidBodyTrafo.

◆ CalculateRigidBodyTransformationFromAqs12Piece() [2/2]

AQS12TransformationResult CalculateRigidBodyTransformationFromAqs12Piece ( const DensePointCloud cloud,
const AQS12DensePointCloudSegmentor segmentor,
const AQS12Piece aqs12,
Cvb::Rect< int >  aoi 
)
inline

Calculates the rigid body transformation from the dense point cloud of an AQS12 calibration piece on the given area of interest.

Note
The area of interest must be selected on the grid of the dense point cloud. Left, top, right and bottom are indices for row and column.
Parameters
[in]cloudDense point cloud.
[in]segmentorAQS12 segmentor object for dense point clouds.
[in]aqs12AQS12 calibration piece.
[in]aoiArea of interest of projected xy plane.
Returns
The calibration result (transformation and array with residuals).
Exceptions
Anyexception derived from std::exception including CvbException.

◆ CreateCalibratorFromAqs12Piece() [1/2]

AQS12CalibratorResult CreateCalibratorFromAqs12Piece ( const ImagePlane imagePlane,
const AQS12RangeMapSegmentor segmentor,
const CalibrationConfiguration config 
)
inline

Calculates intrinsic calibration parameters from the given range map image of an AQS12 calibration piece and creates a new calibration object.

This function calculates homography and - if set in the calibration configuration object - the correction of the laser plane inclination. The calibration parameters are saved to a newly created calibrator object.

Parameters
[in]imagePlanePlane of range map image.
[in]segmentorAQS12 segmentor object for range maps.
[in]configCalibration configuration object.
Returns
The variable to receive the resulting calibrator object and the residuals.
Exceptions
Anyexception derived from std::exception including CvbException.
Examples
Foundation/CppMetricCalibration.

◆ CreateCalibratorFromAqs12Piece() [2/2]

AQS12CalibratorResult CreateCalibratorFromAqs12Piece ( const ImagePlane imagePlane,
const AQS12RangeMapSegmentor segmentor,
const CalibrationConfiguration config,
Rect< int >  aoi 
)
inline

Calculates intrinsic calibration parameters from the range map image of an AQS12 calibration piece on the given area of interest and creates a new calibration object.

This function calculates homography and - if set in the calibration configuration object - the correction of the laser plane inclination. The calibration parameters are saved to a newly created calibrator object.

Parameters
[in]imagePlanePlane of range map image.
[in]segmentorAQS12 segmentor object for range maps.
[in]configCalibration configuration object.
[in]aoiArea of interest.
Returns
The variable to receive the resulting calibrator object and the residuals.
Exceptions
Anyexception derived from std::exception including CvbException.