7 #ifndef __vtkPlusProbeCalibrationOptimizerAlgo_h 8 #define __vtkPlusProbeCalibrationOptimizerAlgo_h 10 #include "PlusConfigure.h" 12 #include "vtkObject.h" 18 class vtkXMLDataElement;
61 PlusStatus SetInputDataForMiddlePointMethod(std::vector< vnl_vector<double> > *calibrationMiddleWireIntersectionPointsPos_Image, std::vector< vnl_vector<double> > *calibrationMiddleWireIntersectionPointsPos_Probe, vnl_matrix_fixed<double,4,4> *imageToProbeTransformMatrix, std::set<int>* outliers);
64 PlusStatus SetOptimizerDataUsingNWires(std::vector< vnl_vector<double> > *calibrationAllWiresIntersectionPointsPos_Image, std::vector<PlusNWire> *nWires, std::vector< vnl_matrix_fixed<double,4,4> > *probeToPhantomTransforms, vnl_matrix_fixed<double,4,4> *imageToProbeTransformMatrix, std::set<int>* outliers);
69 void ComputeError(
const vnl_matrix_fixed<double,4,4> &imageToProbeTransformationMatrix,
double &errorMean,
double &errorStDev,
double &errorRms);
Refines the image to probe transform using non-linear optimization.
PlusStatus SetOptimizerDataUsingNWires(std::vector< vnl_vector< double > > *calibrationAllWiresIntersectionPointsPos_Image, std::vector< PlusNWire > *nWires, std::vector< vnl_matrix_fixed< double, 4, 4 > > *probeToPhantomTransforms, vnl_matrix_fixed< double, 4, 4 > *imageToProbeTransformMatrix, std::set< int > *outliers)
static const char * GetOptimizationMethodAsString(OptimizationMethodType type)
void SetIsotropicPixelSpacing(bool isotropicPixelSpacing)
PlusStatus SetInputDataForMiddlePointMethod(std::vector< vnl_vector< double > > *calibrationMiddleWireIntersectionPointsPos_Image, std::vector< vnl_vector< double > > *calibrationMiddleWireIntersectionPointsPos_Probe, vnl_matrix_fixed< double, 4, 4 > *imageToProbeTransformMatrix, std::set< int > *outliers)
void SetImageToProbeSeedTransform(const vnl_matrix_fixed< double, 4, 4 > &imageToProbeTransformMatrix)
void SetProbeCalibrationAlgo(vtkPlusProbeCalibrationAlgo *probeCalibrationAlgo)
vtkPlusProbeCalibrationOptimizerAlgo()
virtual ~vtkPlusProbeCalibrationOptimizerAlgo()
PlusStatus ShowTransformation(const vnl_matrix_fixed< double, 4, 4 > &transformationMatrix)
vnl_matrix_fixed< double, 4, 4 > GetOptimizedImageToProbeTransformMatrix()
OptimizationMethodType GetOptimizationMethod()
void ComputeError(const vnl_matrix_fixed< double, 4, 4 > &imageToProbeTransformationMatrix, double &errorMean, double &errorStDev, double &errorRms)
bool IsotropicPixelSpacing
vnl_matrix_fixed< double, 4, 4 > ImageToProbeTransformMatrix
void SetOptimizationMethod(OptimizationMethodType optimizationMethod)
static vtkPlusProbeCalibrationOptimizerAlgo * New()
vnl_matrix_fixed< double, 4, 4 > ImageToProbeSeedTransformMatrix
PlusStatus ReadConfiguration(vtkXMLDataElement *aConfig)
vtkPlusProbeCalibrationAlgo * ProbeCalibrationAlgo
OptimizationMethodType OptimizationMethod
Probe calibration algorithm class.
bool GetIsotropicPixelSpacing()