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

Detailed Description

The extrinsic calibration class.

Inherits Rx::LFR::CParametersPimpl< CExtrinsicCalibration_Impl, Params::EExtrinsicCalib::ID, Interfaces::EExtrinsicCalib::ID >.

Public Types

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

Public Member Functions

 CExtrinsicCalibration ()
 Default constructor. More...
 
 CExtrinsicCalibration (CExtrinsicCalibration &&xExtrinsicCalibration)
 Move constructor. More...
 
 ~CExtrinsicCalibration ()
 Destructor. More...
 
bool Calibrate (CRxArrayDouble &adExtrinsicTransformation, const CRxImage &xTotalFocusImage, const CRxImage &xDepthMapImage)
 Executes the calibration procedure. More...
 
int DetectArucoMarkers (const CCalibration &xCalibration, const CRxImage &xTotalFocusImage, const CRxImage &xDepthMapImage)
 Detect aruco markers and calculate the corresponding coordinate system for every marker. More...
 
void Free ()
 Frees data stored in extrinsic calibration subsystem. More...
 
CExtrinsicCalibration_Impl & GetImpl ()
 Gets the non constant implementation. More...
 
const CExtrinsicCalibration_Impl & GetImpl () const
 Gets the constant implementation. More...
 
void * GetInterface (Interfaces::EExtrinsicCalib::ID eInterface)
 Gets the interface defined by the given interface ID. More...
 
TInterface * GetInterface (Interfaces::EExtrinsicCalib::ID eInterface)
 Gets the interface defined by the given interface ID. More...
 
const void * GetInterface (Interfaces::EExtrinsicCalib::ID eInterface) const
 Gets the interface defined by the given interface ID. More...
 
const TInterface * GetInterface (Interfaces::EExtrinsicCalib::ID eInterface) const
 Gets the interface defined by the given interface ID. More...
 
void GetLines (CRxArray2DDouble &adLines)
 Gets the lines representing the computed coordinate systems for the found markers. The resulting array is structured in the following way for every found marker (first dimension): More...
 
CParameters< Params::EExtrinsicCalib::ID > & GetParams ()
 
const CParameters< Params::EExtrinsicCalib::ID > & GetParams () const
 
bool HasInterface (Interfaces::EExtrinsicCalib::ID eInterface)
 Queries if this object has the given interface. More...
 
void Initialize ()
 Initializes this object. More...
 

Member Typedef Documentation

◆ EnumInterfaceType

◆ EnumType

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

Constructor & Destructor Documentation

◆ CExtrinsicCalibration() [1/2]

Rx::LFR::CExtrinsicCalibration::CExtrinsicCalibration ( )

Default constructor.

◆ CExtrinsicCalibration() [2/2]

Rx::LFR::CExtrinsicCalibration::CExtrinsicCalibration ( CExtrinsicCalibration &&  xExtrinsicCalibration)

Move constructor.

Parameters
xExtrinsicCalibration[in,out] The extrinsic calibration.

◆ ~CExtrinsicCalibration()

Rx::LFR::CExtrinsicCalibration::~CExtrinsicCalibration ( )

Destructor.

Member Function Documentation

◆ Calibrate()

bool Rx::LFR::CExtrinsicCalibration::Calibrate ( CRxArrayDouble adExtrinsicTransformation,
const CRxImage xTotalFocusImage,
const CRxImage xDepthMapImage 
)

Executes the calibration procedure.

Parameters
adExtrinsicTransformation[out] The extrinsic transformation.
xTotalFocusImageThe total focus image.
xDepthMapImageThe depth map image.
Returns
True if it succeeds, false if it fails.

◆ DetectArucoMarkers()

int Rx::LFR::CExtrinsicCalibration::DetectArucoMarkers ( const CCalibration xCalibration,
const CRxImage xTotalFocusImage,
const CRxImage xDepthMapImage 
)

Detect aruco markers and calculate the corresponding coordinate system for every marker.

Attention
This system expects the calibration to be not extrinsically calibrated yet. This means There can be no translation and no rotation set.
Parameters
xCalibrationThe calibration.
xTotalFocusImageThe total focus image.
xDepthMapImageThe depth map image.
Returns
The number of markers found.

◆ Free()

void Rx::LFR::CExtrinsicCalibration::Free ( )

Frees data stored in extrinsic calibration subsystem.

◆ GetImpl() [1/2]

CExtrinsicCalibration_Impl & Rx::LFR::CPimpl< CExtrinsicCalibration_Impl , Interfaces::EExtrinsicCalib::ID >::GetImpl
inlineinherited

Gets the non constant implementation.

Returns
The implementation.

◆ GetImpl() [2/2]

const CExtrinsicCalibration_Impl & Rx::LFR::CPimpl< CExtrinsicCalibration_Impl , Interfaces::EExtrinsicCalib::ID >::GetImpl
inlineinherited

Gets the constant implementation.

Returns
The implementation.

◆ GetInterface() [1/4]

void* Rx::LFR::CPimpl< CExtrinsicCalibration_Impl , Interfaces::EExtrinsicCalib::ID >::GetInterface ( Interfaces::EExtrinsicCalib::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< CExtrinsicCalibration_Impl , Interfaces::EExtrinsicCalib::ID >::GetInterface ( Interfaces::EExtrinsicCalib::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< CExtrinsicCalibration_Impl , Interfaces::EExtrinsicCalib::ID >::GetInterface ( Interfaces::EExtrinsicCalib::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< CExtrinsicCalibration_Impl , Interfaces::EExtrinsicCalib::ID >::GetInterface ( Interfaces::EExtrinsicCalib::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.

◆ GetLines()

void Rx::LFR::CExtrinsicCalibration::GetLines ( CRxArray2DDouble adLines)

Gets the lines representing the computed coordinate systems for the found markers. The resulting array is structured in the following way for every found marker (first dimension):

  • Coordinate Origin (x,y,z)
  • Direction vector X-Axis (x,y,z)
  • Direction vector Y-Axis (x,y,z)
  • Direction vector Z-Axis (x,y,z)
Attention
Before values can be retrieved, DetectArucoMarkers has to be executed.
Parameters
adLines[in,out] The lines.

◆ GetParams() [1/2]

◆ GetParams() [2/2]

◆ HasInterface()

bool Rx::LFR::CPimpl< CExtrinsicCalibration_Impl , Interfaces::EExtrinsicCalib::ID >::HasInterface ( Interfaces::EExtrinsicCalib::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.

◆ Initialize()

void Rx::LFR::CExtrinsicCalibration::Initialize ( )

Initializes this object.