NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
niftkUltrasoundPointerBasedCalibration.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 niftkUltrasoundPointerBasedCalibration_h
16 #define niftkUltrasoundPointerBasedCalibration_h
17 
18 #include <niftkPointRegExports.h>
19 #include <vtkMatrix4x4.h>
20 #include <vtkSmartPointer.h>
21 #include <mitkPointSet.h>
22 #include <mitkOperation.h>
23 #include <itkObject.h>
24 #include <itkObjectFactoryBase.h>
25 
26 namespace niftk {
27 
32 class NIFTKPOINTREG_EXPORT UltrasoundPointerBasedCalibration : public itk::Object
33 {
34 public:
35 
36  mitkClassMacroItkParent(UltrasoundPointerBasedCalibration, itk::Object)
38 
39 
42  vtkSmartPointer<vtkMatrix4x4> GetCalibrationMatrix() const;
43 
47  vtkSmartPointer<vtkMatrix4x4> GetRigidBodyMatrix() const;
48 
52  vtkSmartPointer<vtkMatrix4x4> GetScalingMatrix() const;
53 
57  void SetSensorPoints(mitk::PointSet::Pointer points);
58 
62  void SetImagePoints(mitk::PointSet::Pointer points);
63 
71  double DoPointerBasedCalibration();
72 
73 protected:
74 
75  UltrasoundPointerBasedCalibration(); // Purposefully hidden.
76  virtual ~UltrasoundPointerBasedCalibration(); // Purposefully hidden.
77 
79  UltrasoundPointerBasedCalibration& operator=(const UltrasoundPointerBasedCalibration&); // Purposefully not impl.
80 
81 private:
82 
83  vtkSmartPointer<vtkMatrix4x4> m_ScalingMatrix;
84  vtkSmartPointer<vtkMatrix4x4> m_RigidBodyMatrix;
85  mitk::PointSet::Pointer m_UltrasoundImagePoints;
86  mitk::PointSet::Pointer m_SensorPoints;
87 }; // end class
88 
89 } // end namespace
90 
91 #endif
Calibrates an Ultrasound Probe using LM optimisation, as described in Muratore 2001.
Definition: niftkUltrasoundPointerBasedCalibration.h:32
GLuint GLdouble GLdouble GLint GLint const GLdouble * points
Definition: glew.h:3085
Definition: niftkExceptionObject.h:21