NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Public Member Functions | Protected Member Functions | List of all members
niftk::HandeyeCalibrateUsingRegistration Class Reference

Computes hand-eye using registration. More...

Inheritance diagram for niftk::HandeyeCalibrateUsingRegistration:
Inheritance graph
[legend]
Collaboration diagram for niftk::HandeyeCalibrateUsingRegistration:
Collaboration graph
[legend]

Public Member Functions

 mitkClassMacroItkParent (HandeyeCalibrateUsingRegistration, itk::Object) static Pointer New()
 
void Calibrate (const std::string &modelInputFile, const std::string &modelTrackingDirectory, const std::string &cameraPointsDirectory, const std::string &handTrackingDirectory, const double &distanceThreshold, const double &fiducialRegistrationThreshold, const std::string &outputMatrixFile)
 Calibration function that computes a hand-eye matrix using registration. More...
 
void Calibrate (const mitk::PointSet &modelPointSet, const std::vector< cv::Mat > &modelTrackingMatrices, const std::vector< cv::Mat > &handTrackingMatrices, const std::vector< mitk::PointSet::Pointer > &pointsInCameraSpace, const double &distanceThreshold, const double &fiducialRegistrationThreshold, vtkMatrix4x4 &outputMatrix)
 The actual calibration method. More...
 

Protected Member Functions

 HandeyeCalibrateUsingRegistration ()
 
virtual ~HandeyeCalibrateUsingRegistration ()
 
 HandeyeCalibrateUsingRegistration (const HandeyeCalibrateUsingRegistration &)
 
HandeyeCalibrateUsingRegistrationoperator= (const HandeyeCalibrateUsingRegistration &)
 

Detailed Description

Computes hand-eye using registration.

Constructor & Destructor Documentation

niftk::HandeyeCalibrateUsingRegistration::HandeyeCalibrateUsingRegistration ( )
protected
niftk::HandeyeCalibrateUsingRegistration::~HandeyeCalibrateUsingRegistration ( )
protectedvirtual
niftk::HandeyeCalibrateUsingRegistration::HandeyeCalibrateUsingRegistration ( const HandeyeCalibrateUsingRegistration )
protected

Member Function Documentation

void niftk::HandeyeCalibrateUsingRegistration::Calibrate ( const std::string modelInputFile,
const std::string modelTrackingDirectory,
const std::string cameraPointsDirectory,
const std::string handTrackingDirectory,
const double &  distanceThreshold,
const double &  fiducialRegistrationThreshold,
const std::string outputMatrixFile 
)

Calibration function that computes a hand-eye matrix using registration.

Parameters
modelInputFilea filename of an mitk::PointSet containing chessboard positions.
modelTrackingDirectoryif specified a directory containing tracking matrices of tracked chessboard, where all points in modelInputFile will be multiplied by these matrices to give coordinates in tracker (world) space.
cameraPointsDirectoryreconstructed chessboard points from the camera view.
distanceThresholdif the distance from the camera is >= this threshold then that view is ignored.
fiducialRegistrationThresholdif the FRE is >= this threshold, then that view is ignored.
outputMatrixFilethe output matrix relating tracker (hand) to camera (eye).

The number of matrices in modelTrackingDirectory must be zero (or the modelTrackingDirectory.length() == 0), or match the number of matrices in cameraPointsDirectory. It is up to whatever generated the matrices and points to make sure that they are all synchronised in time.

void niftk::HandeyeCalibrateUsingRegistration::Calibrate ( const mitk::PointSet &  modelPointSet,
const std::vector< cv::Mat > &  modelTrackingMatrices,
const std::vector< cv::Mat > &  handTrackingMatrices,
const std::vector< mitk::PointSet::Pointer > &  pointsInCameraSpace,
const double &  distanceThreshold,
const double &  fiducialRegistrationThreshold,
vtkMatrix4x4 &  outputMatrix 
)

The actual calibration method.

Parameters
modelPointSetrepresenting calibration object (chessboard)
trackingMatricesvector of 4x4 matrices, which should be empty, or the same length as pointsInCameraSpace.
pointsInCameraSpacevector of camera views of the chessboard, where points are in camera space.
distanceThresholdcamera views are rejected if the distance from the camera is >= distanceThreshold.
fiducialRegistrationThresholdcamera views are rejected if the FRE is >= fiducialRegistrationThreshold.
niftk::HandeyeCalibrateUsingRegistration::mitkClassMacroItkParent ( HandeyeCalibrateUsingRegistration  ,
itk::Object   
)
HandeyeCalibrateUsingRegistration& niftk::HandeyeCalibrateUsingRegistration::operator= ( const HandeyeCalibrateUsingRegistration )
protected

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