Public Member Functions
sal3d::AngularMetric::Config Class Reference

Configuration associated with a camera/laser set on angular scanning used to convert acquired data to 3D data. More...

#include <AngularMetricConfig.hpp>

List of all members.

Public Member Functions

 Config (const sal3d_angular_metric_config &config)
 Creates a C++ Config object that holds a C sal3d_metric_config.
 Config (const Config &mc)
 Copy constructor.
Configoperator= (const Config &mc)
 Assignment operator.
 Config (const std::string &filename)
 Creates a new Config from a file.
 ~Config ()
 Destructor.
std::vector< float > accuracyMean () const
 Returns the mean accuracy of the calibration in x, y and z.
std::vector< float > accuracyStdDev () const
 Returns the stddev accuracy of the calibration in x, y and z.
const sal3d_angular_metric_config & c_metric_config () const
 Returns the pointer to the internal C angular metric config.
void saveToFile (const std::string &fileName) const
 Saves the Config to a file.
Point3D toPoint3D (float angle, int v, float g) const
 Converts a range map point to a Point3D.
LensDistortion::Model getLensDistortionModel () const
 Get the lens distortion model associated with this configuration.

Detailed Description

Configuration associated with a camera/laser set on angular scanning used to convert acquired data to 3D data.

This class requires linking with angularmetric.lib (import library for angularmetric.dll).

These objects have the information needed to convert Profile or RangeMap values (u, v and g) to 3D metric coordinates (X, Y and Z) in case of laser triangulation combined with angular scanning (see Angular Metric Calibration Tool).

The usual workflow is then to create a COP object from a RangeMap or a Frame, although single points can also be transformed through the method toPoint3D() provided in this class.

There are also a set of quality parameters that define how good a calibration was. They can be retrieved with accuracyMean() and accuracyStdDev().


Constructor & Destructor Documentation

sal3d::AngularMetric::Config::Config ( const sal3d_angular_metric_config &  config) [inline, explicit]

Creates a C++ Config object that holds a C sal3d_metric_config.

The new C++ Config object will get the ownership of the C config, which means that you should not call sal3d_angular_metric_config_release() to this metricConfig, otherwise it would be called twice.

Parameters:
[in]configThe C sal3d_angular_metric_config to use to create this object.
Exceptions:
sal3d::ErrorOn error
sal3d::AngularMetric::Config::Config ( const Config mc) [inline]

Copy constructor.

Parameters:
[in]mcThe Config to copy from.
Exceptions:
sal3d::ErrorOn error
sal3d::AngularMetric::Config::Config ( const std::string &  filename) [inline, explicit]

Creates a new Config from a file.

Parameters:
[in]filenameThe name of the file to use to load the Config.
Exceptions:
sal3d::ErrorOn error

Member Function Documentation

std::vector<float> sal3d::AngularMetric::Config::accuracyMean ( ) const [inline]

Returns the mean accuracy of the calibration in x, y and z.

The mean accuracy of the calibration, together with the standard deviation of the accuracy, give an idea of the errors expected for scanned objects similar in size to the calibration pattern.

All x, y and z mean accuracies are given in metric units.

Warning:
The accuracy in x is currently not evaluated, so, this value is always zero.
Returns:
The mean accuracy of the calibration in x, y, and z, in order of the elements of the vector.
Exceptions:
sal3d::ErrorOn error
std::vector<float> sal3d::AngularMetric::Config::accuracyStdDev ( ) const [inline]

Returns the stddev accuracy of the calibration in x, y and z.

The accuracy standard deviation of the calibration, together with the mean of the accuracy, give an idea of the errors expected for scanned objects similar in size to the calibration pattern.

All x, y and z standard deviations are given in metric units.

Warning:
The accuracy in x is currently not evaluated, so, the X standard deviation is always zero.
Returns:
The accuracy standard deviations of the calibration in x, y, and z, in order of the elements of the vector.
Exceptions:
sal3d::ErrorOn error
const sal3d_angular_metric_config& sal3d::AngularMetric::Config::c_metric_config ( ) const [inline]

Returns the pointer to the internal C angular metric config.

Warning:
Never call sal3d_angular_metric_release() with the pointer returned by this function or the application will fail.
Returns:
The pointer to sal3d's angular metric config C interface.
Exceptions:
sal3d::ErrorOn error

Referenced by sal3d::COP::COP().

Get the lens distortion model associated with this configuration.

This functions returns the lens distortion model that is associated with the metric configuration, which was (optionally) fed to the calibration function.

Returns:
The lens distortion model.
Exceptions:
sal3d::ErrorOn error
Config& sal3d::AngularMetric::Config::operator= ( const Config mc) [inline]

Assignment operator.

Parameters:
[in]mcThe Config to copy to this object.
Returns:
A reference to this object.
Exceptions:
sal3d::ErrorOn error
void sal3d::AngularMetric::Config::saveToFile ( const std::string &  fileName) const [inline]

Saves the Config to a file.

Parameters:
[in]fileNameThe name of the file to store the config.
Exceptions:
sal3d::ErrorOn error
Point3D sal3d::AngularMetric::Config::toPoint3D ( float  angle,
int  v,
float  g 
) const [inline]

Converts a range map point to a Point3D.

Given the position of a point in the rangemap, its value and the angle for the chosen profile u, this method returns the corresponding point with metric coordinates.

Parameters:
[in]angleThe acquisition angle for the rangemap profile
[in]vThe range map's v coordinate.
[in]gThe range map's g value.
Returns:
The point 3d after converting (u, v, g) to 3D space (X, Y, Z).
Exceptions:
sal3d::ErrorOn error

References sal3d::Point3D::c_point_3d().


The documentation for this class was generated from the following file: