Raytrix Light Field SDK  5.0
Rx::LFR::CWavefrontCalibration Class Reference

Detailed Description

Provides methods to perform the wavefront calibration. In general a calibration would comprise:

  • Initialize the calibrator
  • Add images
  • Calibrate
  • Free

Inherits Rx::LFR::CParametersPimpl< CWavefrontCalibration_Impl, Params::EWavefrontCalibration::ID, Interfaces::EWavefrontCalibration::ID >.

Public Types

typedef Interfaces::EWavefrontCalibration::ID EnumInterfaceType
 
typedef Params::EWavefrontCalibration::ID EnumType
 The type of the parameter enum. Is used by managed wrapper classes. More...
 

Public Member Functions

 CWavefrontCalibration ()
 Default constructor. More...
 
 CWavefrontCalibration (CWavefrontCalibration &&xWavefrontCalibration)
 Move constructor. More...
 
 ~CWavefrontCalibration ()
 Destructor. More...
 
void AbortCalibration ()
 This will stop the calibration at the first possible position, which will lead to the best calibration result until then. More...
 
void AddImage (const CRxImage &xSrcImg, const CRxString &sComputeSettings)
 Adds an image. If more than one image is added to the calibration, they should all be the same regarding their orientation. Each image is added with their computation settings, which contains a possible ROI. More...
 
void AddStatusMessageCallback (TFuncStatusMsg pxCallback, void *pvContext)
 Adds the given status message callback function to the internal list of callbacks. More...
 
bool Calibrate (CCalibration &xCalib)
 Calibrates the Wavefront Parameters, the Aperture Dependent Matching Parameters and the MLA Residual Error Parameters. More...
 
void Free ()
 Frees this object. More...
 
double GetCalibrationResult (bool bVD)
 Gets calibration result. More...
 
CWavefrontCalibration_Impl & GetImpl ()
 Gets the non constant implementation. More...
 
const CWavefrontCalibration_Impl & GetImpl () const
 Gets the constant implementation. More...
 
void * GetInterface (Interfaces::EWavefrontCalibration::ID eInterface)
 Gets the interface defined by the given interface ID. More...
 
TInterface * GetInterface (Interfaces::EWavefrontCalibration::ID eInterface)
 Gets the interface defined by the given interface ID. More...
 
const void * GetInterface (Interfaces::EWavefrontCalibration::ID eInterface) const
 Gets the interface defined by the given interface ID. More...
 
const TInterface * GetInterface (Interfaces::EWavefrontCalibration::ID eInterface) const
 Gets the interface defined by the given interface ID. More...
 
CParameters< Params::EWavefrontCalibration::ID > & GetParams ()
 
const CParameters< Params::EWavefrontCalibration::ID > & GetParams () const
 
bool HasInterface (Interfaces::EWavefrontCalibration::ID eInterface)
 Queries if this object has the given interface. More...
 
void Init ()
 Initializes this object. More...
 
void RemoveStatusMessageCallback (TFuncStatusMsg pxCallback)
 Removes the given status message callback function. More...
 

Member Typedef Documentation

◆ EnumInterfaceType

◆ EnumType

The type of the parameter enum. Is used by managed wrapper classes.

Constructor & Destructor Documentation

◆ CWavefrontCalibration() [1/2]

Rx::LFR::CWavefrontCalibration::CWavefrontCalibration ( )

Default constructor.

◆ CWavefrontCalibration() [2/2]

Rx::LFR::CWavefrontCalibration::CWavefrontCalibration ( CWavefrontCalibration &&  xWavefrontCalibration)

Move constructor.

Parameters
xWavefrontCalibration[in,out] The wavefront calibration.

◆ ~CWavefrontCalibration()

Rx::LFR::CWavefrontCalibration::~CWavefrontCalibration ( )

Destructor.

Member Function Documentation

◆ AbortCalibration()

void Rx::LFR::CWavefrontCalibration::AbortCalibration ( )

This will stop the calibration at the first possible position, which will lead to the best calibration result until then.

◆ AddImage()

void Rx::LFR::CWavefrontCalibration::AddImage ( const CRxImage xSrcImg,
const CRxString sComputeSettings 
)

Adds an image. If more than one image is added to the calibration, they should all be the same regarding their orientation. Each image is added with their computation settings, which contains a possible ROI.

Parameters
xSrcImgSource image.
sComputeSettingsThe compute settings.

◆ AddStatusMessageCallback()

void Rx::LFR::CWavefrontCalibration::AddStatusMessageCallback ( TFuncStatusMsg  pxCallback,
void *  pvContext 
)

Adds the given status message callback function to the internal list of callbacks.

Adding the same function pointer twice will only update the given context pointer. This prevents multiple adds of the same callback function.

Parameters
pxCallbackThe callback function.
pvContext[in] The callback context. Can be any pointer that is passed to the callback function.

◆ Calibrate()

bool Rx::LFR::CWavefrontCalibration::Calibrate ( CCalibration xCalib)

Calibrates the Wavefront Parameters, the Aperture Dependent Matching Parameters and the MLA Residual Error Parameters.

Parameters
xCalib[in,out] The calibration.
Returns
True if the calibration was a success, false if it fails.

◆ Free()

void Rx::LFR::CWavefrontCalibration::Free ( )

Frees this object.

◆ GetCalibrationResult()

double Rx::LFR::CWavefrontCalibration::GetCalibrationResult ( bool  bVD)

Gets calibration result.

Parameters
bVDTrue to get the VD error else the normalized residual will be returned.
Returns
The calibration result.

◆ GetImpl() [1/2]

CWavefrontCalibration_Impl & Rx::LFR::CPimpl< CWavefrontCalibration_Impl , Interfaces::EWavefrontCalibration::ID >::GetImpl
inlineinherited

Gets the non constant implementation.

Returns
The implementation.

◆ GetImpl() [2/2]

const CWavefrontCalibration_Impl & Rx::LFR::CPimpl< CWavefrontCalibration_Impl , Interfaces::EWavefrontCalibration::ID >::GetImpl
inlineinherited

Gets the constant implementation.

Returns
The implementation.

◆ GetInterface() [1/4]

void* Rx::LFR::CPimpl< CWavefrontCalibration_Impl , Interfaces::EWavefrontCalibration::ID >::GetInterface ( Interfaces::EWavefrontCalibration::ID  eInterface)
inherited

Gets the interface defined by the given interface ID.

Parameters
eInterface[in] The interface ID.
Returns
Null if it fails, else the interface.

◆ GetInterface() [2/4]

TInterface* Rx::LFR::CPimpl< CWavefrontCalibration_Impl , Interfaces::EWavefrontCalibration::ID >::GetInterface ( Interfaces::EWavefrontCalibration::ID  eInterface)
inlineinherited

Gets the interface defined by the given interface ID.

Template Parameters
TInterface[in] The interface type.
Parameters
eInterface[in] The interface.
Returns
Null if it fails, else the interface.

◆ GetInterface() [3/4]

const void* Rx::LFR::CPimpl< CWavefrontCalibration_Impl , Interfaces::EWavefrontCalibration::ID >::GetInterface ( Interfaces::EWavefrontCalibration::ID  eInterface) const
inherited

Gets the interface defined by the given interface ID.

Parameters
eInterface[in] The interface ID.
Returns
Null if it fails, else the interface.

◆ GetInterface() [4/4]

const TInterface* Rx::LFR::CPimpl< CWavefrontCalibration_Impl , Interfaces::EWavefrontCalibration::ID >::GetInterface ( Interfaces::EWavefrontCalibration::ID  eInterface) const
inlineinherited

Gets the interface defined by the given interface ID.

Template Parameters
TInterface[in] The interface type.
Parameters
eInterface[in] The interface ID.
Returns
Null if it fails, else the interface.

◆ GetParams() [1/2]

◆ GetParams() [2/2]

◆ HasInterface()

bool Rx::LFR::CPimpl< CWavefrontCalibration_Impl , Interfaces::EWavefrontCalibration::ID >::HasInterface ( Interfaces::EWavefrontCalibration::ID  eInterface)
inlineinherited

Queries if this object has the given interface.

Parameters
eInterface[in] The interface to query.
Returns
True if this class has the given interface, false if not.

◆ Init()

void Rx::LFR::CWavefrontCalibration::Init ( )

Initializes this object.

◆ RemoveStatusMessageCallback()

void Rx::LFR::CWavefrontCalibration::RemoveStatusMessageCallback ( TFuncStatusMsg  pxCallback)

Removes the given status message callback function.

Does nothing if the given function pointer has not been added to the list of callbacks.

Parameters
pxCallbackThe callback function to remove.