Classes | Namespaces | Functions
AngularMetric

Classes

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

Namespaces

namespace  sal3d::AngularMetric
 

Namespace for the Angular Metric Calibration Tool functions.


Functions

Config sal3d::AngularMetric::calibrate (const RangeMap &rangeMap, const Metric::PatternSPPoints &points, float initialAngle, float angleStep, int left, int top, int right, int bottom, const LensDistortion::Model &dm, int filterlen=1)
 Calculates an angular metric calibration configuration using a range map of the angular pattern.
Config sal3d::AngularMetric::calibrate (const RangeMap &rangeMap, const Metric::PatternSPPoints &points, float initialAngle, float angleStep, const LensDistortion::Model &dm, int filterlen=1)
 Calculates an angular metric calibration configuration using an optically corrected range map of the angular pattern.
Config sal3d::AngularMetric::calibrate (const RangeMap &rangeMap, const Metric::PatternSPPoints &points, float initialAngle, float angleStep, int filterlen=1)
 Calculates an angular metric calibration configuration using a RangeMap map of the angular pattern.

Function Documentation

Config sal3d::AngularMetric::calibrate ( const RangeMap &  rangeMap,
const Metric::PatternSPPoints &  points,
float  initialAngle,
float  angleStep,
int  left,
int  top,
int  right,
int  bottom,
const LensDistortion::Model &  dm,
int  filterlen = 1 
) [inline]

Calculates an angular metric calibration configuration using a range map of the angular pattern.

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

Provided a RangeMap of the angular calibration pattern (see the Description of the angular calibration pattern) and a set of 3D points defining it, this function calculates the configuration needed to later transform any RangeMap acquired with the same set of camera/laser into a COP. Only the region defined by the ROI is taken from the rangemap, and prior to calibrating, the distortion correction is applied to the rangemap based on the passed model.

Parameters:
[in]rangeMapThe RangeMap of the pattern scanned with the acquisition system we want the metric calibration configuration for.
[in]pointsThe 4 (y,z) points of the angular pattern in metric coordinates.
[in]initialAngleThe scanning angle corresponding to the first RangeMap profile
[in]angleStepThe angle between two consecutive profiles.
[in]leftThe first row from the rangemap to be considered in the ROI (>= 0)
[in]topThe first profile from the rangemap to be considered in the ROI (>= 0)
[in]rightThe last row from the rangemap to be considered in the ROI (< rangeMap.profilesLenght())
[in]bottomThe first profile from the rangemap to be considered in the ROI (< rangeMap.countProfiles())
[in]dmLens distortion model. The range map values are taken as the Y coordinates from the camera 2D image, referred to the top row downwards.
[in]filterlenLength of the inter-profile filter, to reduce the influence of the capture noise in the calibration.
Returns:
The Config associated with this acquisition system.
Exceptions:
sal3d::ErrorOn error

References sal3d::LensDistortion::Model::c_lens_distortion(), and sal3d::RangeMap::c_range_map().

Referenced by sal3d::AngularMetric::calibrate().

Config sal3d::AngularMetric::calibrate ( const RangeMap &  rangeMap,
const Metric::PatternSPPoints &  points,
float  initialAngle,
float  angleStep,
const LensDistortion::Model &  dm,
int  filterlen = 1 
) [inline]

Calculates an angular metric calibration configuration using an optically corrected range map of the angular pattern.

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

Provided a RangeMap of the linear calibration pattern (see the Description of the angular calibration pattern) and a set of 3D points defining it, this function calculates the configuration needed to later transform any RangeMap acquired with the same set of camera/laser into a COP. Prior to calibrating, the distortion correction is applied to the rangemap based on the passed model.

Parameters:
[in]rangeMapThe RangeMap of the pattern scanned with the acquisition system we want the metric calibration configuration for.
[in]pointsThe 4 (y,z) points of the angular pattern in metric coordinates.
[in]initialAngleThe scanning angle corresponding to the first RangeMap profile.
[in]angleStepThe angle between two consecutive profiles.
[in]dmLens distortion model. The range map values are taken as the Y coordinates from the camera 2D image, referred to the top row downwards.
[in]filterlenLength of the inter-profile filter, to reduce the influence of the capture noise in the calibration.
Returns:
The Config associated with this acquisition system.
Exceptions:
sal3d::ErrorOn error

References sal3d::LensDistortion::Model::c_lens_distortion(), sal3d::RangeMap::c_range_map(), sal3d::RangeMap::countProfiles(), and sal3d::RangeMap::profilesLength().

Config sal3d::AngularMetric::calibrate ( const RangeMap &  rangeMap,
const Metric::PatternSPPoints &  points,
float  initialAngle,
float  angleStep,
int  filterlen = 1 
) [inline]

Calculates an angular metric calibration configuration using a RangeMap map of the angular pattern.

Provided a RangeMap of the angular calibration pattern (see the Description of the angular calibration pattern) and a set of 3D points defining it, this function calculates the configuration needed to later transform any RangeMap acquired with the same set of camera/laser into a COP. This version performs no optical correction on the rangemap.

Parameters:
[in]rangeMapThe RangeMap of the pattern scanned with the acquisition system we want the metric calibration configuration for.
[in]pointsThe 4 (y,z) points of the angular pattern in metric coordinates.
[in]initialAngleThe scanning angle corresponding to the first RangeMap profile
[in]angleStepThe angle between two consecutive profiles.
[in]filterlenLength of the inter-profile filter, to reduce the influence of the capture noise in the calibration.
Returns:
The Config associated with this acquisition system.
Exceptions:
std::bad_allocif there was a problem allocating memory.
sal3d::InvalidPatternRangeMapif the rangemap is too different from that expected. Very noisy acquisitions are most likely to cause this.
std::runtime_errorif there was an unknown error.

References sal3d::AngularMetric::calibrate().