CVB++ 15.0
LineScanCalibrationConfiguration Class Referencefinal

A set of parameters, which is used to configure linescan calibration calculated with function CreateLineScanCalibration. More...

#include <cvb/foundation/calibration_line_scan.hpp>

Public Member Functions

 LineScanCalibrationConfiguration (std::uint32_t maxIterations, std::uint32_t polyDegree, double tolerance, ScanDirection scanDirection, PreDefinedPixelSizeMode preDefinedPixelSizeMode, double pixelSize) noexcept
 Constructor for linescan calibration configuration. More...
 
std::uint32_t MaxIterations () const noexcept
 Gets the number of maximal iterations for all nonlinear solvers in the calibration algorithm. More...
 
void SetMaxIterations (std::uint32_t maxIterations) noexcept
 Sets number of maximal iterations for all nonlinear solvers in the calibration algorithm. More...
 
std::uint32_t PolyDegree () const noexcept
 Gets a positive (or zero) integer value that defines the polynomial to be used. More...
 
void SetPolyDegree (std::uint32_t polyDegree) noexcept
 Sets a positive (or zero) integer value that defines the polynomial to be used. More...
 
double Tolerance () const noexcept
 Gets the value for early stopping criteria. More...
 
void SetTolerance (double tolerance) noexcept
 Sets the value for early stopping criteria. More...
 
ScanDirection ScanDirection () const noexcept
 Gets the scanning direction of camera. More...
 
void SetScanDirection (Foundation::CalibrationLineScan::ScanDirection scanDirection) noexcept
 Sets the scanning direction of camera. More...
 
PreDefinedPixelSizeMode PreDefinedPixelSizeMode () const noexcept
 Gets the decision if the calibrator uses predefined pixel size. More...
 
void SetPreDefinedPixelSizeMode (Foundation::CalibrationLineScan::PreDefinedPixelSizeMode preDefinedPixelSize) noexcept
 Sets the decision if predefined pixel size needs to be used. More...
 
double PixelSize () const noexcept
 Gets the pixel size of transformed image. More...
 
void SetPixelSize (double pixelSize) noexcept
 Sets the pixel size of transformed image. More...
 

Detailed Description

A set of parameters, which is used to configure linescan calibration calculated with function CreateLineScanCalibration.

Constructor & Destructor Documentation

◆ LineScanCalibrationConfiguration()

LineScanCalibrationConfiguration ( std::uint32_t  maxIterations,
std::uint32_t  polyDegree,
double  tolerance,
ScanDirection  scanDirection,
PreDefinedPixelSizeMode  preDefinedPixelSizeMode,
double  pixelSize 
)
inlinenoexcept

Constructor for linescan calibration configuration.

Parameters
[in]maxIterationsNumber of maximal iterations for all nonlinear solvers in the calibration algorithm.
[in]polyDegreeA positive (or zero) integer value that defines the polynomial to be used. Note, that currently only a polynomial of degree 3 is supported.
[in]toleranceValue for early stopping criteria.
[in]scanDirectionScanning direction of camera.
[in]preDefinedPixelSizeModeDecision if predefined pixel size needs to be used.
[in]pixelSizePixel size of transformed image.
Exceptions
Doesnot throw any exception.

Member Function Documentation

◆ MaxIterations()

std::uint32_t MaxIterations ( ) const
inlinenoexcept

Gets the number of maximal iterations for all nonlinear solvers in the calibration algorithm.

See SetMaxIterations for details.

Returns
The number of maximal iterations for all nonlinear solvers in the calibration algorithm.
Exceptions
Doesnot throw any exception.

◆ PixelSize()

double PixelSize ( ) const
inlinenoexcept

Gets the pixel size of transformed image.

See SetPixelSize for details.

Returns
The pixel size of transformed image.
Exceptions
Doesnot throw any exception.

This parameter is used if and only if pre-defined pixel size is used. Then this value is the (fixed) metric resolution of the calibrated image.

◆ PolyDegree()

std::uint32_t PolyDegree ( ) const
inlinenoexcept

Gets a positive (or zero) integer value that defines the polynomial to be used.

See SetPolyDegree for details.

Returns
A positive (or zero) integer value that defines the polynomial to be used.
Exceptions
Doesnot throw any exception.

By now only PolyDegree that is equal to 3 is supported.

◆ PreDefinedPixelSizeMode()

Gets the decision if the calibrator uses predefined pixel size.

See SetPreDefinedPixelSizeMode for details.

Returns
The decision if it uses predefined pixel size.
Exceptions
Doesnot throw any exception.

◆ ScanDirection()

ScanDirection ScanDirection ( ) const
inlinenoexcept

Gets the scanning direction of camera.

Returns
The scanning direction of camera.
Exceptions
Doesnot throw any exception.

◆ SetMaxIterations()

void SetMaxIterations ( std::uint32_t  maxIterations)
inlinenoexcept

Sets number of maximal iterations for all nonlinear solvers in the calibration algorithm.

For linescan calibration through polynomial this is used twice for finding the best polynomial to equalize the differences between edge points and to find the right feed-forward factor.

Parameters
[in]maxIterationsThe number of maximal iterations for all non linear solvers in the calibration algorithm.
Exceptions
Doesnot throw any exception.

◆ SetPixelSize()

void SetPixelSize ( double  pixelSize)
inlinenoexcept

Sets the pixel size of transformed image.

This value will only be considered, if PreDefinedPixelSizeMode is set to PreDefinedPixelSizeMode::Use. The pixel size of the transformed image will be equal to pixelSize. It must have the same units as referenceDistanceCalibrationPoints and referenceWidthStripes specified in CreateLineScanCalibration.

Parameters
[in]pixelSizeThe pixel size of transformed image.
Exceptions
Doesnot throw any exception.

◆ SetPolyDegree()

void SetPolyDegree ( std::uint32_t  polyDegree)
inlinenoexcept

Sets a positive (or zero) integer value that defines the polynomial to be used.

Note, that currently only a polynomial of degree 3 is supported.

Parameters
[in]polyDegreeA positive (or zero) integer value that defines the polynomial to be used.
Exceptions
Doesnot throw any exception.

◆ SetPreDefinedPixelSizeMode()

void SetPreDefinedPixelSizeMode ( Foundation::CalibrationLineScan::PreDefinedPixelSizeMode  preDefinedPixelSize)
inlinenoexcept

Sets the decision if predefined pixel size needs to be used.

If this value is set to PreDefinedPixelSizeMode::Use, the transformed image will have a fixed pixel size. The desired pixel size has to be set with SetPixelSize.

Parameters
[in]preDefinedPixelSizeThe decision if predefined pixel size needs to be used.
Exceptions
Doesnot throw any exception.

◆ SetScanDirection()

void SetScanDirection ( Foundation::CalibrationLineScan::ScanDirection  scanDirection)
inlinenoexcept

Sets the scanning direction of camera.

Parameters
[in]scanDirectionThe scanning direction of camera.
Exceptions
Doesnot throw any exception.

◆ SetTolerance()

void SetTolerance ( double  tolerance)
inlinenoexcept

Sets the value for early stopping criteria.

Value that is used for stopping criteria in the nonlinear solvers.

Parameters
[in]toleranceThe value for early stopping criteria.
Exceptions
Doesnot throw any exception.

◆ Tolerance()

double Tolerance ( ) const
inlinenoexcept

Gets the value for early stopping criteria.

See SetTolerance for details.

Returns
The value for early stopping criteria.
Exceptions
Doesnot throw any exception.