SignPivotCalibration.h

Go to the documentation of this file.
00001 /*
00002  *
00003  * Program:   Slicer Image-Guided Navigator (The SIGN)
00004  * Module:    $RCSfile: SignPivotCalibration.h,v $
00005  */
00017 #ifndef _SIGNPIVOTCALIBRATION_H_
00018 #define _SIGNPIVOTCALIBRATION_H_
00019 
00020 #include <vector>
00021 #include "itkVersorRigid3DTransform.h"
00022 
00023 #include <SignDLL.h>
00024 
00025 typedef itk::Versor<double> QuaternionType;
00026 typedef itk::Vector<double> TranslationType;
00027 
00028 class SIGN_EXPORT SignPivotCalibration
00029 {
00030 public:
00031         SignPivotCalibration();
00032         ~SignPivotCalibration();
00033 
00034         unsigned int GetNumberOfSamples() const;
00035 
00039         void AddSample(std::vector<double> quat,std::vector<double> trans);
00041         void CalculateCalibration();
00042 
00044         void GetPivotPosition(double pos[3]);
00046         void GetTranslation(double trans[3]);
00048         double GetRMSE();
00049 
00050 private:
00051 
00052         double pivotPosition[3];
00053         itk::Vector<double> translation;
00054         double RMSE;
00055         bool validPivotCalibration;
00056 
00057         std::vector<QuaternionType> quaternionSampleCollection;
00058         std::vector<TranslationType> translationSampleCollection;
00059 };
00060 
00061 #endif

Generated on Mon Feb 26 12:11:16 2007 for TheSIGN by  doxygen 1.4.6