NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
mitkHandeyeCalibrate.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  NifTK: A software platform for medical image computing.
4 
5  Copyright (c) University College London (UCL). All rights reserved.
6 
7  This software is distributed WITHOUT ANY WARRANTY; without even
8  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  PURPOSE.
10 
11  See LICENSE.txt in the top level directory for details.
12 
13 =============================================================================*/
14 
15 #ifndef mitkHandeyeCalibrate_h
16 #define mitkHandeyeCalibrate_h
17 
18 #include "niftkOpenCVExports.h"
19 #include <string>
20 #include <itkObject.h>
21 #include <itkObjectFactory.h>
22 #include <mitkCommon.h>
23 #include <cv.h>
24 
25 namespace mitk {
26 
32 class NIFTKOPENCV_EXPORT HandeyeCalibrate : public itk::Object
33 {
34 
35 public:
36 
37  mitkClassMacroItkParent(HandeyeCalibrate, itk::Object)
38  itkNewMacro(HandeyeCalibrate)
39 
40 
45  std::vector<double> Calibrate (const std::string& TrackingFileDirectory,
46  const std::string& ExtrinsicFileDirectoryOrFile,
47  const std::string GroundTruthSolution = "");
48 
49  itkSetMacro(FlipTracking, bool);
50  itkSetMacro(FlipExtrinsic, bool);
51  itkSetMacro(SortByDistance, bool);
52  itkSetMacro(SortByAngle, bool);
53  itkSetMacro(DoGridToWorld, bool);
54  itkSetMacro(NumberCornersWidth, unsigned int);
55  itkSetMacro(NumberCornersHeight, unsigned int);
56  itkSetMacro(SquareSizeInMillimetres, double);
57  itkGetMacro(CameraToMarker, cv::Mat);
58  itkGetMacro(GridToWorld, cv::Mat);
59 
60  virtual void SetOutputDirectory(const std::string& outputDir);
61 
62 protected:
63 
65  virtual ~HandeyeCalibrate();
66 
67  HandeyeCalibrate(const HandeyeCalibrate&); // Purposefully not implemented.
68  HandeyeCalibrate& operator=(const HandeyeCalibrate&); // Purposefully not implemented.
69 
70  void WriteHandEye();
71 
77 
78  cv::Mat m_CameraToMarker; //the handeye matrix
79  cv::Mat m_GridToWorld; //the position of the calibration grid in world coordinates
81 
82  unsigned int m_NumberCornersWidth;
83  unsigned int m_NumberCornersHeight;
85 
86 private:
87 
88 
89 }; // end class
90 
91 } // end namespace
92 
93 #endif
unsigned int m_NumberCornersHeight
Definition: mitkHandeyeCalibrate.h:83
bool m_FlipExtrinsic
Definition: mitkHandeyeCalibrate.h:73
cv::Mat m_GridToWorld
Definition: mitkHandeyeCalibrate.h:79
Definition: ReceptorMemberCommandTest.cxx:25
std::string m_OutputDirectory
Definition: mitkHandeyeCalibrate.h:80
bool m_SortByAngle
Definition: mitkHandeyeCalibrate.h:75
double m_SquareSizeInMillimetres
Definition: mitkHandeyeCalibrate.h:84
#define NIFTKOPENCV_EXPORT
Definition: niftkSequentialCpuQds.h:27
bool m_FlipTracking
Definition: mitkHandeyeCalibrate.h:72
bool m_SortByDistance
Definition: mitkHandeyeCalibrate.h:74
bool m_DoGridToWorld
Definition: mitkHandeyeCalibrate.h:76
Definition: mitkHandeyeCalibrate.h:32
unsigned int m_NumberCornersWidth
Definition: mitkHandeyeCalibrate.h:82
GLsizei const GLcharARB ** string
Definition: glew.h:5194
cv::Mat m_CameraToMarker
Definition: mitkHandeyeCalibrate.h:78