NifTK
16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
|
Computes hand-eye using registration. More...
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 &) | |
HandeyeCalibrateUsingRegistration & | operator= (const HandeyeCalibrateUsingRegistration &) |
Computes hand-eye using registration.
|
protected |
|
protectedvirtual |
|
protected |
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.
modelInputFile | a filename of an mitk::PointSet containing chessboard positions. |
modelTrackingDirectory | if 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. |
cameraPointsDirectory | reconstructed chessboard points from the camera view. |
distanceThreshold | if the distance from the camera is >= this threshold then that view is ignored. |
fiducialRegistrationThreshold | if the FRE is >= this threshold, then that view is ignored. |
outputMatrixFile | the 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.
modelPointSet | representing calibration object (chessboard) |
trackingMatrices | vector of 4x4 matrices, which should be empty, or the same length as pointsInCameraSpace. |
pointsInCameraSpace | vector of camera views of the chessboard, where points are in camera space. |
distanceThreshold | camera views are rejected if the distance from the camera is >= distanceThreshold. |
fiducialRegistrationThreshold | camera views are rejected if the FRE is >= fiducialRegistrationThreshold. |
niftk::HandeyeCalibrateUsingRegistration::mitkClassMacroItkParent | ( | HandeyeCalibrateUsingRegistration | , |
itk::Object | |||
) |
|
protected |